Geen enkele CPU-functie zorgt ervoor dat een microprocessor direct meerdere besturingssystemen *tegelijkertijd* kan uitvoeren op de manier die sommigen intuïtief zouden kunnen begrijpen (zoals echte parallelle uitvoering van OS-kernels). In plaats daarvan is het een combinatie van functies en technieken die de *schijn* van gelijktijdige uitvoering mogelijk maken. De belangrijkste kenmerken zijn:
* Virtualisatie-ondersteuning (bijv. Intel VT-x, AMD-V): Dit is het meest cruciale kenmerk. Hiermee kan de CPU geïsoleerde virtuele machines (VM's) creëren. Elke VM heeft zijn eigen gevirtualiseerde hardwarebronnen (CPU, geheugen, I/O) en kan een afzonderlijk besturingssysteem draaien. De CPU schakelt snel tussen deze VM's, waardoor de illusie ontstaat van gelijktijdige uitvoering. Dit is geen waar parallellisme op het kernelniveau van het besturingssysteem; het is snelle contextwisseling.
* Geheugenbeheereenheid (MMU): De MMU is essentieel voor zowel virtualisatie als algemene multitasking. Het wijst virtuele adressen die door elk besturingssysteem en elke applicatie worden gebruikt, toe aan fysieke geheugenadressen, waardoor elk besturingssysteem denkt exclusieve toegang tot het geheugen te hebben.
* Snelle contextwisseling: Het vermogen van de CPU om snel te schakelen tussen verschillende processen en VM's is ook cruciaal voor de responsiviteit van een systeem met meerdere besturingssystemen.
Het is belangrijk op te merken dat, hoewel virtualisatie het mogelijk maakt om meerdere besturingssystemen tegelijkertijd uit te voeren, ze over het algemeen niet *gelijktijdig* draaien in de zin van parallelle verwerking, waarbij meerdere besturingssysteemkernels op exact hetzelfde moment instructies uitvoeren op dezelfde CPU-kern (tenzij ook gebruik wordt gemaakt van hyper-threading of multi-core technologie). In plaats daarvan schakelt de CPU snel tussen de besturingssystemen, waardoor de indruk ontstaat dat ze gelijktijdig werken. |