Реферат на тему виртуальные машины

Обновлено: 05.07.2024

  • Для учеников 1-11 классов и дошкольников
  • Бесплатные сертификаты учителям и участникам

Для чего нужна виртуальная машина

Стремительное развитие технологий виртуализации оказало значительно влияние на развитие ИТ-инфраструктуры. Мощность компьютеров достигла такого уровня, когда одна физическая машина может поддерживать несколько операционных систем, запущенных одновременно в виртуальных машинах. Еще несколько лет назад виртуальная машина была редкостью.

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

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

Виртуальные машины могут использоваться для:

Защиты информации и ограничение возможностей программ

Исследования производительности ПО и новой компьютерной архитектуры

Эмуляции различных архитектур (например, эмулятор игровой приставки)

Оптимизации использования ресурсов мейнфреймов и прочих мощных компьютеров

Вредоносного кода для управления информационной системой

Моделирования информационных систем с клиент-серверной архитектурой на одной ЭВМ

Упрощения управлением кластерами – виртуальные машины могут просто мигрировать с одной физической машины на другую во время работы

Тестирования и отладки системного программного обеспечения

Существует большое количество различных программ для создания и управления виртуальными компьютерами. Мы рассмотрели три самых популярных из них и проанализировали по следующим характеристикам (см. таблица 1)

Windows Virtual PC

VMware Workstation

Платно/бесплатно

Совместимость с ОС

Практически с любой современной ОС

Только с Windows

Для MacOS не предназначена

Простой и понятный интерфейс

Менее удобный и функциональный интерфейс

Грамотно организованный интерфейс

Поддержка языков

Хорошо сделан перевод на русский язык

Поддерживает любой язык мира

Полностью поддерживает русский язык

Человекоориентированность

Будет понятен даже начинающим пользователям

Удобен только опытным пользователям

Каждому будет легко освоиться с ее богатым функционалом

Полезные функции

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

В любой момент может сохранить текущее состояние виртуальной машины.

Имеет собственный виртуальный 3 D -ускоритель.

Проанализировав таблицу, мы сделали следующие выводы, что VMware Workstation из представленных виртуальных машин по характеристикам превосходит и является эмулятором невероятной мощности, но с Mac платформой они поссорятся. Для большинства пользователей эта машина будет не доступна, т.к. является платной программой.

hello_html_6efe86f.jpg

Если сравнивать бесплатные, то конечно выигрывает вариант Virtual Box . Достоинств этот машина имеет массу, и главное, успешно и вполне корректно сотрудничает с большинством существующих операционных платформ. Windows Visual представляет более усложненную формулу, которая работает, только если машина реальная использует платформу Windows. С другими платформами ее работа невозможна. Предназначается эта программа машинам 64 битным. Модели компьютеров, конфигурация которых не дотягивает до показателя 64, работать с программой откажутся.

hello_html_4400de5f.jpg

Рис1. Интерфейс VirtualBox

Рис2. Интерфейс Windows Visual PC

Рис3. Интерфейс VMware Workstation

hello_html_33d40a7.jpg

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

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

Содержание

Введение 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

Прикрепленные файлы: 1 файл

Виртуальные машины и их ОС.doc

Федеральное агентство железнодорожного транспорта

Виртуальные машины и их операционные системы

Реферат по операционным системам

Студент группы ИС:

__________ Осипов Ю. Н.

________ Онуфриев А. С.

Системы виртуальных машин позволяют запускать в одной информационной среде несколько различных операционных систем (ОС) одновременно. Более того, в зависимости от технологий виртуализации можно оперативно переходить от работы в одной системе к работе в другой без необходимости перезапуска компьютера. Работа гостевой (виртуальной) операционной системы максимально приближена к работе реальной ОС и в некоторых случаях ничем от нее не отличается.

Преимущества, которые дает такой подход несложно вообразить. К ним относятся:

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

