Skip to main content

Что такое гипервизор?

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

В большинстве случаев операционная система компьютера работает в привилегированном состоянии, где она имеет беспрепятственный доступ к оборудованию машины, а приложения работают в менее привилегированном состоянии и должны полагаться на ОС. Эти различные уровни привилегий доступа к оборудованию называются кольцами, а ОС традиционно работает в кольце 0; пользовательские приложения выполняются в кольцах 1-3, которые имеют меньше привилегий. Эта модель прекрасно работает большую часть времени, но полностью разваливается при попытке запустить более одной ОС на одном компьютере одновременно. Гипервизор решает эту проблему с помощью метода, называемого виртуализацией.

Виртуализация не новая идея, но она стала чем-то вроде модного слова с середины 2000-х годов, когда корпорации и отрасль информационных технологий (ИТ) осознали свой потенциал снижения затрат и повышения эффективности. Существует много разных подходов к виртуализации, но основная идея заключается в создании моделируемых наборов оборудования, которые часто называют виртуальными машинами. В случае гипервизора, который также можно назвать монитором виртуальной машины, каждая виртуальная машина содержит «гостевую» ОС. Сам гипервизор может работать непосредственно на физическом оборудовании, и в этом случае он называется «голым железом» или в операционной системе хоста - «программным» гипервизором.

Гипервизоры должны использовать некоторые очень сложные методы для управления гостевыми операционными системами и гарантировать, что они не конфликтуют друг с другом. Поскольку ОС внутри виртуальной машины не знает, что она лишена привилегий кольца 0, она может пытаться выполнять ограниченные функции без разрешения. В этих случаях гипервизор может перехватить функцию до того, как он достигнет аппаратного обеспечения, выполнить инструкции таким образом, чтобы не причинить вреда другим операционным системам, работающим на аппаратном обеспечении, и вернуть результат в исходную ОС. Этот метод, известный как метод «лови и эмулируй», является лишь одной из многих передовых концепций, уникальных для мира виртуализации.

Поскольку этот тип программного обеспечения становится все более важным и прибыльным, все больше компаний ищут способы облегчить нагрузку на гипервизор и повысить производительность. Поставщики программного обеспечения изменили свои операционные системы, чтобы они знали о виртуальных машинах, на которых они работают, что означает меньше сценариев типа «ловушка и эмуляция». Поставщики оборудования добавили поддержку нового уровня привилегий, иногда известного как кольцо -1. Более новые программы могут использовать один или оба этих метода для повышения производительности.

Гипервизоры теперь можно найти в различных продуктах как на потребительском, так и на корпоративном уровне. Потребительские продукты, которые позволяют одной операционной системе работать в другой, часто используют программный гипервизор. В корпоративном пространстве программное обеспечение позволяет консолидировать недостаточно используемые серверы под управлением разных операционных систем. Разработчики программного обеспечения могут использовать этот подход для запуска нескольких экземпляров аналогичных или даже идентичных операционных систем для проверки проблем совместимости.