Гипервизор, системный эмулятор, наноядро, микроядро, hypervisor, монитор виртуальных машин — компьютерная программа или аппаратная схема, обеспечивающая или позволяющая одновременное, параллельное выполнение нескольких или даже многих операционных систем на одном и том же хост-компьютере. Гипервизор также обеспечивает изоляцию операционных систем друг от друга, защиту и безопасность, разделение ресурсов между различными запущенными ОС и управление ресурсами. Часто гипервизор предоставляет работающим под его управлением на одном хост-компьютере операционным системам средства связи и взаимодействия между собой (например, через обмен файлами или через сетевые соединения) так, как если бы эти ОС выполнялись на разных физических компьютерах.
Гипервизор сам по себе в некотором роде является минимальной операционной системой (микроядром или наноядром). Он предоставляет запущенным под его управлением операционным системам сервис виртуальной машины, виртуализируя или эмулируя реальное (физическое) аппаратное обеспечение конкретной машины. И управляет этими виртуальными машинами, выделением и освобождением ресурсов для них. Гипервизор позволяет независимое «включение», перезагрузку, «выключение» любой из виртуальных машин с той или иной ОС. При этом из операционной системы, работающей в виртуальной машине под управлением гипервизора часто невозможно определить, выполняется ли она в виртуальной машине, или же на реальном аппаратном обеспечении.
Автономный гипервизор - гипервизор, имеющий свои встроенные драйверы устройств, модели драйверов и планировщик и поэтому не зависит от базовой ОС. Так как автономный гипервизор работает непосредственно в окружении усечённого ядра, то он более производителен, но проигрывает в производительности виртуализации на уровне ОС и паравиртуализации. К примеру, Xen для ряда ОС может запускать виртуальные машины в паравиртуальном режиме.
Платформеннозависимый гипервизор - такой программный компонент, который работает в одном кольце с ядром основной ОС (кольцо 0). Код гостевой ОС может выполняться прямо на физическом процессоре, но доступ к устройствам ввода-вывода компьютера из гостевой ОС осуществляется через второй компонент, обычный процесс основной ОС — монитор уровня пользователя.
Примеры: Microsoft Virtual PC, VMware Workstation, QEMU, Parallels, VirtualBox.
Гибридный гипервизор - гипервизор, состоящий из двух частей: из тонкого гипервизора, контролирующего процессор и память, и работающей под его управлением специальной сервисной ОС в кольце пониженного уровня. Через сервисную ОС гостевые ОС получают доступ к физическому оборудованию.
Примеры: Microsoft Virtual Server, Sun Logical Domains, Xen, Citrix XenServer, Microsoft Hyper-V.
Глоссарий
Вирутальный режим
-
режим исполнения программы заменой инструкций на совместимые с платформой исполнения. К примеру, режим адресации процессоров семейства x86 совместимый с прародителем семейства процессором Intel 8086, который является подрежимом защищенного. Впервые появился в процессоре 80386. На современных платформах виртуальный режим является режимом внутри виртуальных машин.
Виртуальная машина, VM, virtual machine
-
программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы (target — целевая, или гостевая платформа) и исполняющая программы для target-платформы на host-платформе (host — хост-платформа, платформа-хозяин) или виртуализирующая некоторую платформу и создающая на ней среды, изолирующие друг от друга программы и даже операционные системы (например, песочница); также спецификация некоторой вычислительной среды (например: «виртуальная машина языка программирования Си»).
Сервисная ОС, хост-ОС
-
операционная система, на которой работают другие ОС через виртуализацию, то есть эмуляторы, вирутальные машины, транслирующие инструкции виртуализируемых ОС в инструкции сервисной для реального выполнения.
Паравиртуальный режим, PV
-
режим работы гипервизора, в котором оборудование не эмулируется, и гостевая ОС должна быть специальным образом модифицирована, чтобы работать в таком окружении. Преимущество режима PV в том, что он не требует поддержки аппаратной виртуализации со стороны CPU, а также не тратит вычислительне ресурсы (иногда весьма значительные) для эмуляции оборудования на шине.
Режим аппаратной виртуализации, HVM
-
это режим, требующий поддержки со стороны оборудования. В этом
режиме для эмуляции виртуальных устройств используется QEMU, который весьма
неповоротлив даже с паравиртуальными драйверами. Однако со временем поддержка
аппаратной виртуализации в оборудовании получила настолько широкое
рапространение, что используется даже в CPU ноутбуков.
В связи с этими недостатками у разработчиков возникло желание использовать
быстрое переключение контекста исполнения между гипервизором и гостевой ОС и в
паравиртуальном режиме, используя возможности оборудования. Так появился новый
режим — аппаратная паравиртуализация.
Режим аппаратной паравиртуализации, PVH
-
это «гибридный» режим паравиртуализации. Преимущества такого подхода состоят в сокращении объема кода, большей производительности при выполнении системных вызовов (отстутсвует переключение контекста между гостевой ОС и гипервизором), меньших задержках при выполнении различных операций, словом — в более быстром отклике гостевой ОС.