В нынешнее время виртуальные машины (ВМ) получили огромные возможности для развития. Это определено целым рядом причин:

  • значительно возросшую производительность компьютеров;
  • наличие многочисленных версий операционных систем и их требования к аппаратным компонентам компьютера;
  • расширение общего круга задач решаемых с помощью вычислительной техники.

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

Большинство виртуальных машин позволяют скрыть от установленной на ней операционной системы некоторые параметры физических устройств компьютера, чем обеспечивается независимость операционной системы от установленного оборудованья.

В некоторых случаях такие системы могут совершенно безопасно мигрировать на иные платформы и архитектуры, для клонирования системы необходимо скопировать всего лишь несколько файлов с образами виртуальных систем. Это позволяет использовать целый ряд приложений без необходимости их установки и настройки.

1 Технологии виртуальных машин и принципы виртуализации

В настоящее время существует множество виртуальных машин и систем виртуализации, таких как WMware, Microsoft Virual PC, Xen, Hyper-V Server 2008, Bochs, QEMU, OpenVZ, UML, Virtual BOX. Все они имеют определенные преимущества и недостатки, различаются областью применения и технологиями виртуализации. О применении и типах виртуальных машин а так же о технологиях виртуализации будет рассказано далее в этом увлекательном повествовании.

1.1 Обзор технологии виртуальных машин

В настоящее время существует множество схем виртуализации, таких как динамическая рекомпиляция, аппаратная виртуализации. Остановимся на трех наиболее распространенных и перспективных технологиях более подробно:

  • эмуляция API гостевой операционной системы;
  • полная виртуализация;
  • паравиртуализация.

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 операционной системы:

  • проект WINE , позволяющий запускать приложения DOS, Win16 и Win32 под операционными системами Unix/Linux;
  • проект с открытым кодом User Mode Linux (UМL), позволяющий запускать несколько копий операционной системы Linux на одном компьютере (встроен в ядро Linux версий 2.6);
  • технология, используемая во FreeBSD для запуска приложений Linux.

Преимущество такого метода эмуляции, скорость работы. Недостаток, отсутствуют возможности многоплатформенного использования.

1.1.2 Полная виртуализация

Проекты, выполненные по технологии полной виртуализации работают как интерпретаторы. Они последовательно выбирают код гостевой операционной системы и эмулируют поведение каждой отдельно взятой инструкции. Поскольку при этом полностью эмулируется поведение как процессора, так и всех внешних устройств виртуального Intel х86 компьютера, то существует возможность запускать эмулятор на компьютерах с совершенно другой архитектурой, например, на рабочих станциях Mаc или на RISC'овых серверах Sun. Самый серьезный недостаток этого подхода заключается в катастрофической потере производительности гостевой операционной системы. Скорость работы гостевых приложений может упасть очень значительно, что означает практическую невозможность нормальной работы с гостевой операционной системой внутри эмулятора. Тем не менее, существуют некоторые технологии, такие как динамическая трансляция, позволяющие увеличить скорость полной эмуляции. Полные эмуляторы чаще всего используются в качестве низкоуровневых отладчиков для исследования и трассировки операционных систем.

Примеры проектов, выполненных по технологии полной эмуляции:

  • проект с открытым кодом Bochs, позволяющий запускать различные операционные системы Intel х86 под Linux, Windows, BeOS и Мас OS;
  • продукт Virtual PC фирмы Microsoft позволяющий запускать различные x86-ОС на PC и Mac;
  • проект Qemu – самый быстрый эмулятор различных архитектур на PC. При использовании модуля Accelerator практически сравнивается по производительности с виртуальными машинами.

Преимущество полной виртуализации – отличная совместимость и возможность многоплатформенного использования. Основным недостатком является медленная скорость работы гостевых операционных систем.

Паравиртуализация – еще один способ, который имеет некоторые сходства с полной виртуализацией. Этот метод использует гипервизор для разделения доступа к основным аппаратным средствам, но объединяет код, касающийся виртуализации, в непосредственно операционную систему. Этот подход устраняет потребность в любой перекомпиляции или перехватывании, потому что сами операционные системы кооперируются в процессе виртуализации.

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

