Module 19: Multi-core computing Operating Systems
  Lecture 37: Multi-core computing CPU Scheduling
 


Scheduling Criteria

  • CPU Utilization (System centric)
    • Keep CPU as much busy as possible
  • Throughput (System centric)
    • Number of processes completed/time
  • Turnaround time (Process centric)
    • Real time taken to complete a process
  • Waiting time (Process centric)
    • How much time a process is in ready queue
  • Response time (Process centric)
    • Factor for an interactive process
  • Deadline (Real time behavior)
    • Time guarantee to schedule a task.

Scheduling Algorithms

  • First Come First Serve (FCFS)
    • Simplest implementation
    • No preemption
  • Shortest Job First (SJF)
    • Optimal scheduling algorithm
    • Minimum Average Waiting Time
    • Difficulty: To know the time that it will take
    • Batch systems: A good choice.