[OS] Scheduler 알고리즘
Computer Science/OS긴 포스팅은 머릿속에 들어오지 않습니다. 짧고 굵게 갑니다.
스케줄링 알고리즘은 크게 2 분류가 있습니다.
비선점, 선점
비선점
비선점 (Non-preemptive)
: 프로세스가 CPU에 할당되면 그 프로세스가 종료되거나 대기 중 상태로 전환될 때까지 CPU를 점유
대표적인 알고리즘 : FCFS, SJF
장점 | 단점 |
1. 모든 프로세스에 대해 공정한 처리가 가능하다. 2. 프로세스 간의 오버헤드가 적다 3. 응답시간의 예측이 편하며, 일괄 처리 방식에 적합하다. |
1. 긴 작업이 짧은 작업을 오래동안 기다리게 만드는 경우가 생긴다. 2. 중요 작업을 먼저 처리할 수 없다. |
선점
선점 (Preemptive)
: 어떤 조건이 만족되면 현재 실행 중인 프로세스의 의사와 상관없이 그것의 실행을 중단하고 다른 프로세스를 CPU에 할당
대표적인 알고리즘 : SRTF, RR, Priority Scheduling, Multi-level Scheduling
장점 | 단점 |
1. 높은 우선 순위를 가지는 프로세스들을 빠르게 처리할 수 있다. 2. 빠른 응답 시간을 요구하는 시스템에 용이하다. |
1. 프로세스 간의 Context Switch가 자주 발생한다. 2. 우선순위가 낮은 프로세스는 starvation 현상을 겪게 된다. |