프로세스 스케줄링 - 2. FCFS, RR

김진한·2022년 5월 11일
0

운영체제(OS)

목록 보기
5/8

FCFS(First-Come-First-Service, 선착순)

  • Non-preemptive scheduling
  • 도착시간을 기준으로 한다(ready queue 기준). 먼저 도착한 프로세스를 먼저 처리한다.
  • 자원을 효율적으로 사용할 수 있다. 들어온대로 순서대로 처리해서 내보내기 때문에 불필요한 스케줄링 오버헤드가 없고, cpu가 계속 일을 할 수 있다.
  • FCFS는 Batch System에 적합하다. 왜냐면 Batch System은 빠른 응답보다는 일처리에 대한 성능이 중요하기 때문이다. 그러나 입력이 있을 때 빠르게 반응 해야 하는 interactive system에는 부적합하다. 왜냐면 하나의 수행시간이 긴 프로세스에 의해 다른 프로세스들이 긴 대기시간을 갖게 될 수 있기 때문이다. 이를 Convoy effect라고 한다.

RR(Round-Robin)

  • 도착시간(ready queue)을 기준으로 한다. 먼저 도착한 프로세스를 먼저 처리한다. 하지만 자원 사용 제한시간이(Time quantum) 있다. 프로세스는 할당된 시간이 지나면 자원을 반납한다. 특정 프로세스의 자원 독점(monopoly)을 방지하기 위함이다. 대신 Context switch overhead가 크다. 대화면, 시분할 시스템에 적합하다.
    RR에서는 Time quantum이 성능을 결정하는 핵심 요소다. Time quantum 값이 아주 큰 경우는 FCFS와 같다. 하지만 매우 작은 경우 사용자는 모든 프로세스가 동시에 실행되는 것 같이 느낀다. 왜냐하면 잠깐동안 작업을 수행하고, 다른 작업으로 이동하기 때문이다. 체감 프로세서 속도 = 실제 프로세서 성능의 1/n 이다. 그러나 Context switch overhead가 매우 높아진다.

0개의 댓글