# Справочный материал

## Релевантные определения

**Гиперви́зор** (англ. Hypervisor; от др.-греч. ὑπέρ «над, выше, сверх» + лат. vīsio «зрение; видение») или монито́р виртуа́льных маши́н (в компьютерах), низкоуровневая оболочка — программа или аппаратная схема, обеспечивающая или позволяющая одновременное, параллельное выполнение нескольких операционных систем на одном и том же хост-компьютере. Гипервизор также обеспечивает изоляцию операционных систем друг от друга, защиту и безопасность, разделение ресурсов между различными запущенными ОС и управление ресурсами. 

**Паравиртуализация** (англ. Paravirtualization) — техника виртуализации, при которой гостевые операционные системы подготавливаются для исполнения в виртуализированной среде, для чего их ядро незначительно модифицируется. Приставка «пара-» в слове термине ничего не обозначает, просто авторам данной идеи понадобился новый термин. 

**QEMU** — свободная программа с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ. Автор программы — французский программист Фабрис Беллар (фр. Fabrice Bellard).

**KVM** (Kernel-based Virtual Machine) — программное решение, обеспечивающее виртуализацию в среде Linux на платформе x86, которая поддерживает аппаратную виртуализацию на базе Intel VT (Virtualization Technology) либо AMD SVM (Secure Virtual Machine). KVM использует QEMU в качестве фронтенда и для эмуляции некоторых устройств. Ведётся работа по включению модификаций, необходимых для работы с KVM, в основную ветку QEMU. Разрабатывается и поддерживается фирмой Qumranet, которая была куплена Red Hat в 2008 году.

**Proxmox Virtual Environment** (Proxmox VE) — система виртуализации с открытым исходным кодом, основанная на Debian GNU/Linux.  В качестве гипервизоров использует KVM (виртуализация) и LXC (контейнеризация). Разрабатывается австрийской фирмой Proxmox Server Solutions GmbH, спонсируемой Internet Foundation Austria.

## Типы гипервизоров

### Автономный гипервизор (Тип 1, X)

Имеет свои встроенные драйверы устройств и планировщик и поэтому не зависит от базовой ОС. Так как автономный гипервизор работает непосредственно в окружении усечённого ядра, то он более производителен, но проигрывает в производительности виртуализации на уровне ОС и паравиртуализации. Например, кроссплатформенный гипервизор Xen может запускать виртуальные машины в паравиртуальном режиме (зависит от ОС).

Примеры: VMware ESX, Citrix XenServer.

### На основе базовой ОС (Тип 2, V)

Это компонент, работающий в одном кольце с ядром основной ОС (кольцо 0). Гостевой код может выполняться прямо на физическом процессоре, но доступ к устройствам ввода-вывода компьютера из гостевой ОС осуществляется через второй компонент, обычный процесс основной ОС.

Примеры: Microsoft Virtual PC, VMware Workstation, QEMU, Parallels, VirtualBox.

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

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

Примеры: Microsoft Virtual Server, Sun Logical Domains, Xen, Citrix XenServer, Microsoft Hyper-V, VMware Workstation, OVirt. 

https://ru.wikipedia.org/wiki/Сравнение_виртуальных_машин

## Популярные форматы дисковых образов

| Формат                      | Описание                                                                                                                                                       |
|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Qcow2 (qcow2)                      | Формат Qcow2 является основным для QEMU и применяется в использующих QEMU продуктах, в частности KVM-QEMU и Proxmox. Поддерживает механизм снимков (snapshot). |
| Virtual Hard Drive (vhd)    | Поддерживается в Virtual PC, Xen, QEMU, VirtualBox, VMWare.                                                                                                    |
| Virtual Machine Disk (vmdk) | Разработанный VMware для использования в качестве образа диска в своих виртуальных машинах. Поддерживается в QEMU, VirtualBox.                                 |
| RAW (img)                        | простой формат для дисковых образов, обладающий отличной переносимостью на большинство технологий виртуализации и эмуляции.                                    |

#### Утилита qemu-img

`qemu-img` позволяет создавать, конвертировать и изменять образы в автономном режиме. Может обрабатывать все форматы образов, поддерживаемые QEMU. Работает со следующими форматами: raw, qcow2, qcow, cow, vmdk, cloop.


## Релевантные ссылки
- Robert P. Goldberg. Architectural Principles for Virtual Computer Systems. 1973.
- https://ru.wikipedia.org/wiki/Гипервизор
- https://ru.wikipedia.org/wiki/QEMU
- https://ru.wikipedia.org/wiki/KVM
- https://ru.wikipedia.org/wiki/VMware
- https://ru.wikipedia.org/wiki/VirtualBox
- https://ru.wikipedia.org/wiki/Xen
- https://ru.wikipedia.org/wiki/Сравнение_виртуальных_машин
- Nemeth E. et al. UNIX and Linux system administration handbook. Chapter 24.