[OS]Basic Scheduling algorithms

FCFS(First-Come-First-Service)

  • Non-preemptive scheduling
  • Scheduling criteria
    • ready queue
  • High resource utilization
    • Low scheduling overhead
  • Good for Batch system, Not good for interactive system
  • Weakness
    • Convoy effect
    • long response time

RR(Round-Robin)

  • Preemptive scheduling
  • Scheduling criteria
    • ready queue
  • Time quantum
    • System parameter
    • Timer-runout
    • Anti-monopoly
    • High context switch overhead
  • Good for interactive system

SPN (Shortest-Process-Next)

  • Non-preemptive scheduling
  • Scheduling criteria
    • burst time
      • SJF(Shortest Job First) scheduling

SRTN(Shortest Remaining Time Next)

  • Preemptive scheduling
  • Context switching overhead

HRRN(High-REsponse-Ratio-Next)

  • SPN + Aging concepts, Non-preemptive scheduling
  • Aging concepts
  • Scheduing criteria
    • Response ratio = (WT + BT) / BT

MLQ(Multi-level Queue)

  • Have a ready queue for each Job (or Priority)
    • Can’t get out of assigned queue
  • Weakness
    • overhead
    • Low priority queue starvation

MFQ(Multi-level Feedback Queue)

  • Allow process to move between Queue
  • Dynamic priority
  • Preemptive scheduling
  • Favor short burst-time processes
  • Favor I/O bounded processes
  • Improve adaptability

Reference

Process Scheduling