Vad är en hypervisor?
En hypervisor är en programvara eller firmware som underlättar skapandet och hanteringen av virtuella maskiner genom att abstrahera hårdvaruresurserna i en fysisk dator, vilket gör det möjligt att köra flera operativsystem samtidigt. Istället för att bygga ett helt system med hårdvara och ett operativsystem skapar den en virtualiserad version – i princip en simulering av en komplett PC-miljö.
Hur fungerar en hypervisor?
När du skapar en virtuell maskin (VM) fungerar den baserat på en icke-virtuell, faktisk maskin, till exempel en PC. VM är beroende av den fysiska hårdvaran. Därför finns det ett lager mellan de två nivåerna som ansvarar för hanteringen: hypervisorn. Hypervisorn är en programvara som tar över hanteringen av de nödvändiga resurserna. Detta program, även känt som Virtual Machine Monitor (VMM), fördelar resurserna inom systemet. På så sätt kan flera olika virtuella maskiner köras på ett värdsystem, eftersom hypervisorn ser till att de inte stör varandra och att alla har den kapacitet som behövs.
Hypervisorn skapar därmed ett abstraktionslager mellan hårdvaran och de operativsystem som körs på den. Detta görs genom att dela upp hårdvaruresurserna i logiska enheter och simulera en unik miljö för varje virtuell maskin. De virtuella maskinerna upplevs som om de körs direkt på riktig hårdvara, även om de delar resurser med andra virtuella maskiner.
Den strikta separationen mellan olika virtuella maskiner säkerställer inte bara en bra resursfördelning utan förbättrar också säkerheten. Hypervisorn säkerställer att ett gästsystem inte kan komma åt filer från ett annat gästsystem. Detta är särskilt viktigt för teständamål, så att ett felaktigt program inte skadar andra testmiljöer.
Minneshantering
Vid CPU- virtualisering använder hypervisorn tekniker som tidsdelning för att fördela processorkraften rättvist mellan virtuella maskiner. Moderna processorer har särskilda virtualiseringsfunktioner (t.ex. Intel VT-x eller AMD-V) som stöder hypervisorn och minskar overheadkostnaderna.
Minnet (RAM) hanteras genom sidväxlings- och mappningstekniker. Hypervisorn tilldelar virtuella minnesadresser till fysiska minnesblock, så att varje VM endast ser sitt eget minnesutrymme. När minnet är knappt kan den använda mekanismer som minnesöverbelastning eller ballongning för att fördela minnet effektivt mellan VM:erna.
I/O och enhetshantering
Virtuella maskiner får åtkomst till hårdvaruenheter som hårddiskar, nätverkskort eller grafikkort via virtuella gränssnitt. Hypervisorn emulerar dessa enheter eller vidarebefordrar förfrågningar direkt till den fysiska hårdvaran (med hjälp av Direct-I/O eller pass-through-tekniker). Detta säkerställer en balans mellan kompatibilitet och prestanda.
Isolering och säkerhet
En betydande fördel med virtualisering är isoleringen mellan virtuella maskiner. Varje virtuell maskin fungerar i sin egen miljö, så fel eller attacker i en virtuell maskin har ingen direkt inverkan på andra virtuella maskiner eller värdsystemet. Hypervisorn använder olika säkerhetsmekanismer för att säkerställa strikt separation, inklusive minnesskydd, åtkomstkontroller och sandboxing-tekniker.
Olika typer av virtuella maskinmonitorer
Det finns två olika typer av virtuella maskinmonitorer: Typ 1- och Typ 2-hypervisorer. Var och en har sina specifika fördelar. Den förstnämnda är också den äldre versionen. Virtualisering med denna teknik började redan på 1960-talet.
Typ 1-hypervisor
Den första typen av hypervisor kallas bare-metal hypervisor eller native hypervisor. Denna typ av VMM installeras direkt på den fysiska hårdvaran och kringgår värdens operativsystem. Som ett resultat måste den innehålla alla nödvändiga enhetsdrivrutiner. Resursförbrukningen med en typ 1-hypervisor är relativt låg eftersom datorkraften inte behöver passera värdens operativsystem. Denna typ av hypervisor är främst avsedd för användare som vill konfigurera en virtualiseringsserver. För mindre hemmaprojekt tenderar dock en typ 1-hypervisor att vara för komplex.

Typ 2-hypervisor
Den andra varianten (även känd som en hostad hypervisor) kräver ett befintligt operativsystem som är byggt på den fysiska hårdvaran. En typ 2-hypervisor installeras precis som vilket annat program som helst. VMM hanterar sedan virtualiseringen. Enhetsdrivrutiner behöver inte installeras i hypervisorn, eftersom det faktiska operativsystemet helt enkelt kan vidarebefordra dem till programvaran. Denna bekvämlighet kommer dock på bekostnad av prestanda. En betydande del av resurserna förbrukas redan av värdens operativsystem. Tack vare den enkla installationen och konfigurationen är typ 2-hypervisorer perfekta för mindre projekt.
