본문 바로가기

CS/운영체제

CPU 스케줄링 알고리즘(비선점형, 선점형)

비선점형

비선점형은 하나의 프로세스가 끝나지 않으면 다른 프로세스는 CPU를 사용할 수 없다.

 

- FCFS : 가장 먼저 온 것을 가장 먼저 처리하는 알고리즘. ‘준비 큐에서 오래 기다리는 현상(convoy effect)’이 발생

 

- SJF : 실행 시간이 가장 짧은 프로세스를 가장 먼저 실행하는 알고리즘.긴 시간을 가진 프로세스가 실행되지 않는 현상(starvation)이 일어남.

 

- 우선순위 : SJF의 긴 시간을 가진 프로세스가 실행되지 않는 현상을 오래된 작업일수록 ‘우선순위를 높이는 방법(aging)’을 통해 단점을 보완한 알고리즘

 

선점형

선점형은 하나의 프로세스가 다른 프로세스 대신에 프로세서(CPU)를 차지할수 있다는 뜻이다.

 

- 라운드 로빈 : 현대 컴퓨터가 쓰는 스케줄링인 우선순위 스케줄링(priority scheduling)의 일종으로 각 프로세스는 동일한 할당 시간을 주고 그 시간 안에 끝나지 않으면 다시 준비 큐(ready queue)의 뒤로 가는 알고리즘

 

- SRF : SJF는 중간에 실행 시간이 더 짧은 작업이 들어와도 기존 짧은 작업을 모두 수행하고 그다음 짧은 작업을 이어나가는데, SRF는 중간에 더 짧은 작업이 들어오면 수행하던
프로세스를 중지하고 해당 프로세스를 수행하는 알고리즘

 

- 다단계 큐 : 우선순위에 따른 준비 큐를 여러 개 사용하고, 큐마다 라운드 로빈이나 FCFS 등 다른 스케줄링 알고리즘을 적용한 것을 말함.

 

 

 

출처 : 면접을 위한 CS 전공지식 노트

 

https://maxpulse.tistory.com/208

 

선점형(preemption), 비선점형(non-preemption) 스케쥴링

스케쥴링에서 대표적인 개념이다. 선점형/비선점형. 여러개의 프로세스가 동시에 돌아간다는 것은 실질적으로는 동시라기 보다는 시분할이라고 봐야한다. (물론 최근의 듀얼 코어 같은 경우에

maxpulse.tistory.com