CPU Scheduling
1. CPU and I/O Bursts in Program Execution
2. CPU-burst Time Distribution
Need for CPU Scheduling
3. Process Characteristic Classification
(1) CPU-bound process
(2) I/O-bound process
4. CPU Scheduler & Dispatcher
(1) CPU Scheduler
(2) Dispatcher
(3) Cases where CPU Scheduling is Needed
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)
Example
Features
Convoy effect
(2) SJF (Shortest-Job-First)
Example
Features
SJF is optimal
Allocate CPU to process with High Priority
Two schemes
(3) SJF Disadvantages
Starvation occurs
Prediction of Next CPU Burst Time
7. Priority Scheduling
Features
Problems
Solutions
8. Round Robin
Features
Performance
9. Multilevel Queue
(1) Divide ready queue into multiple
(2) Each queue has independent scheduling algorithm
(3) Fixed priority scheduling
(4) Time slice
10. Multilevel Feedback Queue
(1) Features
(2) Parameters defining Multilevel Feedback Queue Scheduler
11. Example of Multilevel Feedback Queue
(1) Three queues
(2) Scheduling
12. Multiple-Processor Scheduling
(1) In case of Homogeneous processor
(2) Load Sharing
(3) Symmetric Multiprocessing (SMP)
(4) Asymmetric Multiprocessing
13. CPU Scheduling in Special Cases
(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) Why Global Scheduling is Efficient in Multiprocessor Systems
a. Flexibility in Resource Distribution
b. Efficient Load Balancing
c. Optimization of Parallel Processing
d. Deadlock and Starvation State Management
e. Maintaining Synchronization and Consistency
16. Algorithm Evaluation
(1) Queueing models
(2) Implementation and Measurement
(3) Simulation
Last updated