Hi­per­vi­zo­rius – tai prog­ra­mi­nė įranga arba įrangos prog­ra­mi­nė įranga, kuri pa­leng­vi­na virtualių mašinų kūrimą ir valdymą, abst­ra­huo­da­ma fizinio kom­piu­te­rio apa­ra­ti­nės įrangos išteklius ir lei­džian­ti vienu metu veikti kelioms ope­ra­ci­nėms sistemoms. Vietoj to, kad būtų kuriama visa sistema su aparatine įranga ir operacine sistema, hi­per­vi­zo­rius sukuria vir­tu­ali­zuo­tą versiją, iš esmės imi­tuo­jan­čią visą kom­piu­te­rio aplinką.

Kaip veikia hi­per­vi­zo­rius?

Kuriant virtualią mašiną (VM), ji veikia remdamasi ne­vir­tu­alia, realia mašina, pa­vyz­džiui, asmeniniu kom­piu­te­riu. VM priklauso nuo fizinės apa­ra­ti­nės įrangos. Todėl tarp dviejų lygmenų, atsakingų už valdymą, yra tarpinis sluoksnis – hi­per­vi­zo­rius. Hi­per­vi­zo­rius yra prog­ra­mi­nė įranga, kuri perima reikiamų išteklių valdymą. Ši programa, dar vadinama vir­tu­a­lios mašinos mo­ni­to­riu­mi (VMM), paskirsto išteklius sistemoje. Tokiu būdu pag­rin­di­nė­je sistemoje gali veikti kelios skir­tin­gos vir­tu­a­lios mašinos, nes hi­per­vi­zo­rius užtikrina, kad jos ne­truk­dy­tų viena kitai ir kad visos turėtų reikiamus pajėgumus.

Taigi hi­per­vi­zo­rius sukuria abst­rak­ci­jos sluoksnį tarp apa­ra­ti­nės įrangos ir joje vei­kian­čių ope­ra­ci­nių sistemų. Tai daroma su­skirs­tant apa­ra­ti­nės įrangos išteklius į loginius vienetus ir kiek­vie­nai VM imi­tuo­jant atskirą aplinką. VM atrodo, tarsi jos veiktų tie­sio­giai ant tikros apa­ra­ti­nės įrangos, nors iš tikrųjų jos dalijasi iš­tek­liais su kitomis VM.

Note

Griežtas skirtingų virtualių mašinų at­sky­ri­mas ne tik užtikrina tinkamą išteklių pa­skirs­ty­mą, bet ir padidina saugumą. Hi­per­vi­zo­rius užtikrina, kad svečio sistema negalėtų pasiekti kitos svečio sistemos failų. Tai ypač svarbu atliekant bandymus, kad sugedusi programa ne­pa­da­ry­tų žalos kitoms bandymo aplinkoms.

Atminties valdymas

Vykdant pro­ce­so­riaus vir­tu­ali­za­ci­ją, hi­per­vi­zo­rius naudoja tokias tech­no­lo­gi­jas kaip laiko pa­skirs­ty­mas, kad ap­do­ra­vi­mo pajėgumus teisingai pa­skirs­ty­tų tarp virtualių mašinų. Šiuo­lai­ki­niai pro­ce­so­riai turi spe­cia­lias vir­tu­ali­za­ci­jos funkcijas (pvz., „Intel VT-x“ arba „AMD-V“), kurios palaiko hi­per­vi­zo­rių ir sumažina papildomą apkrovą.

Atmintis (RAM) valdoma naudojant pus­la­pia­vi­mo ir at­vaiz­da­vi­mo metodus. Hi­per­vi­zo­rius fiziniams atminties blokams priskiria vir­tu­a­lio­sios atminties adresus, todėl kiekviena VM mato tik savo atminties erdvę. Kai atminties trūksta, ji gali naudoti tokius me­cha­niz­mus kaip atminties perviršio skyrimas arba „bal­lo­oning“, kad atmintį efek­ty­viai pa­skirs­ty­tų tarp VM.

Įvesties/išvesties ir įrenginių valdymas

