Платформа виртуального оборудования

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

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

Платформа виртуализации состояла из комбинации мультиплексированных и эмулированных компонентов. Мультиплексирование означало конфигурирование оборудования таким образом, чтобы оно могло непосредственно использоваться виртуальной машиной и совместно использоваться (в пространстве или времени) несколькими виртуальными машинами. Эмулирование означало экспортирование программной симуляции отобранных канонических компонентов оборудования виртуальной машине. В табл. 7.2 показано, что в VMware Workstation мультиплексирование использовалось для процессора и памяти, а эмулирование — для всего остального.

Таблица 7.2. Варианты конфигурации виртуального оборудования, характерные для раннего образца VMware Workstation, ca. 2000


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

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

Например, первым внешним интерфейсом Ethernet-устройства была микросхема AMD PCnet «Lance», когда-то популярная карта расширения персонального компьютера со скоростью передачи данных 10 Мбит/с, а внутренний интерфейс обеспечивал сетевое подключение к физической сети хост-машины. По иронии судьбы, VMware долго сохраняла поддержку устройства PCnet и после того, как из обихода исчезли физические карты расширения Lance, и на самом деле достигалась скорость ввода-вывода на порядок выше 10 Мбит/с (Sugerman et al., 2001). Для устройств хранения информации исходными внешними интерфейсами были IDE-контроллер и Buslogic Controller, а внутренним интерфейсом был обычно либо файл в основной файловой системе, например виртуальный диск или образ ISO 9660, или же простой ресурс, такой как раздел диска или физический компакт-диск.

У разделения внешних и внутренних интерфейсов есть еще одно преимущество: виртуальная машина VMware может быть скопирована с одного компьютера на другой, возможно, с другими аппаратными устройствами. К тому же, поскольку виртуальная машина взаимодействует только с компонентами внешнего интерфейса, ей не придется устанавливать новые драйверы устройств. Это свойство, называемое аппаратно-независимой инкапсуляцией (hardware-independent encapsulation), дает сегодня огромные преимущества в серверных средах и облачных вычислениях. Оно позволяет вводить последующие инновации, такие как приостановка-возобновление, расстановка контрольных точек и незаметная миграция работающих виртуальных машин через физические границы (Nelson et al., 2005). В облаке оно позволяет клиентам развертывать их виртуальные машины на любом доступном сервере, не вникая в детали основного оборудования.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Платформа виртуального оборудования:

  1. Виртуальное послесловие
  2. ГЛАВА 11 ПРАВОВЫЕ ПРОБЛЕМЫ ВИРТУАЛЬНОЙ СРЕДЫ ИНТЕРНЕТ
  3. Виртуальное сексуальное насилие над детьми
  4. Сценарное оборудование
  5. 3. Права и обязанности по поводу предоставления материалов и оборудования, необходимых для работы.
  6. Богомазова Г.Н.. Установка и обслуживание программного обеспечения персональных компьютеров, серверов, периферийных устройств и оборудования, 2015
  7. Статья 203-1. Незаконный оборот дисков для лазерных систем считывания, матриц, оборудования и сырья для их производства
  8. Статья 200. Незаконные действия с документами на перевод, платежными карточками и иными средствами доступа к банковским счетам, оборудованием для их изготовления
  9. Статья 188. Похищение путем демонтажа и иным способом электрических сетей, кабельных линий связи и их оборудования - Статья 188 исключена на основании Закона N 270-VI от 15.04.2008
  10. Статья 839. Выполнение работы из материала подрядчика и его средствами
  11. 1.5.3. Таможенные сборы
  12. А в интернет попасть не так уж сложно
  13. ПСИХОЛОГ-ЭРГОНОМИСТ
  14. 1.5.2. Налог на добавленную стоимость
  15. В.Д.СИДОРОВ, Н.В.СТРУМП. АППАРАТНОЕ ОБЕСПЕЧЕНИЕ ЭВМ, 2014
  16. 11.1.2. Правовые аспекты Интернет