Опубликован: 20.12.2011 | Уровень: специалист | Доступ: свободно
Лекция 9:

Microsoft Virtual PC

Аннотация: В рамках данной лекции будут рассмотрены следующие вопросы: Архитектура Virtual PC: компоненты хоста. компоненты гостя. Виртуализация приложений. Windows XP Mode. Список материалов для самостоятельного изучения.

Примечание. Материал лекции основан на разделе "Local Desktop Virtualization" книги "Understanding Microsoft Virtualizations Solutions" M. Tulloch (Chapter 3).

Текущая лекция будет посвящена первому из решений Microsoft в области виртуализации рабочих станций - Microsoft Virtual PC.

Microsoft Virtual PC - программное решение виртуализации для операционных систем семейства Windows.

Первая версия программы была создана в 1997 году для операционной системы Mac OS компанией Connectix, в дальнейшем были также выпущены версии для Windows и Linux.

В 2003 году права на Virtual PC были приобретены Microsoft.

Архитектура Virtual PC

Архитектура Microsoft Virtual PC представлена на следующем рисунке.

Архитектура Microsoft Virtual PC

увеличить изображение
Рис. 13.1. Архитектура Microsoft Virtual PC

Компоненты архитектуры Virtual PC имеются как на стороне хоста (Host), так и на стороне гостя (виртуальной машины - Guest).

В свою очередь, компоненты хоста делятся на компоненты интерфейса пользователя (User Interface - UI), пользователя и ядра.

Рассмотрим подробнее каждую из групп компонентов.

Компоненты хоста

Компоненты хостовой части решения MS Virual PC можно представить в виде трех групп.

Первая - компоненты пользовательского интерфейса, к которым относятся:

  • Диалог настройки виртуальной машины (VPC Settings dialog) - позволяет настраивать параметры сети, памяти, функций интеграции и жестких дисков для каждой виртуальной машины.
  • Мастер виртуальной машины (VPC Wizard) - интерфейс, "направляющий" пользователя при создании виртуальной машины.
  • Окно виртуальной машины (VM Window) - при запуске VMWindow.exe запускает окно взаимодействия с виртуальной машиной. Для каждой виртуальной машины запускается отдельный экземпляр VMWindow.exe
  • VM SAL (Virtual Machine Seamless Application Launcher, VMSAL.exe) - экземпляр данного компонента используется для инициации, мониторинга и контроля виртуального приложения, запущенного хостом.

Вторая группа компонент хостовой части MS Virtual PC - VM.exe.

VM.exe включает в себя:

  • Remote Desktop Protocol Encoder Technology (RDP ET) - группа компонент, использующих протокол подключения к удаленному рабочему столу, для обеспечения доступа к виртуальной машине. Преобразует сигналы мыши, клавиатуры и видео из RDP формата в формат, используемый эмуляторами виртуальной машины (и наоборот). Т.е., говоря проще, данная группа компонент позволяет использовать хостовые клавиатуру, мышь и т.п. для осуществления действий в рамках виртуальной машины.
  • Устройства (Devices) - эмуляторы для таких устройств, как виртуальные жесткие диски, COM - порты и сетевых интерфейсов.
  • Редиректор COM - порта - обеспечивает доступ виртуальной машины к удаленным устройствам с последовательным интерфейсом подключения.
  • NAT - позволяет виртуальной машине использовать сетевой адаптер хоста для подключения к сети.

Третья группа компонент хоста - компоненты ядра хостовой части, включающие в себя:

  • Провайдер сервера виртуализации (Virtualization Server Provider - VSP). Предоставляет ресурсы ввода\вывода клиентам служб виртуализации (Virtualization Service Client) виртуальных машин.
  • VPCBus.sys - используется VSP для обмена данными между хостом и гостевыми системами.
  • VMM.sys - компонент, виртуализирующий физические ресурсы хоста и управляющий ими, включая память и контроль прерываний.
  • USB разъем (vpusb.sys) - отвечает за виртуализацию USB для гостевых операционных систем.
  • USM Stub Driver (vpcuxd.sys) - драйвер, загружаемый операционной системой вместо стандартного USB - драйвера.

Компоненты гостя

Компоненты данной части архитектуры Virtual PC подразделяются на компоненты интеграции (Integration Components), RAIL (Remote Applications Installed Locally - удаленные приложения, установленные локально) /компоненты RDP и компоненты ядра.

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

  • VMSrvc.exe - Virtual PC Integration Components Services Application.
  • VMUSrvc.exe - Virtual Machine User Services.

RAIL\RDP компоненты:

  • Службы RDP - сервера, прослушивающие существующие RDP соединения клиентов, работающих в окне виртуальной машины или с виртуальным приложением.
  • RDP Shell (RDPShell.exe) - оболочка, разработанная для представления виртуальных машин образом, как если бы они выполнялись локально на хосте, обеспечивает запуск виртуальных приложений хостом.

Компоненты ядра гостевой части архитектуры Virtual PC:

  • Клиент служб виртуализации (Virtualization Services Client- VSC) - потребляет ресурсы хоста, предоставленные VSP.
  • VMX/SVM root kernel - включает в себя слой выполнения VMM компоненты.

Виртуализация приложений

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

Запуск виртуального приложения осуществляется примерно следующим образом:

  1. Запуск приложения инициирует сессию удаленного рабочего стала на стороне сервера.
  2. Процесс входа в систему (Winlogon.exe) вызывает процесс инициализации пользователя (UserInit.exe) для обработки групповых политик, запуска скриптов входа в систему и аналогичных задач.
  3. Если процесс входа в систему был инициирован запуском виртуального приложения UserInit.exe загружает RDPInit.exe, который является процессом инициализации для виртуальных приложений.
  4. RDPInit.exe загружает RDPShell.exe, вместо загрузки стандартной оболочки рабочего стола (Explorer.exe), таким образом удаленное приложение предоставляется пользователю, как если бы оно являлось локальным.

Windows XP Mode

Windows XP Mode - это виртуальная машина и виртуальный жесткий диск, с установленной операционной системой Windows XP SP3 x86.

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

Для использования Windows XP Mode необходимо наличие на хосте установленного решения Windows Virtual PC - версии Microsoft Virtual PC, адаптированной для работы с операционной системой Windows 7. Windows XP Mode нельзя использовать с более ранними решениями виртуализации, такими как Virtual PC 2007, Virtual Server или Hyper-V.

Термины

NAT (Network Address Translation) - механизм TCP\IP сетей, позволяющий преобразовывать IP-адреса транзитных пакетов.

VMMS (Virtual Machine Management Service) - служба управления виртуальными машинами. Отвечает за управление состоянием виртуальной машины, добавление и удаление устройств и управление снимками виртуальной машины.

Краткие итоги

В рамках текущей лекции было рассмотрено решение для виртуализации рабочих станций от Microsoft - Virtual PC, его архитектура и компоненты

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

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

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

Жазира Нургайып
Жазира Нургайып
Алексей Емельянов
Алексей Емельянов
Павел Енин
Павел Енин
Россия, Москва, МГУ им.Ломоносова, 1999