In de context van besturingssystemen (OS) verwijst voorrang naar het vermogen van het besturingssysteem om een momenteel actief proces te onderbreken en over te schakelen naar een ander proces dat een hogere prioriteit heeft. Hierdoor kan het besturingssysteem ervoor zorgen dat kritieke taken en processen voorrang krijgen boven minder belangrijke, waardoor wordt voorkomen dat processen met een lage prioriteit de systeembronnen monopoliseren.
Wanneer een proces wordt ondermijnd, slaat het besturingssysteem de huidige status van het proces, zoals de registerwaarden, geheugenaanwijzers en programmateller, op in het geheugen. Vervolgens laadt het de opgeslagen status van het proces met hogere prioriteit en begint het uit te voeren. Het gepreëmpteerde proces wordt in een wachtstatus geplaatst totdat het later kan worden hervat.
Preemption is een cruciaal mechanisme in multitasking-besturingssystemen, waardoor meerdere processen gelijktijdig op één CPU kunnen worden uitgevoerd. Het zorgt ervoor dat geen enkel proces de CPU voor onbepaalde tijd kan bezetten, waardoor andere processen niet kunnen worden uitgevoerd. Dit maakt een eerlijkere toewijzing van middelen, een betere respons op gebruikersinvoer en een efficiënte uitvoering van tijdgevoelige taken mogelijk.
Voorkooprecht wordt vaak geïmplementeerd via hardware-interrupts of softwaregebaseerde timers. Wanneer er een interrupt optreedt, krijgt het besturingssysteem controle over de CPU en kan het van context wisselen, waarbij de status van het huidige proces wordt opgeslagen en de status van het proces met hogere prioriteit wordt geladen. Dit proces is doorgaans erg snel en verloopt naadloos zonder merkbare gevolgen voor de gebruiker.
Over het geheel genomen is preemption een essentieel kenmerk van besturingssystemen dat efficiënt multitasken, resourcebeheer en prioritering van processen mogelijk maakt, waardoor het systeem snel kan reageren op veranderingen in de werklast en gebruikerseisen. |