Scheduling algorithm classification

Dynamic


  • make scheduling decision at run-time
  • flexible to adapt
  • considers only actual task requests and execution time parameters
  • large run-time overhead finding a schedule

Static


  • make schedule decisions at off-line(also called pre-run-time)
  • generates a dispatching table for run-time dispatcher at compile time
  • needs complete knowledge of task before compiling
  • small run-time overhead

Preemptive


  • currently executing tasks may be interrupted(preempted) by higher priority processes
  • the preempted process continues later at the same state
  • potential frequent contexts switching
  • useless for disk and network cards

Non-preemptive


  • running tasks will be allowed to finish its time-slot(higher priority processes must wait)
  • reasonable for short tasks like sending a packet (used by disk and network cards)
  • less frequent switches


References

  • http://slideplayer.com/slide/8772194/

댓글