Thread - SW/HW
- 하드웨어 스레드
- OS가 스케쥴 해줄 수 있는 최소 단위의 일
- 개수 : 동시 실행 가능한 스레드 개수
- 소프트웨어 스레드
- 소프트웨어 상에서
병렬적으로 task를 나누고 일을 할당할때 쓰임
Mutiple-Processor Scheduling
Load Balancing
각 프로세서가 균등하게 일을 분배해야한다
→ 각자 Ready-Queue를 지니고 있다
Push Migration
- 특정 task가 주기적으로 각 프로세서의 부하를 검사 → 불균형 상태인 경우, 스레드 이동을 통해 균형 유지
Pull Migration
- Idle상태의 프로세서(처리기)가 busy상태 프로세서(처리기)로부터 스레드를 가져옴
Real-Time CPU Scheduling
실시간 시스템 : 시장에서 끝나는 시간이 존재
반응이 실시간으로 일어나야한다 : 1초 반응해야하는 경우가 2초만에 응답시, 못한 것(실패)과 동일하다.
→ 어떻게 스케쥴링을 할 것인가?
Soft real-time systems
우선순위만 보장하면 됨
Hard real-time systems
우선순위도 보장하면서, 마감시간도 보장해야함 → 즉, Hard Real-time system을 염두에 두고 운영체제 내용을 학습
Event Latency