Hi­per­vi­zor je pro­gram­ska oprema ali vgrajena pro­gram­ska oprema, ki omogoča ustvar­ja­nje in upra­vlja­nje vir­tu­al­nih strojev s pomočjo ab­strak­ci­je strojne opreme fizičnega ra­ču­nal­ni­ka, kar omogoča sočasno delovanje več ope­ra­cij­skih sistemov. Namesto da bi zgradil celoten sistem s strojno opremo in ope­ra­cij­skim sistemom, ustvari vir­tu­a­li­zi­ra­no različico – v bistvu simulira celotno okolje osebnega ra­ču­nal­ni­ka.

Kako deluje hi­per­vi­zor?

Pri ustvar­ja­nju vir­tu­al­ne­ga stroja (VM) ta deluje na podlagi ne­vir­tu­al­ne­ga, de­jan­ske­ga stroja – na primer osebnega ra­ču­nal­ni­ka. VM je odvisen od fizične strojne opreme. Zato med tema dvema ravnema obstaja plast, odgovorna za upra­vlja­nje: hi­per­vi­zor. Hi­per­vi­zor je pro­gram­ska oprema, ki prevzame upra­vlja­nje potrebnih virov. Ta program, znan tudi kot Virtual Machine Monitor (VMM), dodeljuje vire znotraj sistema. Na ta način lahko na go­sti­telj­skem sistemu teče več različnih vir­tu­al­nih strojev, saj hi­per­vi­zor za­go­ta­vlja, da se med seboj ne motijo in da imajo vsi na voljo potrebne zmo­glji­vo­sti.

Hi­per­vi­zor tako ustvari ab­strak­cij­sko plast med strojno opremo in ope­ra­cij­ski­mi sistemi, ki tečejo na njej. To stori tako, da raz­de­lju­je strojne vire na logične enote in za vsak virtualni stroj simulira edin­stve­no okolje. Virtualni stroji delujejo, kot da tečejo ne­po­sre­dno na pravi strojni opremi, čeprav si vire delijo z drugimi vir­tu­al­ni­mi stroji.

Note

Strogo ločevanje med raz­lič­ni­mi vir­tu­al­ni­mi stroji ne za­go­ta­vlja le dobre po­raz­de­li­tve virov, temveč tudi povečuje varnost. Hi­per­vi­zor poskrbi, da gostujoči sistem ne more dostopati do datotek drugega go­stu­jo­če­ga sistema. To je še posebej pomembno pri te­sti­ra­nju, saj tako okvarjen program ne more po­ško­do­va­ti drugih testnih okolij.

Upra­vlja­nje po­mnil­ni­ka

Pri vir­tu­a­li­za­ci­ji pro­ce­sor­ja hi­per­vi­zor uporablja tehnike, kot je časovno raz­de­lje­va­nje, da pravično porazdeli pro­ce­sor­sko moč med vir­tu­al­ni­mi stroji. Sodobni pro­ce­sor­ji imajo posebne funkcije za vir­tu­a­li­za­ci­jo (npr. Intel VT-x ali AMD-V), ki podpirajo hi­per­vi­zor in zmanj­šu­je­jo obre­me­ni­tev sistema.

Pomnilnik (RAM) se upravlja s pomočjo tehnik stra­nje­nja in pre­sli­ka­ve. Hi­per­vi­zor fizičnim blokom po­mnil­ni­ka dodeli naslove vir­tu­al­ne­ga po­mnil­ni­ka, tako da vsak virtualni stroj vidi le svoj po­mnil­ni­ški prostor. Kadar je po­mnil­ni­ka premalo, lahko uporabi mehanizme, kot sta pre­ko­mer­no do­de­lje­va­nje po­mnil­ni­ka ali ba­lo­ni­ra­nje, da pomnilnik učin­ko­vi­to porazdeli med virtualne stroje.

Upra­vlja­nje vhodov/izhodov in naprav

Virtualni stroji dostopajo do strojne opreme, kot so trdi diski, omrežne kartice ali grafične kartice, prek vir­tu­al­nih vmesnikov. Hi­per­vi­zor te naprave emulira ali zahteve ne­po­sre­dno posreduje fizični strojni opremi (z uporabo teh­no­lo­gij Direct-I/O ali pass-through). To za­go­ta­vlja rav­no­ves­je med zdru­žlji­vo­stjo in zmo­glji­vo­stjo.

Izolacija in varnost

Pomembna prednost vir­tu­a­li­za­ci­je je ločitev med vir­tu­al­ni­mi stroji. Vsak virtualni stroj deluje v svojem lastnem okolju, zato napake ali napadi na enem vir­tu­al­nem stroju ne vplivajo ne­po­sre­dno na druge virtualne stroje ali go­sti­telj­ski sistem. Hi­per­vi­zor uporablja različne varnostne mehanizme za za­go­ta­vlja­nje stroge ločitve, vključno z zaščito po­mnil­ni­ka, nadzorom dostopa in tehnikami san­dbo­xing.

Različne vrste mo­ni­tor­jev vir­tu­al­nih strojev

Obstajata dve različni vrsti mo­ni­tor­jev vir­tu­al­nih strojev: hi­per­vi­zor­ji tipa 1 in tipa 2. Vsaka vrsta ima svoje posebne prednosti. Prva je tudi starejša različica. Vir­tu­a­li­za­ci­ja s to teh­no­lo­gi­jo se je začela razvijati že v 60. letih prej­šnje­ga stoletja.

Hi­per­vi­zor tipa 1

Prvi tip hi­per­vi­zor­ja se imenuje hi­per­vi­zor na fizični strojni opremi ali nativni hi­per­vi­zor. Ta vrsta VMM se namesti ne­po­sre­dno na fizično strojno opremo, pri čemer se izogne go­sti­telj­ske­mu ope­ra­cij­ske­mu sistemu. Zato mora vsebovati vse potrebne gonilnike naprav. Poraba virov pri hi­per­vi­zor­ju tipa 1 je relativno nizka, saj računska moč ne poteka prek ope­ra­cij­ske­ga sistema go­sti­te­lja. Ta vrsta hi­per­vi­zor­ja je namenjena predvsem upo­rab­ni­kom, ki želijo vzpo­sta­vi­ti vir­tu­a­li­za­cij­ski strežnik. Za manjše domače projekte pa je hi­per­vi­zor tipa 1 ponavadi preveč zapleten.

Image: Schematic representation of the functioning of the Type-1 hypervisor
A Type-1 hyper­vi­sor sits directly on the hardware.

Hi­per­vi­zor tipa 2

Druga različica (znana tudi kot gostovani hi­per­vi­zor) zahteva obstoječi ope­ra­cij­ski sistem, ki je nameščen na fizični strojni opremi. Hi­per­vi­zor tipa 2 se namesti tako kot kateri koli drug program. VMM nato upravlja vir­tu­a­li­za­ci­jo. Go­nil­ni­kov naprav ni treba namestiti v hi­per­vi­zor, saj jih dejanski ope­ra­cij­ski sistem preprosto posreduje pro­gram­ski opremi. Vendar ta udobnost vpliva na zmo­glji­vost. Precejšen del virov že porabi ope­ra­cij­ski sistem go­sti­te­lja. Zaradi enostavne na­me­sti­tve in kon­fi­gu­ra­ci­je so hi­per­vi­zor­ji tipa 2 idealni za manjše projekte.

Image: Schematic representation of the functioning of the Type-2 hypervisor
The Type-2 hyper­vi­sor is installed on an existing operating system.
Go to Main Menu