Zettelkasten

CPU 스케줄링 방식의 naive한 구현 FIFO, SJF,

·수정 2026.04.23·수정 3

요약

  • CPU 스케줄링과 관련된 Naive한 구현에는 FIFO, SJF, 최소 잔여시간 우선

본문

  • 워크로드에 대한 가정
    1. 모든 작업은 같은 시간동안 실행된다.
    2. 모든 작업은 동시에 도착한다.
    3. 각 작업은 완료될 때까지 실행된다.
    4. 모든 작업은 CPU만 사용한다.
    5. 각 작업의 실행시간은 사전에 알려져 있다.
    • 비현실적이긴하지만 논의하는데는 문제가 없음
  • 스케줄링 평가항목
    • 반환시간: 작업이 완료된 시각에서 작업이 시스템에 도착한 시각을 뺀 시간
    • 반환시간은 성능 측면에서의 평가기준
    • 동시에 도착한다는 가정하에, 반환시간은 완료된 시각
  • 알고리즘
    1. 선입 선출(FIFO)
      • 앞쪽 작업이 길면 평균 반환시간이 안좋아짐(convoy effect)
    2. 최단 작업 우선(SJF, Shortest Job First)
      • FIFO의 문제를 해결했지만, 가정중에서 모든 작업이 동시에 도착하지 않는 경우 다시 FIFO같은 문제가 생김
        • A: 100, B:10 , C: 10, B와 C가 늦게 도착하는경우
    3. 최소 잔여시간 우선
      • 작업의 실행시간이 알려져 있기 때문에, 작업 종료까지 남은시간이 적은 순서대로 처리하면 최단 작업 우선에서 발생하는 문제를 해결할 수 있음

참고