운영체제

현대 OS의 스케줄링

실제 운영체제의 스케줄러는 단순한 FIFO, SJF, Round Robin 표를 그대로 옮긴 구현이 아닙니다. 수천 개의 실행 단위와 여러 코어 사이에서 공정성, 응답성, cache locality, 우선순위 반전을 함께 조정하는 엔지니어링 계층입니다.

vruntime, 우선순위, 레드-블랙 트리 선택 기준을 바탕으로 현대 스케줄러가 공정성을 맞추는 방식을 봅니다.

1

Linux CFS

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

CFS(Completely Fair Scheduler)
2

Windows 스케줄러

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

완전히 공정한
3

멀티코어 스케줄링

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

이상적인 멀티태스킹 CPU