Scheduling

Scheduling is de manier waarop processen prioriteiten worden gegeven in een prioriteitenwachtrij van multitasking- en multiprocessingbesturingssystemen en in het ontwerp van een realtimebesturingssysteem. Deze taak wordt uitgevoerd door software die bekendstaat als een scheduler of CPU scheduler.

De processor (CPU) moet regelmatig lange tijd wachten op in- en uitvoer. Tijdens deze wachttijd kan dan een deel van een ander proces uitgevoerd worden. Om te bepalen welk proces uitgevoerd mag worden, wordt een scheduler gebruikt. De scheduler moet de processorbelasting balanceren en voorkomen dat één proces alle CPU-tijd gebruikt, of juist geen CPU-tijd krijgt. In realtimeomgevingen, zoals industriële robots, zorgt de scheduler er ook voor dat processen zich aan hun deadline kunnen houden; dit is cruciaal om het systeem stabiel te houden.

Er bestaan verschillende methoden om scheduling te implementeren. Deze kunnen in twee groepen ingedeeld worden:

  • preemptive scheduling: de processen worden onderbroken tijdens hun uitvoer zodat de scheduler een ander proces kan hervatten. De processen kunnen onderbroken worden
  • non-preemptive: de scheduler kan pas een ander proces starten nadat het huidige proces klaar is. De processen kunnen niet onderbroken worden

De term scheduler wordt ook gebruikt als benaming voor een programma dat op gezette tijden andere programma's start. Een voorbeeld hiervan is het programma cron in Unix-achtige besturingssystemen. Scheduling met cron gebeurt op een enkele machine. Scheduling op meerdere machines kan met Cronacle van Redwood, AutoSys van Computer Associates of Tivoli Workload Scheduler van IBM.

Databases zoals Oracle en MySQL kennen ook een ingebouwd schedulingmechanisme.


From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy