📌 Scheduling Algorithms
• FCFS (First-Come First-Served)
• SJF (Shortest-Job-First)
• SRTF (Shortest-Remaining-Time-First)
• Priority Scheduling
• RR (Round Robin)
• Multilevel Queue
• Multilevel Feedback Queue
1. FCFS (First-Come First-Served)
◎ FCFS : nonpreemptive
◎ Convoy effect : short process behind long process
2. 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을 보장
♦️ 다음 CPU Burst Time의 예측
다음번 CPU burst time을 어떻게 알 수 있는가?
추정만이 가능하다
과거의 CPU burst time을 이용해서 추정 (exponential averaging)
(직전 것을 더 많이 반영, 그 전꺼는 점점 더 적게 반영한다)
3. Priority Scheduling
• highest priority를 가진 프로세스에게 CPU 할당 (smallest integer = highest priority)
✓ Preemptive
✓ Nonpreemptive
• SJF는 일종의 priority scheduling이다 (priority = predicted next CPU burst time)
• Problem
✓ Starvation : never execute
• Solution
✓ Aging : as time progresses increase the priority of the process
4. Round Robin (RR)
각 프로세스는 동일한 크기의 할당시간을 가지고 그 시간이 지나면 선점당하고 ready queue의 제일 뒤에 가서 다시 줄을 선다
n개의 프로세스, q의 할당 시간인 경우, 어떤 프로세스도 (n-1)q 이상 기다리지 않는다
• q large → FCFS와 같다
• q small → context switch 오버헤드가 커진다
📌 일반적으로 SJF보다 average turnaround time이 길지만 response time은 더 짧다
'운영체제 (이화여대 반효경)' 카테고리의 다른 글
운영체제 강의 16 (0) | 2021.07.14 |
---|---|
운영체제 강의 15 (0) | 2021.07.14 |
운영체제 강의 13 (0) | 2021.07.14 |
운영체제 강의 12 (0) | 2021.07.13 |
운영체제 강의 11 (0) | 2021.07.13 |