Scheduling Criteria

정하윤·2022년 8월 20일
0
post-custom-banner

FCFS(First-Come-First-Served)

Waiting time P1=0 P2 =24 P3=27

Average waiting time =(0+24+27)/3=17


Waiting time P1=6 P2 =0 P3=3

Average waiting time =(0+6+3)/3=3

이런식으로 먼저오는 프로세스 에게 CPU를 먼저 주면 비효율적일 수도 있다.

SJF(Shortest-Job-First)

  • 각 프로세스의 다음번 CPU burst time 을 가지고 스케쥴링에 활용

  • CPU burst time이 가장 짧은 프로세스를 제일 먼저 스케쥴

  • Two schemes

    -Nonpreemptive

  • 일단 CPU를 잡으면 이번 CPU burst가 완료될 때까지 CPU를 선점 당하지 않음

-Preemptive

  • 현재 수행중인 프로세스의 남은 burst time 보다 더짧은 CPU burst time을 가지는 새로운

프로세스가 도착하면 CPU를 빼앗김

  • 이 방법을 Shortest-Remaining-Time-First(SRTF)이라고도 부른다.

SJF is optimal

  • 주어진 프로세스들에 대해 minimum average waiting time을 보장

SJF(non-preemptive)


Average wating time =(0+6+3+7)/4=4

SJF(preemptive)

Average wating time =(9+1+0+2)/4=3

Round Robin(RR)

  • 각 프로세스는 동일한 크기와 할당 시간을 갖는다.
  • 할당 시간이 지나면 프로세스는 선점 당하고 ready queue의 제일 뒤에 가서 다시 줄을 선다.
  • n 개의 프로세스가 ready queue에 있고 할당 시간이 q time unit인 경우 각 프로세스는 최대 q time unit 단위로 CPU 시간의 1/n을 얻는다.
  • CPU의 사용시간이들이 들쑥날쑥할수록 좋고 동일할수록 별로이다.
  • Response time이 빨라지는다는 것이 주요한 장점이다
post-custom-banner

0개의 댓글