Примеры проектов, выполненных по технологии полной паравиртуализации:

Преимущество такого метода виртуализации – отличная совместимость и возможность многоплатформенного использования при сохранении хорошей скорости работы. Недостатком является необходимость модифицирования гостевой операционной системы для гипервизора.

1.2 Принцип работы виртуальных машин

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

Однако существующие ОС напрямую работают с процессором и внешними устройствами. Для работы с такими операционными системами, наш гипервизор должен уметь отлавливать обращения к системным ресурсам и эмулировать их поведение.

Основные аппаратные ресурсы, которые нужно имитировать это:

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

Общая системная архитектура виртуальной машины построена на взаимодействии трех основных компонентов: приложение виртуальной машины; драйвер виртуальных машин; монитор виртуальной машины.

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

Приложение виртуальной машины построено по многопоточной технологии и поддерживает три основных потока:

Для каждой виртуальной машины запускается своя копия приложения виртуальной машины. Приложение виртуальной машины выполняет следующие основные функции:

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

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

Стремительное развитие технологий виртуализации оказало значительное влияние не только на развитие IТ-инфраструктуры крупных предприятий. Мощности настольных персональных компьютеров достигли такого уровня, когда одна физическая машина может поддерживать несколько одновременно запущенных операционных систем в виртуальных машинах. Еще несколько лет назад виртуальные машины были чем-то экзотическим для конечных пользователей, которые устанавливали их, большей частью, в ознакомительных целях. Теперь многоядерные процессоры и большие объемы оперативной памяти на домашнем или офисном компьютере не редкость, и это позволяет придумывать новые варианты их использования в контексте технологий виртуализации.

Вложенные файлы: 1 файл

Введение.doc

Стремительное развитие технологий виртуализации оказало значительное влияние не только на развитие IТ-инфраструктуры крупных предприятий. Мощности настольных персональных компьютеров достигли такого уровня, когда одна физическая машина может поддерживать несколько одновременно запущенных операционных систем в виртуальных машинах. Еще несколько лет назад виртуальные машины были чем-то экзотическим для конечных пользователей, которые устанавливали их, большей частью, в ознакомительных целях. Теперь многоядерные процессоры и большие объемы оперативной памяти на домашнем или офисном компьютере не редкость, и это позволяет придумывать новые варианты их использования в контексте технологий виртуализации.

Множество пользователей находят разнообразные применения настольным платформам виртуализации, как дома, так и на работе. Ведь виртуальная машина, по сравнению с физической, обладает существенно большей гибкостью в отношении переносимости на другую физическую платформу. К тому же, за последние пару лет существенно выросло качество настольных платформ виртуализации в отношении функциональности, простоты использования и быстродействия. Появившаяся сравнительно недавно поддержка аппаратной виртуализации в настольных системах говорит, что ведущие производители процессоров, такие как Intel и AMD, верят в будущее технологий виртуализации на персональных компьютерах.

Безусловно, такие громоздкие и требовательные к аппаратным ресурсам операционные системы, как Windows Vista, способны поглотить мощности пользовательских десктопов, какими бы высокими они не были, однако прогресс не стоит на месте, и дальнейшее развитие настольных аппаратных платформ вскоре даст возможность поддерживать несколько таких систем одновременно, удовлетворяя требованиям по быстродействию. Тем не менее, многие пользователи считают, что применение технологий виртуализации дома не является необходимым и считают виртуализацию еще одной специфической технологией, которая не окажет на них большого влияния. Большей частью, это связано с тем, что они не видят достойных путей применения виртуальных машин.

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

1.1 Определение и понятие

Чтобы построить полный взгляд на виртуальные машины, разберем для начала, а что такое виртуальная машина?

