■ продукт Simics компании Virtutech, позволяющий запускать и отлаживать различные операционные системы Intel х86 под управлением Windows и других операционных систем;
■ проект Qemu — эмулятор различных архитектур на PC,
Виртуальные машины с квазиэмуляцией гостевой ОС
Технология квазиэмуляции гостевой ОС основана на том, что далеко не все инструкции гостевой ОС нуждаются в эмуляции средствами хостовой операционной системы. Многие из инструкций, необходимых для корректной работы «гостевых» приложений, могут быть непосредственно адресованы хостовой ОС. Исключение составляют инструкции для управления такими устройствами, как видеокарта, IDE-контроллер, таймер, и некоторыми другими.
Таким образом, в процессе работы RM с квазиэмуляцией происходит выборочная эмуляция инструкций гостевой ОС. Очевидно, что производительность такой ВМ должна быть выше, чем у ВМ с полной эмуляцией. Тем не менее, как было сказано, при достигнутых уровнях производительности персональных компьютеров разница оказывается не столь ощутимой.
Примеры проектов, выполненных по технологии квазиэмуляции:
■ технология Virtual Platform, на базе которой компания VMware предлагает четыре продукта: VMware Workstation для Windows NT/2000/XP, VMware Workstation для Linux, VMware GSX Server (group server) и VMware LSX Server (enterprise server);
■ виртуальная машина Serenity Virtual Station (SVISTA) (бывшая twoOStwo), разработанная российской компанией Параллели (Parallels) по заказу немецкой компании NetSys GmbH[2];
■ проект с открытым кодом Рlеx86, позволяющий запускать различные операционные системы Intel х86 под управлением Linux.
■ проект с открытым кодом L4Ka, использующий микроядро;
■ проект с открытым кодом Xen, позволяющий запускать модифицированные ОС Linux, FreeBSD, NetBSD и Windows ХР под управлением Linux, FreeBSD, NetBSD и при соблюдении некоторых условий обеспечивающий даже прирост производительности.
В последующих главах книги рассмотрены наиболее популярные на сегодняшний день представители различных видов виртуальных машин: Virtual PC 2004 компании Microsoft, VMware Workstation от компании VMware и относительно «свежий» продукт — Parallels Workstation, созданный в компании Parallels. Причем описание всех конкурирующих программ построено по одной и той же схеме, чтобы читателю проще было сравнить их между собой и сделать обоснованный выбор.
Глава 2
Виртуальные машины Virtual PC 2004
Для пользователей, предпочитающих работать исключительно с операционными системами семейства Windows, продукт Virtual PC 2004, пожалуй, можно считать наиболее подходящим выбором — ведь последняя версия программы принадлежит Microsoft.
Общая характеристика
Технология, заложенная в Virtual PC, была разработана компанией Connectix, однако компания Microsoft в очередной раз продемонстрировала чутье на удачные технологические решения и в начале 2003 года приобрела права на Virtual PC. В ноябре 2003 появилась доработанная и модифицированная версия продукта — Virtual PC 2001 уже под торговой маркой Microsoft. Причем указанный продукт, предназначенный для установки на автономных компьютерах и рабочих станциях, вскоре получил «напарника». В первой половине 2004 года Microsoft был выпущен инструмент Microsoft Virtual Server 2004, предназначенный для развертывания сети виртуальных машин в масштабах предприятия. Поскольку книга ориентирована на пользователей «домашних» компьютеров, то основное внимание в ней уделено Virtual PC 2004.
Особенности работы Virtual PC 2004
Каждая виртуальная машина Virtual PC 2004 эмулирует автономный компьютер с собственными звуковой картой и видеокартой, а также (если требуется) с собственным сетевым адаптером. Такой виртуальный компьютер полностью изолирован от среды реального компьютера, и никакие изменения его конфигурации не влияют на конфигурацию физических устройств хост-компьютера. Параметры виртуального компьютера сохраняются в специальном конфигурационном файле (в формате XML), который при необходимости может быть перенесен на другой хост-компьютер с целью воспроизведения параметров виртуальной машины.
Конфигурационный файл виртуальной машины имеет расширение VMC (Virtual Machine Configuration), однако собственно описание конфигурации выполнено на языке XML. Поэтому пользователи, знакомые с этим языком, могут открыть VMC-файл в любом текстовом редакторе и изучить его содержимое,
В качестве гостевых ОС на виртуальные машины могут быть установлены следующие системы:
■ из семейства Windows: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000, Windows XP (включая Tablet PC Edition), а также MS-DOS 6.22;
■ из числа ОС от других производителей гарантированно поддерживаются OS/2 Warp V4 Fix Pack 15, OS/2 Warp Convenience Pack 1 и OS/2 Warp Convenience Pack 2. Хотя разработчики Virtual PC и утверждают, что их продукт способен работать со всеми современными ОС, базирующимися на архитектуре х86, совместимость с другими ОС (например, Red Hat Linux, Novell NetWare) требуется на каждом конкретном компьютере проверять экспериментальным путем.
Кроме того, на виртуальную машину могут быть установлены операционные системы, входящие в линейку Windows Server. Однако по непонятной причине Microsoft не слишком афиширует эту возможность. Вероятно, при работе серверной ОС в качестве гостевой не все ее возможности воспроизводятся в полной мере. Прежде всего это относится к службе каталогов Active Directory.
В качестве хостовых ОС могут использоваться только операционные системы семейства Windows (конкретно — Windows 2000/ХР Professional или выше). На гостевую ОС могут быть установлены любые поддерживаемые ею приложения, включая компьютерные игры и программы для работы в Интернете. В виртуальной машине обычным образом используются такие устройства, подключаемые к реальному компьютеру, как принтеры, модемы и устройства чтения CD/DVD. Стандартные устройства ввода, подключаемые к USB-порту, поддерживаются посредством эмуляции интерфейса PS/2. Однако те устройства с интерфейсом USB, для которых требуется устанавливать собственный драйвер (например, сканеры), Virtual PC 2004 не поддерживает. Кроме того, виртуальная машина Virtual PC «не видит» физическую видеокарту хост-компьютера и не поддерживает устройства с интерфейсом SCSI. Вместе с тем необходимо отмстить, что Virtual PC 2004 позволяет выделять на каждую ВМ до 3,6 Гбайт оперативной памяти (при ограничении емкости реальной ОП хост-компьютера значением 4 Гбайт).
Работа с виртуальными дисками
Особо следует отметить возможности Virtual PC 2004 по работе с виртуальными жесткими дисками. К таковым, в частности, относятся возможность подключения к каждой ВМ до трех виртуальных жестких дисков и поддержка трех типов таких дисков: диска фиксированного размера, динамического диска и связанного диска.
■ Диск фиксированного размера (fixed virtual hard disk) — это «обычный» виртуальный диск. Такой диск представляет собой файл (в формате VHD — Virtual Hard Disk), который пользователь может сохранить в любой папке реального жесткого диска хост-компьютера. Размер VHD-файла приблизительно равен емкости виртуального жесткого диска, выбранной пользователем при создании ВМ; максимально возможный размер VHD-файла зависит от располагаемого свободного пространства на реальном диске.
■ Динамический диск (dynamic virtual hard disk) отличается от диска фиксированного размера тем, что размер эмулирующего его VHD-файла изменяется в зависимости от объема «записанных на диск» данных; исходный размер этого файла выбирается автоматически (минимально необходимым для работы ВМ). Динамический диск создается по умолчанию при генерации новой виртуальной машины.
2
В настоящее время компания Parallels разделилась на две самостоятельные компании. Первая из них, сохранившая прежнее название, продвигает свой продукт под торговой маркой Parallels; вторая, получившая название Serenity Systems International (http://www.serenityvirtual.com), наоборот, использует прежнее наименование продукта — SVISTА — и его логотип; оба варианта виртуальных машин могут работать на ОС Windows NT/2000/XP и Linux.