Hoe wordt multithreading geïmplementeerd op een enkelprocessorsysteem met één kern?
sobes.tech AI
Antwoord van AI
In een enkelprocessorsysteem met één kern wordt multitasking gerealiseerd door het mechanisme van de taakplanner van het besturingssysteem, die snel de uitvoering tussen threads wisselt en zo de illusie van gelijktijdige werking creëert. Dit proces wordt coöperatief of preemptief multitasking genoemd.
De planner wijst elke thread een korte tijd (quantum) toe voor uitvoering, waarna hij overschakelt naar de volgende thread. Zo werkt, hoewel fysiek op elk moment slechts één thread actief is, de switch zo snel dat de gebruiker de werking als parallel ervaart.
Voorbeeld: op iOS wordt multitasking gerealiseerd via GCD (Grand Central Dispatch) of NSThread, die de systeemplanner gebruiken om de tijd tussen threads te verdelen.