Автор работы: Пользователь скрыл имя, 26 Февраля 2014 в 15:17, реферат
В такой системе можно выполнять различные малоизученные или опасные для нее операции, не беспокоясь о последствиях, система является виртуальной и повреждение ее компонентов никак не отразится на работе реальной операционной системы. Большинство виртуальных машин позволяют скрыть от установленной на ней операционной системы некоторые параметры физических устройств компьютера, чем обеспечивается независимость операционной системы от установленного оборудования. В некоторых случаях такие системы могут совершенно безопасно мигрировать на иные платформы и архитектуры, для клонирования системы необходимо скопировать всего лишь несколько файлов с образами виртуальных систем.
Введение 3
1 Технологии виртуальных машин и принципы виртуализации 4
1.1 Обзор технологии виртуальных машин 4
1.1.1 Эмуляция API (Application Programming Interface) гостевой операционной системы 4
1.1.2 Полная виртуализация 5
1.1.3 Паравиртуализация 5
1.2 Принцип работы виртуальных машин 6
2 Разновидности виртуальных машин 9
2.1 Обзор виртуальной машины VMware Server 9
2.2 Обзор виртуальной машины Microsoft Virtual PC 11
2.3 Обзор виртуальной машины Virtual BOX 13
3 Применение систем ВМ и технологий виртуализации 16
Заключение 17
Библиографический список 18
Федеральное агентство железнодорожного транспорта
Омский государственный университет путей сообщения
Кафедра «Автоматика и системы управления»
Виртуальные машины и их операционные системы
Реферат по операционным системам
Студент группы ИС:
__________ Осипов Ю. Н.
« » ________2014г.
Руководитель:
________ Онуфриев А. С.
« » ________ 2014г.
Омск 2014
Содержание
Введение
Системы виртуальных машин позволяют запускать в одной информационной среде несколько различных операционных систем (ОС) одновременно. Более того, в зависимости от технологий виртуализации можно оперативно переходить от работы в одной системе к работе в другой без необходимости перезапуска компьютера. Работа гостевой (виртуальной) операционной системы максимально приближена к работе реальной ОС и в некоторых случаях ничем от нее не отличается.
Преимущества, которые дает такой подход несложно вообразить. К ним относятся:
В нынешнее время виртуальные машины (ВМ) получили огромные возможности для развития. Это определено целым рядом причин:
В такой системе можно выполнять различные малоизученные или опасные для нее операции, не беспокоясь о последствиях, система является виртуальной и повреждение ее компонентов никак не отразится на работе реальной операционной системы.
Большинство виртуальных машин позволяют скрыть от установленной на ней операционной системы некоторые параметры физических устройств компьютера, чем обеспечивается независимость операционной системы от установленного оборудованья.
В некоторых случаях такие системы могут совершенно безопасно мигрировать на иные платформы и архитектуры, для клонирования системы необходимо скопировать всего лишь несколько файлов с образами виртуальных систем. Это позволяет использовать целый ряд приложений без необходимости их установки и настройки.
1 Технологии виртуальных машин и принципы виртуализации
В настоящее время существует множество виртуальных машин и систем виртуализации, таких как WMware, Microsoft Virual PC, Xen, Hyper-V Server 2008, Bochs, QEMU, OpenVZ, UML, Virtual BOX. Все они имеют определенные преимущества и недостатки, различаются областью применения и технологиями виртуализации. О применении и типах виртуальных машин а так же о технологиях виртуализации будет рассказано далее в этом увлекательном повествовании.
1.1 Обзор технологии виртуальных машин
В настоящее время существует множество схем виртуализации, таких как динамическая рекомпиляция, аппаратная виртуализации. Остановимся на трех наиболее распространенных и перспективных технологиях более подробно:
1.1.1 Эмуляция API (Application Programming Interface) гостевой операционной системы
Обычно приложения работают в изолированном адресном пространстве и взаимодействуют с оборудованием при помощи API, предоставляемым операционной системой. Если две операционные системы совместимы по своим АРI (например, Windows 98 и Windows 2000), то приложения, разработанные для одной из них, будут работать и на другой. Если две операционные системы несовместимы по своим API (например, Windows 2000 и Linux), то существует способ перехватить обращения приложений к АРI и сымитировать поведение одной операционной системы средствами другой операционной системы. При таком подходе можно поставить одну операционную систему и работать одновременно как с ее приложениями, так и с приложениями другой операционной системы. Поскольку весь код приложения исполняется без эмуляции и лишь вызовы API эмулируются, потеря в производительности незначительная. Но из-за того, что многие приложения используют недокументированные функции API или обращаются к операционной системе в обход API, даже очень хорошие эмуляторы API имеют проблемы совместимости и позволяют запустить не более 70% от общего числа приложений. Кроме того, поддерживать эмуляцию API бурно развивающейся операционной системы (например, такой как Windows) очень нелегко, и большинство эмуляторов АРI так и остаются эмуляторами какой-то конкретной версии операционной системы. Самый большой минус способа эмуляции API – это его строгая ориентация на конкретную операционную систему. Для того, чтобы запустить в нем приложения другой операционной системы, необходимо все переписывать с нуля.
Примеры продуктов использующих эмуляция API операционной системы:
Преимущество такого метода эмуляции, скорость работы. Недостаток, отсутствуют возможности многоплатформенного использования.
1.1.2 Полная виртуализация
Проекты, выполненные по технологии полной виртуализации работают как интерпретаторы. Они последовательно выбирают код гостевой операционной системы и эмулируют поведение каждой отдельно взятой инструкции. Поскольку при этом полностью эмулируется поведение как процессора, так и всех внешних устройств виртуального Intel х86 компьютера, то существует возможность запускать эмулятор на компьютерах с совершенно другой архитектурой, например, на рабочих станциях Mаc или на RISC'овых серверах Sun. Самый серьезный недостаток этого подхода заключается в катастрофической потере производительности гостевой операционной системы. Скорость работы гостевых приложений может упасть очень значительно, что означает практическую невозможность нормальной работы с гостевой операционной системой внутри эмулятора. Тем не менее, существуют некоторые технологии, такие как динамическая трансляция, позволяющие увеличить скорость полной эмуляции. Полные эмуляторы чаще всего используются в качестве низкоуровневых отладчиков для исследования и трассировки операционных систем.
Примеры проектов, выполненных по технологии полной эмуляции:
Преимущество полной виртуализации – отличная совместимость и возможность многоплатформенного использования. Основным недостатком является медленная скорость работы гостевых операционных систем.
1.1.3 Паравиртуализация
Паравиртуализация – еще один способ, который имеет некоторые сходства с полной виртуализацией. Этот метод использует гипервизор для разделения доступа к основным аппаратным средствам, но объединяет код, касающийся виртуализации, в непосредственно операционную систему. Этот подход устраняет потребность в любой перекомпиляции или перехватывании, потому что сами операционные системы кооперируются в процессе виртуализации.
Паравиртуализация требует, чтобы гостевая операционная система была изменена для гипервизора, и это является недостатком метода. Но зато паравиртуализация предлагает производительность почти как у реальной не виртуализированной системы. Как и при полной виртуализации, одновременно могут поддерживаться многочисленные различные операционные системы.
Примеры проектов, выполненных по технологии полной паравиртуализации:
Преимущество такого метода виртуализации – отличная совместимость и возможность многоплатформенного использования при сохранении хорошей скорости работы. Недостатком является необходимость модифицирования гостевой операционной системы для гипервизора.
1.2 Принцип работы виртуальных машин
Система виртуальных машин может быть построена на базе различных аппаратных платформ при помощи разных технологий. Схема виртуализации может отличаться в зависимости, как от используемой платформы, так и от выбора определенной операционной системы.
Однако существующие ОС напрямую работают с процессором и внешними устройствами. Для работы с такими операционными системами, наш гипервизор должен уметь отлавливать обращения к системным ресурсам и эмулировать их поведение.
Основные аппаратные ресурсы, которые нужно имитировать это:
Операционная система, управляющая реальным оборудованием и предоставляющая функции для доступа к нему, называется «хостовой операционной системой». Хостовая операционная система загружается самостоятельно и не требует виртуальной машины для своей работы. Операционные системы, работающие в виртуальных машинах, называются «гостевыми операционными системами». На одном физическом компьютере может быть запущена одна хостовая и много гостевых операционных систем.
Общая системная архитектура виртуальной машины построена на взаимодействии трех основных компонентов: приложение виртуальной машины; драйвер виртуальных машин; монитор виртуальной машины.
Приложение виртуальной машины – это обычное приложение, выполняющееся под управлением хостовой операционной системы. Приложение виртуальной машины имеет графический интерфейс и позволяет пользователю взаимодействовать с виртуальной машиной и гостевой операционной системой. Приложение является непереносимым компонентом виртуальной машины, поскольку разрабатывается для конкретной хостовой операционной системы и использует ее функции для отображения графического интерфейса и доступа к внешним устройствам. Как правило, для портирования виртуальной машины под другую хостовую операционную систему, необходимо полностью переписать приложение.
Приложение виртуальной машины построено по многопоточной технологии и поддерживает три основных потока:
Для каждой виртуальной машины запускается своя копия приложения виртуальной машины. Приложение виртуальной машины выполняет следующие основные функции:
Драйвер виртуальных машин – это системный драйвер работающий на уровне привилегий ядра хостовой операционной системы. Драйвер является шлюзом между приложением и монитором виртуальной машины, позволяющий им передавать управление и обмениваться информационными сообщениями между собой. Кроме того, драйвер выполняет функции взаимодействия с хостовой операционной системой, такие как выделение и закрепление страниц памяти по физическим адресам. Драйвер виртуальной машины является непереносимым компонентом виртуальной машины. Для портирования виртуальной машины под другую хостовую операционную систему необходимо полностью переписать драйвер используя средства этой операционной системы. Все виртуальные машнны пользуются одной копией драйвера виртуальных машин.
Монитор виртуальной машины – это основной компонент виртуальной машины. Монитор не зависит от конкретной хостовой операционной системы и отвечает за создание виртуальной среды для исполнения гостевой операционной системы. Монитор работает на уровне привилегий ядра хостовой операционной системы и реализует выбранную технологию виртуализации. Поскольку монитор включает в себя блок эмуляции процессора и внешних устройств, то время от времени он вынужден обращаться к приложению для доступа к реальным внешним устройствам. Для каждой виртуальной машины запускается своя копия монитора виртуальной машины.
Информация о работе Виртуальные машины и их операционные системы