Vad är en Hypervisor?
En hypervisor är en unik typ av programvara som gör att en dator kan köra mer än ett operativsystem (OS). Genom en process som kallas virtualisering lurar programvaran varje operativsystem till att tro att det har exklusiv tillgång till en viss uppsättning hårdvara. Den sitter mellan den fysiska hårdvaran och operativsystemet och presenterar en virtuell uppsättning hårdvara för all annan programvara som körs på maskinen. Det hanterar också informationsflödet mellan programvara, den virtualiserade hårdvaran och den fysiska hårdvaran. Den här typen av programvara används i både konsument- och företagsinställningar.
I de flesta fall körs en dators operativsystem i ett mycket privilegierat tillstånd där den har fri tillgång till maskinens hårdvara medan applikationer körs i ett mindre privilegierat tillstånd och måste lita på operativsystemet. Dessa olika nivåer av hårdvaruåtkomstbehörigheter kallas ringsignaler, med operativsystemet som traditionellt körs i ring 0; användarapplikationer körs i ringsignalerna 1–3, som har färre privilegier. Denna modell fungerar bra för det mesta, men faller helt isär när man försöker köra mer än ett operativsystem på en dator samtidigt. En hypervisor löser problemet genom att använda en teknik som kallas virtualisering.
Virtualisering är inte en ny idé, men det har blivit något av ett surrord sedan mitten av 2000-talet eftersom företag och IT-industrin har insett sin potential att sänka kostnaderna och öka effektiviteten. Det finns många olika tillvägagångssätt för virtualisering, men grundtanken är att skapa simulerade uppsättningar hårdvara som ofta kallas virtuella maskiner. När det gäller en hypervisor, som också kan kallas en virtuell maskinövervakare, innehåller varje virtuell maskin ett "gäst" OS. Hypervisorn själv kan köra direkt på den fysiska hårdvaran, i vilket fall den är känd som en "bar metall" -typ eller inom ett värdoperativsystem som en "programvaruhypervisor".
Hypervisorer måste använda några mycket sofistikerade tekniker för att hantera sina gästoperativsystem och se till att de inte står i konflikt med varandra. Eftersom ett operativsystem i en virtuell maskin inte är medveten om att det har berövats ring 0-behörigheter, kan det försöka utföra begränsade funktioner utan tillstånd. I dessa fall kan hypervisorn avlyssna en funktion innan den når hårdvaran, utföra instruktionerna på ett sätt som inte orsakar någon skada på andra operativsystem som körs på hårdvaran och returnerar resultatet till det ursprungliga operativsystemet. Känd som en "fälla och emulera" teknik, detta är bara ett av många avancerade koncept som är unika för virtualiseringsvärlden.
Eftersom den här typen av programvara har blivit viktigare och lukrativ, har fler företag letat efter sätt att underlätta belastningen på en hypervisor och ge ökad prestanda. Programvaruförsäljare har ändrat sina operativsystem för att vara medvetna om de virtuella maskinerna de kör på, vilket innebär färre fäll-och-emulera typer av scenarier. Maskinvaruförsäljare har lagt till stöd för en ny nivå av privilegier som ibland kallas ring -1. Nyare program kan dra nytta av en eller båda av dessa tekniker för att öka prestandan.
Hypervisorer finns nu i en mängd olika produkter på både konsument- och företagsnivå. Konsumentprodukter som tillåter ett operativsystem att köra inom ett annat använder ofta en programvara av hypervisor. I företagsutrymmet tillåter programvaran konsoliderade underanvändade servrar med olika operativsystem. Programvaruutvecklare kan använda denna metod för att köra flera instanser av liknande eller till och med identiska operativsystem för att testa för kompatibilitetsproblem.