Vad är CPU-virtualisering?

CPU-virtualisering involverar en enda CPU som fungerar som om det vore två separata CPU:er. I själva verket är detta som att köra två separata datorer på en enda fysisk maskin. Det kanske vanligaste skälet till att göra detta är att köra två olika operativsystem på en maskin.

CPU, eller centralprocessor, är utan tvekan den viktigaste komponenten i datorn. Det är den del av datorn som fysiskt utför instruktionerna för de applikationer som körs på datorn. CPU är ofta känd som ett chip eller mikrochip.

Sättet på vilket CPU:n interagerar med applikationer bestäms av datorns operativsystem. De mest kända operativsystemen är Microsoft Windows®, Mac OS® och olika system med öppen källkod under Linux-bannern. I princip kan en CPU bara driva ett operativsystem åt gången. Det är möjligt att installera mer än ett system på en dators hårddisk, men normalt sett kan bara ett system köras åt gången.

Syftet med CPU-virtualisering är att få en CPU att köras på samma sätt som två separata CPU:er skulle köras. En mycket förenklad förklaring av hur detta går till är att virtualiseringsprogramvaran är inställd på ett sätt så att den, och den ensam, kommunicerar direkt med CPU:n. Allt annat som händer på datorn passerar genom programvaran. Programvaran delar sedan upp sin kommunikation med resten av datorn som om den var ansluten till två olika processorer.

En användning av CPU-virtualisering är att låta två olika operativsystem köras samtidigt. Som ett exempel kan en Apple-dator använda virtualisering för att köra en version av Windows® också, vilket gör att användaren kan köra endast Windows®-applikationer. På liknande sätt kan en Linux-baserad dator köra Windows® genom virtualisering. Det är också möjligt att använda CPU-virtualisering för att köra Windows® på en Mac®- eller Linux-dator, eller för att köra Mac OS® och Linux samtidigt.
En annan fördel med virtualisering är att en enda dator kan användas av flera personer samtidigt. Detta skulle fungera av en maskin med en CPU som kör virtualiseringsprogramvara, och maskinen ansluter sedan till flera ”skrivbord”, var och en med tangentbord, mus och bildskärm. Varje användare skulle då köra sin egen kopia av operativsystemet via samma CPU. Denna uppställning är särskilt populär på platser som skolor i utvecklingsmarknader där budgetarna är knappa. Det fungerar bäst där användarna huvudsakligen kör applikationer med relativt låga bearbetningskrav såsom webbsurfning och ordbehandling.
CPU-virtualisering ska inte förväxlas med multitasking eller hyperthreading. Multitasking är helt enkelt handlingen att köra mer än en applikation åt gången. Varje modernt operativsystem tillåter detta att göras på en enda CPU, även om tekniskt sett bara en applikation hanteras vid ett visst tillfälle. Hyperthreading är där kompatibla processorer kan köra specialskrivna applikationer på ett sätt som utför två åtgärder samtidigt.