Wat is contextomschakeling?
Een van de grootste stappen voorwaarts in het ontwerp en de werking van centrale verwerkingseenheden (CPU's) kwam toen de ontwerpers van computerbesturingssystemen technieken ontwikkelden waarmee gebruikers konden multitasken. Multitasking met betrekking tot computers is het gebruik van twee of meer programma's tegelijkertijd. Vanuit het oogpunt van de eindgebruiker lijkt dit misschien niet ingewikkeld of vergezocht, maar het betekent eigenlijk een aanzienlijke sprong voorwaarts in het systeemontwerp. Bij multitasking moet de CPU met alle bewerkingen voor de verschillende actieve programma's jongleren en met elk programma opnemen waar de gebruiker heen en weer schakelt. Context switching is het proces waarmee de CPU de status van verschillende actieve programma's kan onthouden en herstellen, waardoor deze jongleeractie kan worden voltooid.
Tijdens contextomschakeling laat de CPU het programma vallen dat hij momenteel afhandelt en slaat de specifieke plaats op waar hij zich in dat programma bevond, zodat hij zijn voortgang later kan hervatten. Om dat in perspectief te plaatsen, is contextomzetting een beetje zoals het lezen van meerdere boeken tegelijkertijd, constant heen en weer schakelen tussen hen, terwijl we altijd de paginanummers voor elk onthouden. De "paginanummering" -informatie voor programma's tijdens een contextomschakelbewerking wordt vastgehouden door het procesbesturingsblok (PCB). De PCB wordt ook wel het "schakelframe" genoemd. Deze informatie wordt opgeslagen in het geheugen binnen de daadwerkelijke CPU, totdat deze opnieuw nodig is.
Het omschakelen van context vindt plaats tijdens drie mogelijke situaties: afhandeling van onderbrekingen, multitasking en schakelen tussen gebruikers. Bij het afhandelen van interrupts "onderbreekt" een ander programma het huidige programma terwijl het actief is. Zodra de CPU de interrupt ontvangt, voert deze een contextschakelaar uit om te jongleren tussen het actieve programma en het programma dat onmiddellijke gegevens opvraagt. Bij multitasking draait de CPU heen en weer tussen de programma's, waardoor elk een tijdsbestek van verwerkingstijd krijgt en een contextomschakelingsbewerking wordt uitgevoerd om tussen de twee te wisselen. Voor sommige besturingssystemen wordt ook een context-schakelaar uitgevoerd tijdens een gebruikersschakelaar voor het besturingssysteem, hoewel dit niet uitdrukkelijk vereist is.
Het besturingssysteem of de hardware van de computer kan contextomschakeling regelen. Sommige moderne besturingssystemen en zijn ontworpen om contextomschakeling via het besturingssysteem zelf te regelen, waarbij eventuele ingebouwde hardware-ondersteuning voor de procedure wordt genegeerd. Hierdoor kan het besturingssysteem meer informatie opslaan tijdens een context-switch, waardoor het meer informatie over de switch kan behouden.