프로세스 스케줄링

2020. 10. 6. 15:29CS 필기 노트/OS

반응형

프로세스 스케줄링 방식은 크게 선점, 비선점형 방식으로 나누어져 있다.

선점형은 일괄 처리 방식에, 비선점형은 실시간 시스템에 적합하다.

 

 

 

선점형 스케줄링

 

FIFO (선입선출)

먼저 입력된 작업을 먼저 처리하는 방식이다.

아무리 우선순위가 높더라도 먼저 들어온 작업부터 처리하므로 문제가 생길 수 있다.

 

SJF (short job first)

작업의 실행 시간 추정치가 가장 짧은 작업부터 처리하는 방식이다.

짧은 작업들을 우선 처리하게 되기 때문에 반환시간을 줄일 수 있다.

하지만 시간이 많이 소요되는 작업은 무한 연기될 수 있다는 단점이 있다.

 

HRN

SJF의 무한 연기 현상을 극복하기 위해 개발된 스케줄링 방법으로,

서비스 시간과 대기했던 시간을 동시에 고려하여 우선순위를 결정한다.

 

 

비선점형 스케줄링

 

라운드 로빈

여러 개의 프로세스에 시간 할당량이라는 작은 단위 시간이 정의되어 시간 할당량만큼 cpu를 사용하는 방식.

시분할 시스템을 위해 고안되었으며 모든 작업에게 평등하게 시간을 할당한다.

 

SRT

작업이 끝나기까지 남아있는 시간의 추정치중 가장 작은 프로세스를 먼저 실행하는 방식

 

다단계 큐

프로세스를 특정 그룹으로 분류하여 각기 다른 큐를 사용하는 방식.

우선순위가 높은 큐에 프로세스가 입력되면 cpu를 빼앗기므로 선점형이 된다.

 

다단계 피드백 큐

다단계 큐 방식을 준비 상태 큐 사이를 이동할 수 있도록 개선한 방식이다.

시간 할당량이 낮은 큐일수록 시간 할당량을 더 부여한다.

 마지막에선 라운드 로빈 방식으로 처리하게 된다.

반응형