Как несколько операционных систем могут работать на одном компьютере одновременно? В этой статье поговорим о технологиях, с помощью которых это стало возможным — о гипервизорах. А заодно разберемся в их типах и особенностях.
Гипервизор и виртуализация
Гипервизор — инструмент параллельного управления несколькими операционными системами (ОС) на одном компьютере (хосте). Он позволяет создать несколько виртуальных устройств на одном физическом. Такие ОС называются гостевыми. Они могут работать одновременно и независимо друг от друга. Каждая имеет собственную операционную систему, собственные выделенные ресурсы и память.
Ресурсы компьютера выделяются под отдельные гостевые ОС и становятся изолированными друг от друга.
Возникновение и развитие технологии
Бурное развитие виртуализации началось в 1960-х. Гипервизоры активно использовались компанией IBM. Они использовались на мейнфреймах для тестирования новых ОС. Мейнфрейм — это высокопроизводительный отказоустойчивый сервер.
Мейнфрейм IBM System/390
Мейнфрейм IBM System/390
Идея в том, что оборудование стоит дорого. Виртуализация позволяла тестировать несколько ОС на меньшем количестве серверов. Вдобавок такой подход обеспечивал безопасность. Ошибки, возникающие в рамках одной гостевой ОС, не распространялись на соседние.
С ростом мощностей железа и развитием сетевых технологий роль виртуализации и гипервизоров только росла.
Типы гипервизоров
Существование нескольких гостевых систем возможно благодаря разделению ресурсов процессора, памяти и сети. Гипервизор может разделять эти ресурсы по-разному. Он может делать это через «посредника» — базовую операционную систему. Или же разделять их самостоятельно. Таким образом определяется тип гипервизора.
Существует три основных типа: тип 1 (аппаратные), тип 2 (устанавливаемые поверх базовой ОС), а также тип 1+ (гибридные). Расскажем о каждом подробнее.
Тип 1
Такие гипервизоры ставятся прямо поверх «железа». Их собственные встроенные базовые драйверы позволяют работать с хост-компьютером напрямую на аппаратном уровне. Отсюда еще одно название — аппаратные. То есть, гипервизоры типа 1 работают на низком уровне, максимально близкому к ядру хоста.
К таким относятся: VMware ESX, Citrix XenServer, Microsoft Hyper-V.
Тип 2
Такие гипервизоры отличаются от первых наличием «прослойки» между ними и хостом. Они устанавливаются поверх базовой операционной системы. Или же с помощью нее они предоставляют гостевому коду доступ к ресурсам. Грубо говоря, чтобы запустить такой гипервизор, вам надо установить его поверх имеющейся ОС.
Пример гипервизоров: Microsoft Virtual PC, VMware Workstation, QEMU, Parallels, VirtualBox.
Тип 1+ (гибридный)
Такие гипервизоры комбинируют преимущества обоих типов. Частный пример может выглядеть так: гипервизор координирует и распределяет ресурсы процессора и памяти, базовая ОС предоставляет гостевым системам доступ к устройствам ввода-вывода.
Появление гибридных гипервизоров — это попытка производителей сделать технологии чуть лучше. Современные версии некоторых гипервизоров, которые раньше относились к типу 1, сегодня больше относятся к гибридному типу: Citrix XenServer, Microsoft Hyper-V.
Сравнение типа 1 и типа 2
Производительность типа 1 наиболее высокая: он работает напрямую с физическим оборудованием без посредников. Вдобавок базовая ОС хост-компьютера не грузится задачами, которые берет на себя аппаратный гипервизор.
Гипервизоры типа 1, как правило, стоят значительно дороже. Поэтому они обычно встречаются в сегменте корпоративного и крупного бизнеса.
Тип 2 более предпочтителен в частных небольших решениях. К тому же он проще в настройке и обслуживании. Его удобнее использовать для параллельного тестирования продуктов на разных ОС.
Недостатки и уязвимости
Технология гипервизоров считается довольно безопасной. Но потенциальные угрозы все равно существуют.
Одной из таких угроз считается гиперджекинг (англ. hyperjacking — налет на гипервизор). Идея проста: на базовую операционную систему под видом гипервизора устанавливается вредоносное ПО. Такие поддельные программы работают скрытно, и засечь их непросто.
Другой вид уязвимости — «побег из виртуальной машины». Находясь на гостевой виртуальной машине, пользователь не может получить доступ к «соседним». Он как бы изолирован в рамках отдельной операционной системы. Но иногда находятся уязвимости, с помощью которых удается получить доступ из виртуальной машины к гипервизору. Первый такой случай был связан с VMware Workstation. Его описали в 2008 году.
Что в итоге?
Технология виртуализации внесла огромный вклад в развитие серверных решений. И гипервизоры сыграли здесь не последнюю роль.
Выбор типа гипервизора в первую очередь зависит от задач, которые ему предстоит решать. Впрочем, в последнее время наблюдается тенденция к гибридизации гипервизоров. Возможно, в ближайшем будущем такой жесткой дифференциации уже и не будет, а на смену специализированным решениям придут универсальные.