Het besturingssysteem deelt de CPU in een multitaskingsysteem via een techniek die contextwisseling wordt genoemd. Contextwisseling houdt in dat de status van een lopend proces tijdelijk in het geheugen wordt opgeslagen en vervolgens de status van een ander proces in de CPU wordt geladen. Hierdoor kan de CPU snel schakelen tussen meerdere processen, waardoor het lijkt alsof ze tegelijkertijd draaien.
Het besturingssysteem gebruikt verschillende algoritmen om te bepalen welk proces vervolgens moet worden uitgevoerd. Veel voorkomende algoritmen zijn onder meer:
- Round Robin: Aan elk proces wordt een tijdsegment toegewezen, en de CPU wordt toegewezen aan het volgende proces in de wachtrij wanneer het tijdsegment afloopt.
- Op prioriteit gebaseerd: Processen krijgen een prioriteit toegewezen op basis van hun belang. Processen met een hogere prioriteit krijgen meer CPU-tijd dan processen met een lagere prioriteit.
- Kortste baan eerst: Het proces met de kortst verwachte uitvoeringstijd krijgt voorrang.
- Wie het eerst komt, het eerst maalt: Het proces dat het langst wacht, krijgt voorrang.
De keuze van het planningsalgoritme hangt af van de specifieke vereisten van het systeem. Naast contextwisseling gebruikt het besturingssysteem ook andere mechanismen om het delen van CPU-tijd in een multitasking-systeem te beheren. Deze mechanismen omvatten:
- Multithreading: Maakt het mogelijk dat meerdere threads tegelijkertijd binnen hetzelfde proces worden uitgevoerd.
- Symmetrische multiverwerking: Maakt het gelijktijdig gebruik van meerdere processors mogelijk.
- Procesisolatie: Houdt processen van elkaar gescheiden, zodat ze elkaar niet kunnen hinderen. |