Scheduling
Scheduling (komt van schema) is een belangrijk concept in het ontwerp van multitasking en multiprocessing besturingssystemen, en in het ontwerp van een real-time besturingssysteem. Het verwijst naar de manier waarop processen prioriteiten worden gegeven in een prioriteit-wachtrij. Deze taak wordt uitgevoerd door software bekend onder de naam scheduler.
Bij besturingssystemen zonder specifiek doel is het doel van de scheduler de processor belasting te balanceren en het voorkomen dat één proces alle cpu tijd gebruikt, of juist geen cpu tijd krijgt. In real-time omgevingen, zoals bijvoorbeeld 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.
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 kennnen ook een ingebouwd scheduling mechanisme.