Вы находитесь на странице: 1из 5

Виртуальная машина – ПО, которое создает (эмулирует) внутри основной ОС

воображаемые (виртуальные) компьютеры.


Особенность ВМ – изолирована от остальной части системы, а значит ПО внутри нее не
может повлиять на систему самого компьютера или управлять ею.
На одном физическом компьютере может работать несколько ВМ.
Виртуальная ОС – это ОС, установленная на ВМ.
Виртуальная ОС – гостевая, установленная на физическом сервере – хостовая. Гипервизор
– это платформа визуализации, позволяющая запускать на одном физическом компьютере
несколько операционных систем.
Именно гипервизор предоставляет изолированное окружение для каждой виртуальной
машины, и именно он предоставляет гостевым ОС доступ к аппаратному обеспечению
компьютера.
Гипервизоры по способу запуска: на аппаратном обеспечении или внутри ОС.
Гипервизоры по архитектуре: монолитная и микроядерная.
Гипервизор 1-го рода.
Гипервизор I рода запускается непосредственно на физическом аппаратном обеспечении и
управляет им самостоятельно. Гостевые ОС, запущенные внутри виртуальных машин,
располагаются уровнем выше, как показано на рис. 1.
Работа гипервизоров 1-го рода непосредственно с оборудованием позволяет достичь большей
производительности, надежности и безопасности. Гипервизоры 1-го рода используются во
многих решениях Enterprise-класса: Microsoft Hyper-V; VMware ESX Server; Citrix Xen
Server.
Гипервизор 2-го рода.
В отличие от 1-го рода, гипервизор 2-го рода запускается внутри хостовой ОС (рис. 2).
Виртуальные машины при этом запускаются в пользовательском пространстве хостовой ОС,
что не самым лучшим образом сказывается на производительности. Примерами гипервизоров
2-го рода служат MS Virtual Server и VMware Server, а также продукты десктопной
виртуализации - MS Virtual PC и VMware Workstation.
Монолитный гипервизор.
Гипервизоры монолитной архитектуры включают драйверы аппаратных устройств в свой код
(рис. 3). Монолитная архитектура имеет свои достоинства и недостатки. Среди достоинств
можно отметить : более высокую производительность из-за нахождения драйверов в
пространстве гипервизора; более высокую надежность, так как сбои в работе управляющей
ОС (в терминах VMware - «Service Console») не приведут к сбою всех запущенных
виртуальных машин. Недостатки у монолитной архитектуры следующие: поддерживается
только то оборудование, драйверы которого имеются в гипервизоре. Из-за этого вендор
гипервизора должен тесно сотрудничать с вендорами оборудования, чтобы драйверы для
работы всего нового оборудования с гипервизором вовремя писались и добавлялись в код
гипервизора; потенциально более низкая безопасность из-за включения в гипервизор
стороннего кода в виде драйверов устройств. Поскольку код драйверов выполняется в
пространстве гипервизора, существует теоретическая возможность воспользоваться
уязвимостью в коде и получить контроль как над хостовой ОС, так и над всеми. Самым
распространенным примером монолитной архитектуры является VMware ESX.

Микроядерная архитектура.
При микроядерной архитектуре драйверы устройств работают Внутри хостовой ОС (рис. 4).
Хостовая ОС в этом случае запускается в таком же виртуальном окружении, как и все ВМ, и
именуется «родительской партицией». Все остальные окружения, соответ- ственно,
«дочерние». Единственная разница между родительской и дочерними партициями состоит в
том, что только родительская партиция имеет непосредственный доступ к оборудованию
cервера. Выделением памяти и планировкой процессорного времени занимается сам
гипервизор. Достоинства у такой архитектуры следующие: не требуются драйверы,
«заточенные» под гипервизор. Гипервизор микроядерной архитектуры совместим с любым
оборудованием, имеющим драйверы для ОС родительской партиции; поскольку драйверы
выполняются внутри родительской партиции, у гипервизора остается больше времени на
управление памятью и работу планировщика; более высокая безопасность. Гипервизор не
содержит посторонний код, соответственно, и возможностей для атаки на него становится
меньше. Самым ярким примером микроядерной архитектуры является, собственно, сам
Нурer-V. Организация работы виртуальной машины имеет некоторые особенности, за счет
которыхи достигаются их преимущества (схема 1).
Для чего используются виртуальные машины? Преимущества виртуальных машин
общего назначения (в отличие от специализированных, таких как, например, VM Java).
Виртуальная машина (ВМ) – это специальное ПО, которое является программной копией
компьютера и позволяет запустить программу внутри него. Другими словами, это компьютер
внутри компьютера.
Виртуальные машины были впервые разработаны IBM в 1960-х годах и стали популярными
в 1970-е годы. В то время компьютерные системы были большими и дорогими, поэтому IBM
изобрели концепцию виртуальных машин как способ разделения машинных ресурсов между
разными пользователями.
Роберт Голдберг, в ходе исследования виртуальных машин 60-х и 70-х годов, резюмировал
принципы реализации виртуальный машины. По его словам, основными целями виртуальных
машин являлись транспортабельность программного обеспечения, отладка операционных
систем и запуск программ тестирования и диагностики.
Виртуальная машина представляет собой полностью защищенную и изолированную копию
лежащую в основе физической системы. Для создания виртуальной машины требуется слой,
который называется монитор виртуальной машины (Virtual Machine Monitor), или
гипервизор. Он создает виртуальную аппаратную среду исполнения и обеспечивает
интерфейс для работающих на нем операционных систем (ОС) (рис.1).

Как и на обычных компьютерах, на виртуальную машину можно установить операционную


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

 Возможность запускать старые приложения несовместимые с новыми операционными


системами;
 На одном компьютере можно запускать несколько операционных систем;
 После установки ВМ очень легко копировать и создавать резервные копии;
 Защита от вредоносных программ.

Недостатки ВМ

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

В дополнение к размещению целых операционных систем, виртуальные машины также


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

Вам также может понравиться