Vad är paravirtualisering?

Paravirtualisering är en metod för att tillåta programvara som körs på ett virtuellt system att kringgå det virtuella gränssnittet och köra operationer på systemets faktiska hårdvara. I ett vanligt virtuellt system är det enda programmet som använder systemets faktiska hårdvara det virtuella gränssnittet. Resten av programvaran körs helt i den virtuella miljön. Med paravirtualisering finns det sätt som den medföljande programvaran kan komma åt faktiska resurser snarare än virtuella. Detta snabbar upp vissa funktioner utan att offra datorkraft.

Virtuella datormiljöer har blivit mycket vanligare under 21-talet. Genom att använda grundläggande virtuella system kan ett enda hårdvarusystem utföra operationer för flera utan att förlora datorkraft. Dessutom tillåter redundanta virtuella servrar en enda maskin att gå offline för utbyte eller reparation utan att påverka systemets användare.

I de flesta virtuella system har en riktig maskin ett program installerat som fungerar som det virtuella gränssnittet för resten av operationerna. Detta gränssnitt, ofta kallat hypervisor, är vanligtvis otillgängligt för användarna av det virtuella systemet; endast personer med faktisk tillgång till hårdvara kan komma åt det. När virtuella användare har tillgång till hypervisorn är de ofta kraftigt begränsade i vad de kan göra med systemet.

Hypervisorn är i huvudsak centrum för det virtuella systemet. Den övervakar den installerade virtuella programvaran och tillhandahåller en plattform för virtuella användare. När program på det virtuella systemet behöver tillgång till hårdvara, tar hypervisorn informationen och bearbetar den själv eller formaterar den och skickar den till det underliggande systemet.

I ett system som använder paravirtualisering har ett virtuellt program möjlighet att kringgå det virtuella operativsystemet och arbeta direkt med systemets hårdvara när det behöver åtkomst till hårdvara. Vissa operationer är mycket svåra för det virtuella systemet att utföra. När ett virtuellt program behöver utföra en av dessa uppgifter tar det färre resurser för programmet att hoppa över det virtuella lagret och gå direkt till hårdvarusystemet. Paravirtualisering görs fortfarande sparsamt, eftersom för många direkta hårdvaruanrop kan överbelasta systemet.

För att kunna använda paravirtualisering behöver både det faktiska systemet och det virtuella systemet vissa förberedelser. Den största faktorn är själva paravirtualiseringsmjukvaran; endast operativsystem och hypervisorer med paravirtualiseringskapacitet kan utföra dessa funktioner. Även om dessa ofta utesluts från en standardinstallation, har de flesta serverprogramvaruföretag tillägg tillgängliga som ger deras produkter rätt kapacitet.
Den andra punkten för kompatibilitet ligger i den underliggande hårdvaran. Med hjälp av ett virtuellt gränssnitt är det möjligt att få nästan vilket operativsystem som helst att köra på nästan alla hårdvarusystem. För att paravirtualisering ska fungera måste den underliggande hårdvaran vara något de virtuella programmen vet hur de ska komma åt. Om hårdvaran är mycket främmande för systemet, kommer paravirtualiseringshårdvaruanropen att misslyckas.