대딩/운영체제
스케줄링_알고리즘_FCFS, SJF, SRTF, Priority Scheduling
경아ㅏ
2022. 5. 11. 16:23
scheduling algorithm
FCFS Scheduling (FIFO)
- First Come, First Served
- 도착한 순서대로 스케줄링 되는 방식
- 장점: 일반적으로, Non-preemptive 이며, 프로세스 간 fairness가 보장되어 Starvation 문제가 없음
- 단점: 수행시간이 긴 프로세스가 앞에 배치되면 average waiting time이 길어짐(Convoy effect)
SJF Scheduling
- Shortest Job First
- CPU burst time이 작은 순으로 스케줄링 되는 방식
- Non-preemtive
SRTF Scheduling
- Shortest Remaining Time First
- 남아있는 CPU burst time이 작은 순으로 스케줄링 되는 방식
- Preemptive SJF
- 장점: 최적의 average waiting time을 가짐
- 단점: CPU burst time를 예측하는 것은 거의 불가능하기 때문에 SJF, SRTF는 이상적인 방식
Priority Scheduling
- 가장 높은 우선순위를 가진 프로세스가 스케줄링 되는 방식
- 장점: 개발자가 우선순위를 커스터마이징 가능함
- 단점: Starvation이 발생할 수 있음(해결책: Aging - 프로세스의 waiting time이 길어질 때, 우선순위를 높여주는 방법)