- SCHED_FIFO
-> Realtime first in first out
-SCHED_RR
-> Realtime round-robin- SCHED_OTHER
-> Standard round-robin time-sharing- SCHED_BATCH
-> Similar to SCHED_OTHER, but intended for batch execution- SCHED_IDLE
-> Similar to SCHED_OTHER, but with policy even lower than nice value +19
- 스레드가 어떤 CPU에서 동작할지 결정해 주는것
- 친화도가 설정되면, 해당 CPU에서만 동작하게 된다
- 커널 스레드 스케줄러의 축소형
- 스케줄링 정책에 따라 다음 스레드를 찾는다
- 다음 스레드를 못찾으면 현재 스레드를 돌려준다
- 다음 스레드가 있으면 context switching 한다
스케줄링 정책은 OS 마다 각각이 지닌 철학에 따라서 달라짐
- 스레드 변경을 위해서 커널 레벨에 들어가야 하는 상황
- 스케줄링에서 오버헤드가 발생
- 스케줄링 오버헤드를 감소하기 위한 방안
- 커널에서는 하나의 스레드라고 생각하는데 유저레벨에서 여러개의 스레드를 생성
- 유저 레벨 스레드의 스케쥴링을 최신언어에서는 모두 지원
- 이러한 방식을 Coroutine이라 함