운영체제

현대 OS의 스케줄링

이론적인 알고리즘을 넘어, 실제 운영체제가 어떻게 스케줄링을 구현하는지 살펴보겠습니다. 수천 개의 프로세스와 수십 개의 코어를 다루는 현대 OS의 스케줄러는, 교과서의 알고리즘을 그대로 구현한 것이 아니라 수십 년간의 실전 경험과 벤치마크를 통해 발전한 정교한 엔지니어링의 결과물입니다.

vruntime — 핵심 메커니즘와 레드-블랙 트리를 중심으로 현대 OS의 스케줄링의 판단 흐름을 읽습니다.

1

Linux CFS (Completely Fair...

Linux 2.6.23(2007년)부터 기본 스케줄러로 사용되는 CFS(Completely Fair Scheduler)는 Ingo Molnár가 설계했습니다.

CFS(Completely Fair Scheduler)
2

Windows 스케줄러

Windows는 우선순위 기반 선점형 스케줄링을 사용합니다.

완전히 공정한
3

멀티코어 스케줄링

현대 시스템은 4~128개의 코어를 가집니다.

이상적인 멀티태스킹 CPU