Linux

[Linux] 프로세스 스케쥴링

Razelo 2026. 1. 17. 22:45

오늘 Linux CFS를 보면서 관련된 내용이 있어 아래 정리한다. 

 

프로세스 스케쥴링 종류에는 주로 두 가지가 있다. 

 

Preemtive Scheduling (선점형 스케쥴링)

- 스케쥴러가 강제로 CPU를 뺏어서 다른 프로세스에게 할당하는 방식이다. 

- Linux CFS (Completely Fair Scheduler)

- 현대 OS에서는 대부분 선점형을 쓴다고 보면 된다. 

 

Non-Preemtive Scheduling (비선점형 스케쥴링)

- 프로세스가 양보해야만 다른 프로세스에게 CPU가 할당되는 방식이다. (coorporative 협력 기반 방식이라고도 불린다)

- cooporative라고 불리는 이유는 CPU턴을 잡은 프로세스가 다른 프로세스에게 양보(yield)해야만 다른 프로세스에게 CPU턴이 가므로 양보 == 협력으로 보기 때문에 이렇게 부르는 거다. 

- 임베디드 RTOS 

- 초기 Unix 

- 단순 이벤트 Loop