Virtualių mašinų prieiga prie apa­ra­ti­nės įrangos, pa­vyz­džiui, kietųjų diskų, tinklo plokščių ar vaizdo plokščių, vyksta per vir­tu­alias sąsajas. Hi­per­vi­zo­rius imituoja šiuos įren­gi­nius arba tie­sio­giai perduoda užklausas fizinei apa­ra­ti­nei įrangai (nau­do­da­mas „Direct-I/O“ arba „pass-through“ tech­no­lo­gi­jas). Tai užtikrina su­de­ri­na­mu­mo ir našumo pu­siau­svy­rą.

Izo­lia­ci­ja ir saugumas

Vienas iš pag­rin­di­nių vir­tu­ali­za­ci­jos privalumų – virtualių mašinų tar­pu­sa­vio izo­lia­ci­ja. Kiekviena virtuali mašina veikia savo aplinkoje, todėl vienoje vir­tu­a­lio­je mašinoje įvykusios klaidos ar atakos neturi tie­sio­gi­nio poveikio kitoms vir­tu­a­lioms mašinoms ar pag­rin­di­nei sistemai. Hi­per­vi­zo­rius naudoja įvairius saugumo me­cha­niz­mus, kad už­tik­rin­tų griežtą atskyrimą, įskaitant atminties apsaugą, prieigos kontrolę ir „sand­boxing“ metodus.

Įvairių tipų virtualių mašinų mo­ni­to­riai

Yra dviejų skirtingų tipų virtualių mašinų ste­bė­to­jai: 1 tipo ir 2 tipo hi­per­vi­zo­riai. Kiek­vie­nas iš jų pasižymi labai konk­re­čiais pri­va­lu­mais. Pirmasis tipas yra ir senesnė versija. Vir­tu­ali­za­ci­ja naudojant šią tech­no­lo­gi­ją buvo pradėta taikyti dar 1960-aisiais.

1 tipo hi­per­vi­zo­rius

Pirmasis hi­per­vi­zo­riaus tipas vadinamas „bare-metal“ hi­per­vi­zo­riu­mi arba „native“ hi­per­vi­zo­riu­mi. Šis VMM įdie­gia­mas tie­sio­giai ant fizinės apa­ra­ti­nės įrangos, apeinant pag­rin­di­nės kom­piu­te­rio operacinę sistemą. Dėl to jame turi būti įtraukti visi rei­ka­lin­gi įrenginių tvar­kyk­lės. Išteklių su­var­to­ji­mas naudojant 1 tipo hi­per­vi­zo­rių yra palyginti mažas, nes skai­čia­vi­mo galia neturi eiti per pag­rin­di­nio kom­piu­te­rio operacinę sistemą. Šis hi­per­vi­zo­riaus tipas yra skirtas pir­miau­sia var­to­to­jams, no­rin­tiems įdiegti vir­tu­ali­za­ci­jos serverį. Tačiau ma­žes­niems namų pro­jek­tams 1 tipo hi­per­vi­zo­rius dažnai būna pernelyg su­dė­tin­gas.

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

2 tipo hi­per­vi­zo­rius

Antrasis variantas (dar vadinamas „hosted“ hi­per­vi­zo­riu­mi) rei­ka­lau­ja esamos ope­ra­ci­nės sistemos, įdiegtos fizinėje apa­ra­ti­nė­je įrangoje. 2 tipo hi­per­vi­zo­rius įdie­gia­mas kaip ir bet kuri kita programa. Tada VMM valdo vir­tu­ali­za­ci­ją. Į hi­per­vi­zo­rių nereikia įdiegti įrenginių tvar­kyk­lių, nes tikroji operacinė sistema gali jas tiesiog perduoti prog­ra­mi­nei įrangai. Tačiau šis patogumas pa­sie­kia­mas našumo sąskaita. Didžiąją dalį išteklių jau sunaudoja šei­mi­nin­ko operacinė sistema. Dėl paprastos įdiegos ir kon­fi­gū­ra­ci­jos 2 tipo hi­per­vi­zo­riai puikiai tinka ma­žes­niems pro­jek­tams.

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