Для сравнения приведем несколько других определенней, а именно: Виртуальная машина - это полностью изолированный программный контейнер, способный выполнять собственную операционную систему и приложения, как физический компьютер. Виртуальная машина работает абсолютно так же, как физический компьютер, и содержит собственные виртуальные (т.е. программные) ЦП, ОЗУ, жесткий диск и сетевую интерфейсную карту (NIC).

Проще говоря, виртуальная машина – это программа, которую вы запускаете из своей операционной системы. Программа эмулирует реальную машину. На виртуальные машины, как и на реальные, можно ставить операционные системы. У неё есть BIOS, отведенное место на вашем жестком диске, сетевые адаптеры для соединения с реальной машиной, сетевыми ресурсами или другими виртуальными машинами.

1.2 Архитектура виртуальных машин. Абстракция и виртуализация

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

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

Компьютерные системы разрабатываются по определенной иерархии и имеют хорошо определенные интерфейсы, из-за чего они и продолжают развиваться. Использование таких интерфейсов облегчает независимую разработку аппаратных и программных подсистем силами разных групп специалистов. Абстракции скрывают детали реализации нижнего уровня, уменьшая сложность процесса проектирования.

Концепция архитектуры системы команд компьютера (instruction set architecture, ISA) наглядно иллюстрирует преимущества хорошо определенных интерфейсов. Они позволяют разрабатывать взаимодействующие компьютерные подсистемы не только в разных организациях, но и в разные периоды, иногда разделенные годами. Например, Intel и AMD создают микропроцессоры с системой команд IA-32 (x86), в то время как разработчики Microsoft пишут программное обеспечение, которое компилируется в эту систему команд. Поскольку обе стороны соблюдают спецификацию ISA, можно ожидать, что программное обеспечение будет правильно выполняться любым ПК на базе микропроцессора с архитектурой IA-32.

К сожалению, хорошо определенные интерфейсы имеют и недостатки. Подсистемы и компоненты, разработанные по спецификациям разных интерфейсов, не способны взаимодействовать друг с другом. Например, приложения, распространяемые в двоичных кодах, привязаны к определенной ISA и зависят от конкретного интерфейса к операционной системе. Несовместимость интерфейсов может стать сдерживающим фактором, особенно в мире компьютерных сетей, в котором свободное перемещение программ столь же необходимо, как и перемещение данных.

Виртуализация позволяет обойти эту несовместимость. Виртуализация системы или компонента (например, процессора, памяти или устройства ввода/вывода) на конкретном уровне абстракции отображает его интерфейс и видимые ресурсы на интерфейс и ресурсы реальной системы. Следовательно, реальная система выступает в роли другой, виртуальной системы или даже нескольких виртуальных систем.

В отличие от абстракции, виртуализация не всегда нацелена на упрощение или сокрытие деталей.

1.3 Классификация виртуальных машин

По классификации виртуальные машины можно разделить на процессные и системные. Дальше систематизация происходит в зависимости от того, какие системы имеет виртуальная машина и её базовая платформа, а точнее совпадают ли они.

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

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

В раздел процессные ВМ – разные ISA входят динамические трансляторы. У них интерфейс чаще всего определяется на уровне ABI.

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

В категории системных машин с одинаковыми ISA входят классические и вложенные системные виртуальные машины, служащие для репликации изолированной системной среды. Различие же между ними в реализации монитора виртуальных машин, но не в функциональных возможностях.

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

1.4 Обзор технологии виртуальных машин.

В настоящее время существует множество схем виртуализации, таких как динамическая рекомпиляция, аппаратная виртуализации. Остановимся на трех наиболее распространенных и перспективных технологиях более подробно:

  • Эмуляция API гостевой операционной системы.
  • Полная виртуализация.
  • Паравиртуализация.
  1. Эмуляция API ( ApplicationProgrammingInterfac e) гостевой операционной системы.

