Ce este un hypervisor?

Un hipervizor este un tip unic de software care permite unui computer să ruleze mai mult de un sistem de operare (OS). Printr-un proces cunoscut sub numele de virtualizare, software-ul păcălește fiecare sistem de operare făcându-l să creadă că are acces exclusiv la un anumit set de hardware. Se află între hardware-ul fizic și sistemul de operare și prezintă un set virtual de hardware tuturor celorlalte programe care rulează pe mașină. De asemenea, gestionează fluxul de informații între software, hardware-ul virtualizat și hardware-ul fizic. Acest tip de software este utilizat atât pentru consumatori, cât și pentru întreprinderi.

În majoritatea cazurilor, sistemul de operare al unui computer rulează într-o stare cu privilegii înalte, unde are acces nelimitat la hardware-ul mașinii, în timp ce aplicațiile rulează într-o stare mai puțin privilegiată și trebuie să se bazeze pe sistemul de operare. Aceste niveluri diferite de privilegii de acces hardware sunt cunoscute sub numele de inele, sistemul de operare rulând în mod tradițional în inelul 0; aplicațiile utilizator rulează în inelele 1–3, care au mai puține privilegii. Acest model funcționează bine de cele mai multe ori, dar se destramă complet atunci când încercați să rulați mai mult de un sistem de operare pe un singur computer simultan. Un hypervisor rezolvă această problemă folosind o tehnică numită virtualizare.

Virtualizarea nu este o idee nouă, dar a devenit ceva de la mijlocul anilor 2000, deoarece corporațiile și industria tehnologiei informației (IT) și-au realizat potențialul de a reduce costurile și de a crește eficiența. Există multe abordări diferite ale virtualizării, dar ideea de bază este de a crea seturi simulate de hardware care sunt adesea cunoscute ca mașini virtuale. În cazul unui hypervisor, care poate fi numit și monitor de mașină virtuală, fiecare mașină virtuală conține un sistem de operare „invitat”. Hipervizorul în sine poate rula direct pe hardware-ul fizic, caz în care este cunoscut ca tip „bare metal” sau în cadrul unui sistem de operare gazdă ca hipervizor „software”.

Hypervisorii trebuie să folosească niște tehnici foarte sofisticate pentru a-și gestiona sistemele de operare invitate și pentru a se asigura că nu intră în conflict unul cu celălalt. Deoarece un sistem de operare din interiorul unei mașini virtuale nu știe că a fost privat de privilegiile ring 0, poate încerca să efectueze funcții restricționate fără permisiune. În aceste cazuri, hypervisor-ul poate intercepta o funcție înainte de a ajunge la hardware, poate executa instrucțiunile într-un mod care să nu afecteze alte sisteme de operare care rulează pe hardware și să returneze rezultatul la sistemul de operare original. Cunoscută ca tehnică de „capcană și emulare”, aceasta este doar unul dintre multele concepte avansate unice pentru lumea virtualizării.

Pe măsură ce acest tip de software a devenit mai important și mai profitabil, tot mai multe companii au căutat modalități de a ușura încărcarea unui hypervisor și de a oferi performanțe sporite. Furnizorii de software și-au modificat sistemele de operare pentru a fi conștienți de mașinile virtuale pe care rulează, ceea ce înseamnă mai puține tipuri de scenarii de captare și emulare. Furnizorii de hardware au adăugat suport pentru un nou nivel de privilegii, uneori cunoscut sub numele de ring -1. Programele software mai noi pot profita de una sau ambele dintre aceste tehnici pentru a crește performanța.

Hypervisorii pot fi găsiți acum într-o varietate de produse atât la nivel de consumator, cât și la nivel de întreprindere. Produsele de larg consum care permit unui sistem de operare să ruleze într-un altul folosesc adesea un hypervisor de tip software. În spațiul întreprinderii, software-ul permite consolidarea serverelor subutilizate care rulează diferite sisteme de operare. Dezvoltatorii de software ar putea folosi această abordare pentru a rula mai multe instanțe de sisteme de operare similare sau chiar identice pentru a testa probleme de compatibilitate.