CPU 스케줄링
1. CPU and I/O Bursts in Program Execution
2. CPU-burst Time의 분포
CPU 스케줄링의 필요성
3. Process의 특성 분류
(1) CPU-bound process
(2) I/O-bound process
4. CPU Scheduler & Dispatcher
(1) CPU 스케줄러
(2) Dispatcher
(3) CPU 스케줄링이 필요한 경우
5. Scheduling Criteria
(1) CPU Utilization (이용률)
(2) Throughput (처리량)
(3) Turnaround Time (소요 시간, 반환 시간)
(4) Waiting Time (대기 시간)
(5) Response Time (응답 시간)
6. Scheduling Algorithms
(1) FCFS(First-Come First-Served)
예시
특징
Convoy effect (호위 효과)
(2) SJF (Shortest-Job-First)
예시
특징
SJF is optional
High Priority를 가진 process에게 CPU 할당
Two schemes
(3) SJF의 단점
starvation 발생
다음 CPU Burst Time의 예측
7. Priority Scheduling
특징
문제점
해결책
8. Round Robin
특징
Performance
9. Multilevel Queue
(1) Ready queue를 여러 개로 분할
(2) 각 queue는 독립적인 스케줄링 알고리즘을 가짐
(3) Fixed priority scheduling
(4) Time slice
10. Multilevel Feedback Queue
(1) 특징
(2) Multilevel Feedback Queue Scheduler를 정의하는 파라미터들
11. Example of Multilevel Feedback Queue
(1) Three queues
(2) Scheduling
12. Multiple-Processor Scheduling
(1) Homogeneous processor인 경우
(2) Load Sharing
(3) Symmetric Multiprocessing (SMP)
(4) Asymmetric Multiprocessing
13. 특수한 경우의 CPU 스케줄링
(1) Load Balancing
(2) SMP (Symmetric Multiprocessing)
(3) ASMP (Asymmetric Multiprocessing)
14. Real-Time Scheduling
(1) Hard real-time systems
(2) Soft real-time computing
15. Thread Scheduling
(1) Thread
(2) Local Scheduling
(3) Global Scheduling
(4) Global Scheduling이 멀티 프로세서 시스템에서 효율적인 이유
a. 자원 분배의 유연성
b. 효율적인 로드 밸런싱
c. 병렬 처리의 최적화
d. 데드락 및 기아 상태 관리
e. 동기화와 일관성 유지
16. Algorithm Evaluation
(1) Queueing models
(2) Implementaion and Measurement
(3) Simulation
Last updated