Обычно приложения работают в изолированном адресном пространстве и взаимодействуют с оборудованием при помощи API, предоставляемым операционной системой. Если две операционные системы совместимы посвоим АРI (например, Windows 98 и Windows 2000), то приложения, разработанные для одной из них, будут работать и на другой. Если две операционные системы несовместимы посвоим API (например, Windows 2000 и Linux), то существует способ перехватить обращения приложений к АРI и сымитировать поведение одной операционной системы средствами другой операционной системы.

При таком подходе можно поставить одну операционную систему и работать одновременно как с ее приложениями, так и с приложениями другой операционной системы. Поскольку весь код приложения исполняется без эмуляции и лишь вызовы API эмулируются, потеря в производительности незначительная. Но из-за того, что многие приложения используют недокументированные функции API или обращаются к операционной системе в обход API, даже очень хорошие эмуляторы API имеют проблемы совместимости и позволяют запустить не более 70% от общего числа приложений. Кроме того, поддерживать эмуляцию API бурно развивающейся операционной системы (например, такой как Windows) очень нелегко, и большинство эмуляторов АРI так и остаются эмуляторами какой-то конкретной версии операционной системы. Самый большой минус способа эмуляции API - это его строгая ориентация на конкретную операционную систему. Для того, чтобы запустить в нем приложения другой операционной системы, необходимо все переписывать с нуля.

Примеры продуктов использующих эмуляция API операционной системы:

  • Проект WINE , позволяющий запускать приложения DOS, Win16 и Win32 под операционными системами Unix/Linux.
  • Проект с открытым кодом UserModeLinux (UМL), позволяющий запускать несколько копий операционной системы Linux на одном компьютере (встроен в ядро Linux версий 2.6).
  • Технология, используемая во FreeBSD для запуска приложений Linux.

Преимущество такого метода эмуляции - скорость работы. Недостаток - отсутствуют возможности многоплатформенного использования.

Проекты, выполненные по технологии полной виртуализации работают как интерпретаторы. Они последовательно выбирают код гостевой операционной системы и эмулируют поведение каждой отдельно взятой инструкции. Поскольку при этом полностью эмулируется поведение как процессора, так и всех внешних устройств виртуального Intel х86 компьютера, то существует возможность запускать эмулятор на компьютерах с совершенно другой архитектурой, например, на рабочих станциях Mаc или на RISC'овых серверах Sun.

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

Примеры проектов, выполненных по технологии полной эмуляции:

  • Проект с открытым кодом Bochs, позволяющий запускать различные операционные системы Intel х86 под Linux, Windows, BeOS и Мас OS;
  • Продукт Virtual PC фирмы Microsoft позволяющий запускать различные x86-ОС на PC и Mac;
  • Проект Qemu - самый быстрый эмулятор различных архитектур на PC. При использовании модуля Accelerator практически сравнивается по производительности с виртуальными машинами.

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

Паравиртуализация - еще один способ, который имеет некоторые сходства с полной виртуализацией. Этот метод использует гипервизор для разделения доступа к основным аппаратным средствам, но объединяет код, касающийся виртуализации, в непосредственно операционную систему. Этот подход устраняет потребность в любой перекомпиляции или перехватывании, потому что сами операционные системы кооперируются в процессе виртуализации.



Виртуальные машины дают возможность эмулировать в единой информационной среде поведение нескольких операционных систем. Эмуляция (от англ. Emulation) - комплекс программных и аппаратных средств, предназначенный для копирования функций одной вычислительной системы (гостя) на другой, отличной от первой, вычислительной системе (хосте) таким образом, чтобы эмулированное поведение как можно ближе соответствовало поведению оригинальной системы. Целью эмуляции является максимально точное воспроизведение поведения в отличие от разных форм компьютерного моделирования, в которых имитируется поведение некоторой абстрактной модели [1]. Различные технологии виртуализации предоставляют возможность незамедлительно переключаться между работой в нескольких операционных системах без необходимости перезапуска компьютера. Выполение и поведение эмулированной ОС достаточно сильно близки к реальной, зачастую, не отличаясь.

