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


CPU Scheduling

  • CPU scheduler selects a process from “Ready to run” queue
    • Scheduling decision
  • Allocates CPU to this process.
    • Dispatch
      • Context switching
  • Queue is maintained by PCB pointers
  • Pre-emptive scheduling
    • When a running process may be removed and put back in the “ready to run” queue.

When to Have CPU Scheduling

  • Process moves from running state to waiting state
    • Due to an I/O request
    • Due to a call to wait
  • Upon Process Termination
  • Expiration of time quota (preemptive)
  • Upon any other time when OS is called
    • Interrupts, System Calls