Ingen enda CPU -funktion gör det direkt möjligt för en mikroprocessor att köra flera operativsystem * samtidigt * på det sätt som vissa kan intuitivt förstå (som ett verkligt parallellt utförande av OS -kärnor). Istället är det en kombination av funktioner och tekniker som möjliggör * utseende * för samtidig exekvering. De viktigaste funktionerna är:
* virtualiseringsstöd (t.ex. Intel VT-X, AMD-V): Detta är den mest avgörande funktionen. Det gör det möjligt för CPU att skapa isolerade virtuella maskiner (VM). Varje VM har sina egna virtualiserade hårdvaruresurser (CPU, minne, I/O) och kan köra ett separat operativsystem. CPU växlar snabbt mellan dessa VM:er, vilket ger illusionen av samtidig exekvering. Detta är inte sant parallellism på OS -kärnnivå; Det är snabb kontextbyte.
* Memory Management Unit (MMU): MMU är avgörande för både virtualisering och allmän multitasking. Den kartlägger virtuella adresser som används av varje operativsystem och applikation på fysiska minnesadresser, vilket säkerställer att varje operativsystem tror att det har exklusiv tillgång till minnet.
* Snabb sammankoppling: CPU:s förmåga att snabbt växla mellan olika processer och VM:er är också avgörande för lyhördheten för ett system som kör flera OS.
Det är viktigt att notera att medan virtualisering tillåter att köra flera OS:er samtidigt, kör de i allmänhet inte * samtidigt * i en parallell bearbetning av bemärkelse där flera OS-kärnor också kör instruktioner på exakt samma ögonblick på samma CPU-kärna (såvida de inte använder hypertrådande eller multi-kärnteknik också). Istället växlar CPU snabbt mellan OSE, vilket ger intrycket av samtidig drift.