Ce este un hipervizor?
Un hipervizor este un software sau firmware care facilitează crearea și gestionarea mașinilor virtuale prin abstractizarea resurselor hardware ale unui computer fizic, permițând rularea simultană a mai multor sisteme de operare. În loc să construiască un sistem complet cu hardware și sistem de operare, acesta creează o versiune virtualizată, simulând în esență un mediu PC complet.
Cum funcționează un hipervizor?
Atunci când se creează o mașină virtuală (VM), aceasta funcționează pe baza unei mașini reale, non-virtuale, cum ar fi un PC. VM depinde de hardware-ul fizic. Prin urmare, între cele două niveluri există un strat responsabil de gestionare: hipervizorul. Hipervizorul este un software care preia gestionarea resurselor necesare. Acest program, cunoscut și sub denumirea de Virtual Machine Monitor (VMM), alocă resurse în cadrul sistemului. În acest fel, mai multe mașini virtuale diferite pot rula pe un sistem gazdă, deoarece hipervizorul se asigură că acestea nu interferează între ele și că toate dispun de capacitățile necesare.
Astfel, hipervizorul creează un strat de abstractizare între hardware și sistemele de operare care rulează pe acesta. El realizează acest lucru prin împărțirea resurselor hardware în unități logice și simularea unui mediu unic pentru fiecare VM. VM-urile par să ruleze direct pe hardware real, chiar dacă împărtășesc resurse cu alte VM-uri.
Separarea strictă între diferite mașini virtuale nu numai că asigură o bună distribuție a resurselor, dar și sporește securitatea. Hipervizorul se asigură că un sistem invitat nu poate accesa fișiere dintr-un alt sistem invitat. Acest lucru este deosebit de important în scopuri de testare, astfel încât un program defectuos să nu afecteze alte medii de testare.
Gestionarea memoriei
În virtualizarea CPU, hipervizorul utilizează tehnici precum time-slicing pentru a distribui în mod echitabil puterea de procesare între mașinile virtuale. Procesoarele moderne au caracteristici speciale de virtualizare (de exemplu, Intel VT-x sau AMD-V) care acceptă hipervizorul și reduc costurile generale.
Memoria (RAM) este gestionată prin tehnici de paginare și mapare. Hypervisorul atribuie adrese de memorie virtuală blocurilor de memorie fizică, astfel încât fiecare VM vede doar propriul spațiu de memorie. Când memoria este insuficientă, poate utiliza mecanisme precum supraalocarea memoriei sau balonarea pentru a distribui memoria în mod eficient între VM-uri.
Gestionarea I/O și a dispozitivelor
Mașinile virtuale accesează dispozitive hardware precum hard disk-uri, plăci de rețea sau plăci grafice prin intermediul interfețelor virtuale. Hipervizorul emulează aceste dispozitive sau transmite direct cererile către hardware-ul fizic (utilizând tehnici Direct-I/O sau pass-through). Acest lucru asigură un echilibru între compatibilitate și performanță.
Izolarea și securitatea
Un avantaj semnificativ al virtualizării este izolarea între mașinile virtuale. Fiecare mașină virtuală funcționează în propriul mediu, astfel încât erorile sau atacurile dintr-o mașină virtuală nu au un impact direct asupra altor mașini virtuale sau asupra sistemului gazdă. Hipervizorul utilizează diverse mecanisme de securitate pentru a asigura o separare strictă, inclusiv protecția memoriei, controale de acces și tehnici de sandboxing.
Diferite tipuri de monitoare pentru mașini virtuale
Există două tipuri diferite de monitoare pentru mașini virtuale: hipervizori de tip 1 și hipervizori de tip 2. Fiecare dintre acestea are avantaje specifice. Primul tip este și versiunea mai veche. Virtualizarea cu această tehnologie era deja utilizată în anii 1960.
Hipervizor de tip 1
Primul tip de hipervizor se numește hipervizor bare-metal sau hipervizor nativ. Acest tip de VMM este instalat direct pe hardware-ul fizic, ocolind sistemul de operare al gazdei. Prin urmare, acesta trebuie să includă toate driverele de dispozitive necesare. Consumul de resurse cu un hipervizor de tip 1 este relativ redus, deoarece puterea de calcul nu trebuie să treacă prin sistemul de operare gazdă. Acest tip de hipervizor este conceput în principal pentru utilizatorii care doresc să configureze un server de virtualizare. Cu toate acestea, pentru proiectele domestice mai mici, un hipervizor de tip 1 tinde să fie prea complex.

Hipervizor de tip 2
A doua variantă (cunoscută și sub denumirea de hipervizor găzduit) necesită un sistem de operare existent, care este construit pe hardware-ul fizic. Un hipervizor de tip 2 se instalează la fel ca orice alt program. VMM gestionează apoi virtualizarea. Driverele de dispozitive nu trebuie instalate în hipervizor, deoarece sistemul de operare propriu-zis le poate transmite pur și simplu software-ului. Cu toate acestea, această comoditate vine în detrimentul performanței. O parte semnificativă a resurselor este deja consumată de sistemul de operare al gazdei. Datorită instalării și configurării ușoare, hipervizorii de tip 2 sunt perfecți pentru proiecte mai mici.
