Кіріспе

Виртуализация техникасы
Есептеулерде, паравиртуализация – виртуалды машиналарға бағдарламалық интерфейсті ұсынатын виртуализация техникасы, ол негізгі аппараттық-бағдарламалық интерфейске ұқсас, бірақ толықтай сәйкес келмейді. Өзгертілген интерфейстің мақсаты – виртуалды ортада, виртуалды емес ортаға қарағанда орындалуы қиын операцияларды орындауға жұмсалатын қонақтың орындалу уақытының үлесін азайту. Паравиртуализация, қонақтарға (және хостқа) осы тапсырмаларды сұрауға және растауға мүмкіндік беретін арнайы анықталған «құбылыстарды» ұсынады, әйтпесе олар виртуалды доменде орындалатын болар еді (онда орындалу өнімділігі нашарлайды). Сәтті паравиртуализацияланған платформа виртуалды машина мониторының (ВММ) қарапайым болуына мүмкіндік береді (виртуалды доменнен хост доменіне маңызды тапсырмаларды көшіру арқылы) және/немесе виртуалды қонақтың ішіндегі машинаның орындалуының жалпы өнімділігін төмендетуді азайтады. Паравиртуализация, қонақ операциялық жүйені пара API үшін тікелей бейімдеуді талап етеді – паравиртуализацияға бейімделмеген стандартты операциялық жүйе таратуын паравиртуализациялық ВММ-нің үстінде іске асыруға болмайды. Алайда, операциялық жүйені өзгерту мүмкін болмаған жағдайларда да, паравиртуализацияның маңызды артықшылықтарын қамтамасыз ететін компоненттер болуы мүмкін. Мысалы, Xen Windows GPLPV жобасы, Xen гипервизорында жұмыс істейтін Microsoft Windows виртуалды қонағына орнатуға арналған паравиртуализацияға бейімделген құрылғы драйверлерінің жиынтығын ұсынады. Мұндай қолданбалар паравиртуалды машина интерфейсі арқылы қол жетімді болады. Бұл бірнеше шифрлау алгоритмдерінің модельдерінде орындалу режимінің үйлесімділігін қамтамасыз етеді, паравиртуализация шеңберінде үздіксіз интеграцияға мүмкіндік береді.

Тарих

Паравиртуализация – бұл ескі идеяның жаңа атауы. IBM-нің VM операциялық жүйесі мұндай мүмкіндікті 1972 жылдан бері ұсынды (алдыңғы CP 67 нұсқасынан бастап). VM әлемінде бұл "DIAGNOSE коды" деп аталады, себебі ол әдетте тек аппараттық техникалық қызмет көрсету бағдарламалық жасақтамасымен ғана қолданылатын нұсқаулық кодын пайдаланады және сондықтан анықталмаған. Parallels Workstation операциялық жүйесі өзінің баламасын "гипершақыру" деп атайды. Олардың барлығы бірдей нәрсе: төмендегі гипервизорға жүйелік шақыру. Мұндай шақырулар "қонақ" операциялық жүйеде қолдауды қажет етеді, ол мұндай шақыруларды жасау үшін гипервизорға тән кодты қамтуы керек. "Паравиртуализация" термині алғаш рет ғылыми әдебиетте Denali Virtual Machine Manager бағдарламасымен байланысты қолданылған. Бұл термин сондай-ақ Xen, L4, TRANGO, VMware, Wind River және XtratuM гипервизорларын сипаттау үшін де қолданылады. Бұл жобалардың барлығы x86 аппараттық жабдықтағы жоғары өнімділікке ие виртуалды машиналарды қолдау үшін паравиртуализация әдістерін қолданады немесе қолдана алады, x86 нұсқаулар жиынтығының виртуалдастыруға қиын бөліктерін іске асырмайтын виртуалды машинаны жүзеге асыру арқылы. Гипервизор негізгі компьютерлік жүйенің виртуалдануын қамтамасыз етеді. Толық виртуалдауда, қонақ операциялық жүйе гипервизорда өзгертілмеген күйінде жұмыс істейді. Дегенмен, қонақ операциялық жүйенің гипервизормен байланысуы арқылы өнімділік пен тиімділікті жақсартуға қол жеткізіледі. Қонақ операциялық жүйеге гипервизорға өзінің ниетін білдіруге мүмкіндік беру арқылы, олардың әрқайсысы виртуалды машинада жұмыс істегенде жақсы өнімділікке қол жеткізу үшін ынтымақтаса алады. Мұндай байланыс паравиртуализация деп аталады. 2005 жылы VMware паравиртуализация интерфейсін, яғни Виртуалды машина интерфейсін (VMI) қонақ операциялық жүйе мен гипервизор арасындағы байланыс механизмі ретінде ұсынды. Бұл интерфейс операциялық жүйенің бір-бір бинарлық нұсқасының жергілікті аппараттық құралдарда немесе паравиртуализацияланған режимде гипервизорда жұмыс істеуіне мүмкіндік беретін ашық паравиртуализацияны қамтамасыз етеді.

Жабдықтық қолдау

AMD және Intel процессорлары жақсырақ аппараттық көмекпен виртуализацияны қолдау мүмкіндігін алғанда, бұл стандарт қолданыстан шығып, VMI қолдауы Linux ядросының 2.6.37 нұсқасынан және 2011 жылы VMware өнімдерінен алынып тасталды.

Операциялық жүйелерді қолдау

2008 жылы Red Hat KVM және Linux үшін VirtIO паравиртуализациясын жариялады, сондай-ақ Microsoft Windows үшін VirtIO драйвері де бар. 2008 жылы Microsoft Hyper-V паравиртуализациясын жариялады.

Linux жүйесі

Linux-та паравиртуализация қолдауының алғашқы пайда болуы 2002 жылы ppc64 портының қосылуымен болды, ол Linux-ты IBM pSeries (RS/6000) және iSeries (AS/400) аппараттық құралдарында паравиртуализацияланған қонақ ретінде іске қосуға мүмкіндік берді. 2006 жылы Массачусетс штатының Бостон қаласында өткен USENIX конференциясында IBM, VMware, Xen және Red Hat сияқты бірнеше Linux әзірлеушілері Xen тобы бастап әзірлеген, "paravirt ops" деп аталатын паравиртуализацияның балама түрімен бірлесіп жұмыс істеді. Paravirt ops коды (көбінесе pv ops деп қысқартылады) 2.6.23 нұсқасынан бастап Linux ядросының негізгі бөлігіне енгізілді және гипервизор мен қонақ ядролары арасындағы гипервизордан тәуелсіз интерфейсті қамтамасыз етеді. Pv ops қонақ ядроларына дистрибутивтік қолдау Ubuntu 7.04 және Red Hat 9 нұсқаларынан бастап қолжетімді болды. Кез келген 2.6.24 немесе одан кейінгі ядроға негізделген Xen гипервизорлары pv ops қонақтарын қолдайды, сондай-ақ VMware Workstation өнімі 6 нұсқасынан бастап қолдайды.

Бағдарламалық қамтамасыз ету

VirtualBox сонымен қатар 5.0 нұсқасынан бастап қолдайды.