소스 코드를 기록하는 남자

'Computer Science/OS'에 해당되는 글 1건

  1. [OS] Scheduler 알고리즘

[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 현상을 겪게 된다.