A hipervisor egy szoftver vagy firmware, amely megkönnyíti a virtuális gépek létrehozását és kezelését azáltal, hogy absztrahálja a fizikai számítógép hardveres erőforrásait, lehetővé téve több operációs rendszer egyidejű futtatását. Ahelyett, hogy teljes rendszert építene hardverrel és operációs rendszerrel, egy virtualizált verziót hoz létre, amely lényegében egy teljes PC-környezetet szimulál.

Hogyan működik egy hipervisor?

A virtuális gép (VM) létrehozásakor az egy nem virtuális, valós gépen – például egy PC-n – működik. A VM a fizikai hardvertől függ. Ezért a két szint között van egy réteg, amely a kezelésért felelős: a hipervisor. A hipervisor egy szoftver, amely átveszi a szükséges erőforrások kezelését. Ez a program, más néven virtuális gép monitor (VMM), osztja el az erőforrásokat a rendszeren belül. Így több különböző virtuális gép futhat egy gazdaszerveren, mivel a hipervisor biztosítja, hogy azok ne zavarják egymást, és mindegyik rendelkezzen a szükséges kapacitással.

A hipervisor így egy absztrakciós réteget hoz létre a hardver és az azon futó operációs rendszerek között. Ezt úgy teszi, hogy a hardver erőforrásokat logikai egységekre osztja, és minden virtuális gép számára egyedi környezetet szimulál. A virtuális gépek úgy érzik, mintha közvetlenül a valódi hardveren futnának, annak ellenére, hogy más virtuális gépekkel osztják meg az erőforrásokat.

Megjegyzés

A különböző virtuális gépek közötti szigorú elválasztás nemcsak az erőforrások jó elosztását biztosítja, hanem a biztonságot is növeli. A hipervisor gondoskodik arról, hogy egy vendégrendszer ne férhessen hozzá egy másik vendégrendszer fájljaihoz. Ez különösen fontos tesztelési célokra, hogy egy hibás program ne károsítsa más tesztkörnyezeteket.

Memóriakezelés

A CPU -virtualizációban a hipervisor olyan technikákat alkalmaz, mint az időszeletelés, hogy a feldolgozási teljesítményt méltányosan ossza el a virtuális gépek között. A modern processzorok speciális virtualizációs funkciókkal rendelkeznek (pl. Intel VT-x vagy AMD-V), amelyek támogatják a hipervisort és csökkentik a rendszer terhelését.

A memória (RAM) kezelése lapozási és leképezési technikákkal történik. A hipervisor virtuális memóriacímeket rendel a fizikai memóriablokkokhoz, így minden virtuális gép csak a saját memóriaterületét látja. Ha kevés a memória, akkor olyan mechanizmusokat alkalmazhat, mint a memória túlterhelés vagy a ballonozás, hogy hatékonyan ossza el a memóriát a virtuális gépek között.

I/O és eszközkezelés

A virtuális gépek virtuális interfészeken keresztül érnek el hardvereszközöket, például merevlemezeket, hálózati kártyákat vagy grafikus kártyákat. A hipervizor emulálja ezeket az eszközöket, vagy közvetlenül továbbítja a kéréseket a fizikai hardvernek (Direct-I/O vagy pass-through technikák segítségével). Ez biztosítja a kompatibilitás és a teljesítmény közötti egyensúlyt.

Elszigeteltség és biztonság

A virtualizáció egyik jelentős előnye a virtuális gépek közötti elszigeteltség. Minden virtuális gép a saját környezetében működik, így az egyik virtuális gépen bekövetkező hibák vagy támadások nem gyakorolnak közvetlen hatást a többi virtuális gépre vagy a gazdaszerverre. A hipervisor különböző biztonsági mechanizmusokat alkalmaz a szigorú elszigeteltség biztosítása érdekében, többek között memóriavédelmet, hozzáférés-ellenőrzést és sandboxing technikákat.

Különböző típusú virtuális gép monitorok

Kétféle virtuális gép monitor létezik: az 1-es típusú és a 2-es típusú hipervizorok. Mindkettőnek megvannak a maga sajátos előnyei. Az előbbi a régebbi változat. Ezzel a technológiával már az 1960-as években is foglalkoztak.

1-es típusú hipervisor

Az első típusú hipervizor a bare-metal hipervizor vagy natív hipervizor. Ez a fajta VMM közvetlenül a fizikai hardverre van telepítve, megkerülve a gazdagép operációs rendszerét. Ennek eredményeként tartalmaznia kell az összes szükséges eszközmeghajtót. A Type-1 hipervisor erőforrás-fogyasztása viszonylag alacsony, mivel a számítási teljesítménynek nem kell átmennie a gazdagép operációs rendszeren. Ez a típusú hipervisor elsősorban azoknak a felhasználóknak készült, akik virtualizációs szervert szeretnének beállítani. Kisebb otthoni projektek esetében azonban a Type-1 hipervisor általában túl bonyolult.

Kép: Schematic representation of the functioning of the Type-1 hypervisor
A Type-1 hypervisor sits directly on the hardware.

2. típusú hipervisor

A második változat (más néven hosztolt hipervizor) meglévő operációs rendszert igényel, amely a fizikai hardveren épül. A 2. típusú hipervizort ugyanúgy telepítik, mint bármely más programot. A VMM ezután kezeli a virtualizációt. Az eszközmeghajtókat nem kell telepíteni a hipervizorba, mivel a tényleges operációs rendszer egyszerűen átadhatja őket a szoftvernek. Ez a kényelem azonban a teljesítmény rovására megy. Az erőforrások jelentős részét már a gazdagép operációs rendszere fogyasztja. Az egyszerű telepítés és konfigurálás miatt a 2. típusú hipervizorok kisebb projektekhez ideálisak.

Kép: Schematic representation of the functioning of the Type-2 hypervisor
The Type-2 hypervisor is installed on an existing operating system.
Ugrás a főmenübe