Плюсы, обретаемые при использовании данного подхода:

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

§ синхронное выполнение нескольких ОС и незамедлительное переключение от работы в одной системе к работе в другой;

§ осуществимость абстрагирования оригинальной операционной системы от отрицательного воздействия программного обеспечения, выполняющегося в виртуальной машине;

§ имитация сложных вычислительных систем (связанных сетевых операционных систем) на единственной машине.

В наши дни открыт широкий горизонт для развития виртуальных машин. Этому способствует целый ряд причин:

§ ощутимо возросшая производительность компьютеров;

§ широкий круг существующих операционных систем;

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

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

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

В определенных ситуациях возможно безопасное выполнение этих на других архитектурах и платформах. Для этого необходимо лишь скопировать образы виртуальных систем.

Технологии виртуальных машин и принципы виртуализации

Существует множество виртуальных машин и систем виртуализации, например: WMware, Microsoft Virual PC, Xen, Hyper-V Server 2008, Bochs, QEMU, OpenVZ, UML, Virtual BOX. Они имеют различные преимущества и недостатки, отличаются друг от друга областью применения и технологиями виртуализации.

Обзор технологии виртуальных машин

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

§ эмуляция API гостевой операционной системы;

Полная виртуализация

Проекты, выполненные по технологии полной виртуализации, работают как интерпретаторы. Интерпретация — пооператорный (покомандный, построчный) анализ, обработка и тут же выполнение исходной программы или запроса (в отличие от компиляции, при которой программа транслируется без её выполнения) [3]. Последовательно просматривается код гостевой операционной системы и эмулируется поведение каждой отдельно взятой инструкции. Самый серьезный недостаток этого подхода заключается в катастрофической потере производительности гостевой операционной системы. Скорость работы гостевых приложений может очень сильно упасть, что означает практическую невозможность нормальной работы с гостевой операционной системой внутри эмулятора. Тем не менее, существуют некоторые технологии, такие, как динамическая трансляция, позволяющие увеличить скорость полной эмуляции.




Примеры проектов, выполненных по технологии полной эмуляции:

§ проект с открытым кодом Bochs, позволяющий запускать различные операционные системы Intel х86 под Linux, Windows, BeOS и Мас OS;

§ продукт Virtual PC фирмы Microsoft, позволяющий запускать различные x86-ОС на PC и Mac;

§ проект Qemu – самый быстрый эмулятор различных архитектур на PC. При использовании модуля Accelerator практически сравнивается по производительности с виртуальными машинами.

Преимущество полной виртуализации – прекрасная совместимость и возможность многоплатформенного использования. Главным же недостатком является медленная скорость работы эмулированных операционных систем.

Паравиртуализация

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

Для паравиртуализации необходимо, чтобы гостевая операционная система была изменена для гипервизора, и это является недостатком метода. Но паравиртуализация предлагает производительность почти как у реальной невиртуализированной системы. Как и при полной виртуализации, одновременно могут поддерживаться многочисленные различные операционные системы.

Примеры проектов, основанных на технологии полной паравиртуализации:

§ продукт Microsoft Hyper-V – способ виртуализации серверов в корпоративных средах.

Преимущество данного метода виртуализации – отличная совместимость и возможность многоплатформенного использования при сохранении высокой скорости работы. Недостатком является необходимость модифицирования гостевой операционной системы для гипервизора.

Заключение

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

Список использованной литературы

3. Першиков В. И., Савинков В. М. Толковый словарь по информатике / Рецензенты: канд. физ.-мат. наук А. С. Марков и д-р физ.-мат. наук И. В. Поттосин. — М.: Финансы и статистика, 1991. — 543 с. — 50 000 экз. — ISBN 5-279-00367-0.

5. Мендель Розенблюм, Тэл Гарфинкель. Мониторы виртуальных машин: современность и тенденции (рус.). Открытые системы, 2005.

9. Инструкция по использованию Windows Virtual PC в операционной системе Windows

Читайте также: