Гіпервізор

Програма для керування віртуальними машинами.

Гіпервізор, також відомий як монітор віртуальних машин (VMM), — це програмний, мікропрограмний або апаратний рівень, який створює та керує віртуальними машинами (ВМ). Він абстрагує базові фізичні апаратні ресурси (ЦП, пам'ять, сховище, мережу) і розподіляє їх між кількома незалежними ВМ. Гіпервізори дозволяють одночасно виконувати кілька операційних систем та програм на одній фізичній машині, підвищуючи ефективність використання ресурсів, забезпечуючи ізоляцію та сприяючи портативності. Існує два основних типи: гіпервізори Типу 1 (bare-metal), які працюють безпосередньо на апаратному забезпеченні хоста (наприклад, VMware ESXi, Microsoft Hyper-V, KVM), і гіпервізори Типу 2 (hosted), які працюють поверх звичайної операційної системи (наприклад, VMware Workstation, Oracle VirtualBox). Гіпервізори Типу 1 зазвичай пропонують кращу продуктивність і безпеку завдяки прямому доступу до апаратного забезпечення, тоді як гіпервізори Типу 2 простіші в установці та керуванні для віртуалізації настільних комп'ютерів. Ключові функції включають надання ВМ, планування, розподіл ресурсів, створення знімків стану (snapshotting) та міграцію. Компроміси включають накладні витрати на продуктивність, потенційні вразливості безпеки в самому шарі гіпервізора та складність керування віртуалізованими середовищами.

        graph LR
  Center["Гіпервізор"]:::main
  Rel_virtualization["virtualization"]:::related -.-> Center
  click Rel_virtualization "/terms/virtualization"
  Rel_virtual_machine["virtual-machine"]:::related -.-> Center
  click Rel_virtual_machine "/terms/virtual-machine"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простими словами

Гіпервізор — це як вчитель у класі. Вчитель має всі олівці та папір (це ресурси комп'ютера) і вирішує, кому скільки дати. Він стежить, щоб кожен учень (віртуальна машина) спокійно робив свою роботу і не відбирав ресурси у сусіда.

🤓 Expert Deep Dive

Гіпервізори працюють шляхом перехоплення та керування привілейованими інструкціями та запитами доступу до апаратного забезпечення від гостьових операційних систем. Гіпервізори Типу 1 досягають цього шляхом прямого контролю апаратного забезпечення, часто використовуючи розширення віртуалізації ЦП (Intel VT-x, AMD-V) для апаратно-прискореної віртуалізації. Це дозволяє гостьовим ОС виконувати більшість інструкцій безпосередньо на ЦП, а гіпервізор втручається лише для чутливих операцій. Керування пам'яттю включає такі методи, як тіньові таблиці сторінок або вкладені таблиці сторінок для відображення гостьових фізичних адрес на фізичні адреси хоста. Гіпервізори Типу 2 емулюють апаратне забезпечення або покладаються на модулі ядра ОС для доступу до апаратного забезпечення, що створює більше накладних витрат. Архітектурні компроміси зосереджені на продуктивності порівняно з гнучкістю. Прямий доступ до апаратного забезпечення (Тип 1) мінімізує накладні витрати, але вимагає специфічної підтримки апаратного забезпечення та може бути складним. Емуляція (Тип 2) є більш портативною, але повільнішою. Безпека значною мірою залежить від ізоляції, що забезпечується гіпервізором; вразливості в гіпервізорі можуть поставити під загрозу всі розміщені ВМ.

📚 Джерела