Гіпервізор

Гіпервізор або Монітор віртуальних машин — комп'ютерна програма або обладнання процесора, що забезпечує одночасне і паралельне виконання декількох віртуальних машин, на кожній з яких виконується власна операційна система, на одному фізичному комп'ютері (який зветься хост-машина або хост-комп'ютер, англ. host computer). Гіпервізор забезпечує взаємну ізоляцію операційних систем, що виконуються на віртуальних машинах, шляхом розділення фізичних та логічних пристроїв між декількома віртуальними машинами.


Гіпервізор також може (але не зобов'язаний) надавати операційним системам, що працюють під його керуванням, засоби зв'язку і взаємодії між собою (наприклад, через обмін файлами або через віртуальні мережеві з'єднання) так, ніби ці ОС виконувалися на різних фізичних комп'ютерах, та створювати логічні пристрої, моделюючи апаратне забезпечення, яке не існує на хост-машині.

Гіпервізор як система

[ред. | ред. код]

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

Гіпервізор забезпечує взаємну ізоляцію віртуальних машин шляхом надання пристроїв (у тому числі процесора та оперативної пам'яті) в один з способів:

  • розділення часу, коли деякий пристрій надається окремій віртуальній машині на деякий час (звичайно декілька мілісекунд);
  • закріплення, коли деякий пристрій надається окремій віртуальній машині в одноосібне володіння;
  • емуляції, коли деякий пристрій створюється програмно для кожної окремої віртуальної машини.

Гіпервізор дозволяє незалежне «включення», «перезавантаження», «вимкнення» кожної з віртуальних машин з тією чи іншою ОС. При цьому операційна система, що працює у віртуальній машині під управлінням гіпервізора, може, але не зобов'язана «знати», що вона виконується у віртуальній машині, а не на реальному апаратному забезпеченні.

Типи гіпервізорів

[ред. | ред. код]

Автономний гіпервізор (Тип 1)

[ред. | ред. код]

Автономний гіпервізор завантажується початковим завантажувачем або firmware, і запускає у окремих віртуальних машинах сконфігуровані операційні системи. Деякі[які?] автономні гіпервізори мають власні драйвери пристроїв і планувальник.

Приклади: VMware ESX, PR/SM.

На основі базової ОС (Тип 2, V)

[ред. | ред. код]

Це компонент, який працює в одному кільці з ядром основної ОС («кільце 0», за термінологією архітектури x86). Гостьовий код може виконуватися безпосередньо на фізичному процесорі, але доступ до пристроїв вводу-виводу комп'ютера з гостьової ОС здійснюється через другий компонент, звичайний процес основної ОС — монітор рівня користувача.

Приклади: Windows Virtual PC[en][джерело?], VMware Workstation, QEMU, Parallels, VirtualBox, OVirt.

Гібридний (Тип 1+)

[ред. | ред. код]

Гібридний гіпервізор складається з двох частин: з тонкого гіпервізора, що контролює процесор і пам'ять, спеціальної сервісної ОС в кільці зниженого рівня що працює під керуванням гіпервізора. Через сервісну ОС гостьові ОС отримують доступ до фізичного устаткування.

Приклади: Microsoft Virtual Server, Sun Logical Domains, Xen, Citrix XenServer, Microsoft Hyper-V.

Див. також

[ред. | ред. код]

Література

[ред. | ред. код]