Компьютерные матрешки

20 ноябрь, 2002 - 00:00Богдан Вакулюк
В повседневной работе среднестатистического пользователя нечасто возникают ситуации, при которых требуется наличие нескольких операционных систем на одном ПК. Зато уж если такая необходимость возникнет -- жди проблем. Хорошо, когда область задач ограничена лишь Windows-системами, -- тут процесс установки и совмещения может пройти относительно безболезненно. Хуже обстоит дело с Unix-подобными и другими ОС -- здесь не обойтись без переразбивки диска, инсталляции менеджера загрузки и других технологических процедур. При их выполнении даже небольшие ошибки чреваты большими неприятностями. Однако способ "поэкспериментировать" с различными "операционками", абсолютно не рискуя собственной информацией, все-таки есть.
Способ этот достаточно прост и хорошо известен. Необходимо создать виртуальную машину, аппаратные ресурсы (самые главные из них -- жесткие диски и сетевые карты) которой будут полностью изолированы от "настоящего" hardware. Установив на такой эмулятор какую-нибудь среду, можно совершать с ней самые невероятные действия (например, с целью обучения). Даже если они и приведут к краху виртуального компьютера, процедура восстановления его работоспособности будет включать в себя пару щелчков мыши. Так же легко можно избавиться и от оказавшейся ненужной операционной системы.

Вообще, идея подобного ПО не нова. Известны десятки более или менее удачных примеров. Здесь и многочисленные Mac-эмуляторы для PC (или PC-эмуляторы для Mac); варианты виртуальных игровых приставок (Sony Playstation, Nintendo), позволяющие успешно запускать даже сложные игры; отладочные утилиты, предоставляемые разработчикам для различных КПК-платформ, -- все это ПО использует один и тот же принцип функционирования. Оно с помощью software-уровня эмулирует тот или иной аппаратно-программный комплекс и выполняет машинный код соответствующего процессора.

Цель данного обзора заключается не в том, чтобы охватить все существующие продукты такого рода, а в том, чтобы рассказать лишь о небольшой их группе -- эмуляторах компьютеров с архитектурой х86 для все тех же ПК на базе х86. Тем более что программ, которые можно назвать по-настоящему "пользовательскими", не так уж и много. По сути, их всего две -- Virtual PC производства американской компании Connectix и VMWare Workstation от фирмы VMWare, которая изначально специализировалась на разработках виртуальных систем.

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

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

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

Ну и конечно, понятны выгоды разработчиков. Кроме основной возможности -- создавать и тестировать программы сразу для нескольких платформ без многократной перезагрузки, у эмуляторов есть и другие полезные функции. Так, например, для тестирования клиент-серверного ПО вышеупомянутые пакеты позволяют имитировать целую сеть ПК (сама программа при этом выступает в роли виртуального коммутатора). А еще такие средства будут полезными для Web-программистов, в задачи которых обычно входит разработка кода для конкретных Unix-систем под определенные Web-серверы.


Connectix VirtualPC 5.3

Компьютерные матрешки
Connectix Virtual PC 5.3. Цена в Киеве: Virtual PC + Microsoft Windows XP Professional Pack -- 1999 грн за лицензию для одного пользователя
Virtual PC, пожалуй, -- наиболее известный и популярный эмулятор компьютеров на базе x86. Дополнительным преимуществом этого продукта компании Connectix является наличие варианта для Macintosh. Последняя версия (5.0) предназначена для Mac OS 9.0 и OS X, к тому же она совместима с Windows-пакетом, поэтому однажды установленную на виртуальный диск систему можно безболезненно перемещать между платформами.

Дистрибутив программы занимает всего 23 МВ, инсталляция его крайне проста, а сам Virtual PC имеет минимум настроек, позволяющих отрегулировать быстродействие виртуальных машин, выбрать сетевой интерфейс, указать тип host-клавиши и несколько других параметров. Создание новой виртуальной машины (меню New PC...) проводится в несколько этапов, преодолеть которые поможет несложный мастер установки. В процессе его прохождения необходимо указать имя нового компьютера, тип операционной системы (от этого зависит hardware-конфигурация по умолчанию), количество оперативной памяти и файл для размещения образа основного жесткого диска (расширение .vhd). После начальной комплектации с помощью меню Settings... можно осуществить более тонкую настройку "новорожденного" компьютера. Например, включить удаленный доступ посредством VNC-клиента или указать соответствие виртуальных последовательных и параллельного портов их реальным аналогам. Кроме этого, в случае с COM-портами доступен еще и такой вариант -- перенаправить ввод/вывод в произвольный текстовый файл (это удобно, когда нужно протестировать работу утилит, которые используют такие операции).

Также при необходимости настройки позволяют подключить еще два образа HDD, что будет соответствовать двум свободным каналам IDE-контроллера (четвертый зарезервирован для CD-ROM/DVD). Для этого их надо предварительно подготовить с помощью мастера Virtual Disk Wizard. Виртуальные диски Virtual PC бывают нескольких типов -- он указывается в процессе их создания. Fixed Size disk image -- самый простой и беспроблемный вариант. В этом случае весь объем имитируемого HDD выделяется сразу и на диске создается vhd-файл соответствующего размера. Однако более экономным способом является использование динамического образа (Dynamically expanded disk image) -- vhd-файл расширяется постепенно, по мере наполнения "виртуального" жесткого диска. При этом ограничение по объему может либо быть, либо нет -- последний вариант следует выбирать лишь при создании предварительно отформатированного HDD (доступны только файловые системы FAT и FAT32), иначе форматирующая программа устанавливаемой ОС будет стремиться заполнить все свободное место реального тома. Существуют и другие, более "опасные" варианты -- связать disk image с имеющимся разделом физического HDD или же с дисковым устройством в целом. Кроме вышесказанного, мастер Virtual Disk Wizard позволяет просмотреть информацию о виртуальном винчестере, изменить его конфигурацию или создать образ floppy-диска.

Отдельного рассмотрения заслуживает работа сетевой подсистемы. Virtual PC предлагает три варианта. Пункт None в дополнительных комментариях не нуждается -- виртуальная машина остается отрезанной от внешнего мира. При выборе Shared Networking (NAT) guest-компьютеры работают с сетью посредством одного IP-адреса, принадлежащего host-машине, Virtual PC передает пакеты по назначению с помощью механизма NAT. При этом пакет превращается в локальный DHCP-сервер (по отношению к гостевым машинам). На приобретение этой службы и следует настраивать устанавливаемые операционные системы.

Компьютерные матрешки
Список оборудования для виртуального компьютера от Cоnnectix
Однако для использования серверных служб оптимальным будет режим виртуального коммутатора (Virtual Switch), когда каждый из имитируемых компьютеров имеет собственный постоянный IP-адрес. При этом маршруты пакетов можно ограничить лишь сообщением между компьютерами Virtual PC (пункт Local), между ними и host-машиной (Local and Host), только с внешними компьютерами (External only) или не ограничивать вовсе (Local, host and external).

После установки всех вышеописанных параметров виртуальный ПК готов к запуску. По нажатии кнопки Start Up появляется знакомое черное окно с сообщениями BIOS производства компании AMI. Дальнейшая работа с такой машиной мало чем отличается от действий, выполняемых обычным x86-компьютером, -- надо воспользоваться загрузочной дискетой (или CD-диском) и начать инсталляцию какой-либо операционной системы. Кстати, для упрощения этой процедуры Connectix предлагает приобрести файлы-"образы" уже установленных и сконфигурированных ОС семейства Windows (Guest Pack). Стоит это удовольствие, правда, недешево.

Теперь о том, какое же именно "железо" имитирует Virtual PC. В качестве процессора Windows 98 опознает в точности тот CPU, который и установлен в реальном компьютере, при этом пакет позволяет использовать PAE (Physical Adress Extension) -- расширение адресной шины, предложенное Intel. Материнская плата классическая -- Intel BX, системные компоненты полностью ей соответствуют. Благодаря эмуляции реально существующей видеокарты -- S3 Trio 32/64 PCI -- разработчикам Connectix даже удалось добиться полной поддержки DirectX HAL (конечно, в том объеме, в котором это вообще возможно для S3 Trio). В качестве звуковой карты выступает Sound Blaster 16. Ни одна из "подопытных" операционных систем (Windows, Linux, FreeBSD, Solaris, BeOS) не испытала никаких проблем с таким набором hardware.

Большим достоинством Virtual PC являются средства, позволяющие вмешиваться в функционирование виртуальных ОС на лету. Так, например, привод CD-ROM (или дисковод) можно переключать с реальных физических устройств на ISO-образы, хранящиеся на диске. Или же отображать в качестве дисковых томов любой из каталогов, доступный "несущей" системе. Для некоторых типов ОС вначале рекомендуется установить набор расширений, поставляемых в виде ISO Image. Для Windows он обеспечивает ряд полезных функций, таких, как копирование текста между host- и guest-системами, установку произвольного разрешения в зависимости от размера окна эмулятора. При этом оно сохраняется и в полноэкранном режиме.

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

Потенциально Virtual PC обеспечивает одновременное функционирование неограниченного количества операционных систем -- все дело лишь в размере ОЗУ пользовательской машины.


VMware Workstation

Компьютерные матрешки
VMware Workstation. Цена в Киеве: VMware Workstation для Windows XP, NT, 2000 -- 2705 грн, VMware Workstation для Linux --2799 грн
Этот продукт является главным конкурентом Virtual PC -- сделать такой вывод можно, просто полистав пресс-релизы Connectix. Именно с VMware Workstation сравнивают свой пакет маркетологи компании, когда говорят о его достоинствах -- эмуляции реально существующих устройств, поддержке PAE, высокой надежности работы. Однако наряду с этими преимуществами программа Connectix имеет и ряд недостатков в сравнении с VMware (главному из которых посвящен последний раздел обзора). Но вначале -- небольшое описание продукта.

Размер дистрибутива составляет 17,7 МВ, и инсталляция его крайне проста. Процесс создания нового компьютера, также, как и у Virtual PC, осуществляется с помощью интерактивного мастера. При этом необходимо указать тип предполагаемой операционной системы, имя машины, объем выделяемого ОЗУ, тип сетевой подсистемы. VMware предлагает всего два типа виртуальных дисков -- динамический, с ограничением объема (он представляет собой файл с расширением .vmdk), или образ, связанный с реальным физическим устройством. Однако в отличие от Virtual PC, VMware позволяет эмулировать как IDE, так и SCSI HDD. Следует быть внимательным -- однажды задав этот параметр, изменить его уже невозможно.

Различия двух пакетов этим не ограничиваются. В то время как продукт от Connectix сразу создает почти полную аппаратную конфигурацию, VMware устанавливает лишь необходимое "железо". Так, например, по умолчанию виртуальный компьютер будет лишен звука. Дополнительные компоненты следует вводить с помощью диалога Configuration Editor. Вообще же, список устройств, которые эмулирует VMware, значительно шире. Кроме вышеупомянутых HDD, здесь присутствуют еще и USB-порты, а также другие SCSI-модули (сканеры и т. д.). Более гибко настраиваются виртуальные и последовательные порты -- потоки ввода/вывода можно перенаправлять не только в физические порты и внешние файлы, но и в именованные каналы (named pipes). И конечно, VMware позволяет указать iso-образы в качестве источника для CD-привода и дисковода.

Компьютерные матрешки
Количество эмулируемых компонентов у VMware несколько больше
Список сетевых режимов почти идентичен пакету Connectix. Bridged означает, что имитируемая машина представляет собой самостоятельный компьютер с уникальным IP-адресом и доступен по всей сети, NAT -- VMware и обеспечивает службу Nat и превращается в локальный DHCP-сервер. Наконец, выбор Host-only ограничивает круг видимости лишь эмуляторами, запущенными на одной машине.

Работа с "готовым" компьютером практически аналогична Virtual PC. Так же, как и конкуренты, VMware декларирует наличие заранее сконфигурированных файлов-"образов" с установленными ОС, однако найти какую-нибудь информацию об их стоимости на сайте компании не удалось. Аналогично продукту Connectix, разработчики VMware Workstation рекомендуют установить системные расширения (для Windows и Linux), поставляемые в виде ISO Image. Для ОС семейства Windows они обеспечивают улучшенное быстродействие и поддержку SVGA-режимов (операционным системам, для которых дополнений не существует, приходится довольствоваться VGA).

Поскольку в качестве видеоадаптера используется "карта" производства VMware (VMware SVGA II), то разработчики "честно признаются" в том, что о поддержке DirectX речь пока не идет. В остальном же перечень оборудования похож на Virtual PC (отличия наблюдаются только в области сетевых адаптеров и доступных портов).

Несмотря на "уникальный" видеоконтроллер, в целом, VMware также достойно выдержал "пытку операционными системами". Единственный сбой произошел при установке Caldera Open Linux, из-за того, что эмулятор не поддерживает PAE. В принципе, такая проблема решается путем перекомпиляции ядра Unix-систем с отключенным использованием этого расширения, однако при инсталляции "фирменных" дистрибутивов, поставляемых на CD, данное препятствие может оказаться непреодолимым.


Быстродействие

А теперь немного о том, что первым делом пытаются выяснить потенциальные пользователи эмуляторов x86, -- о быстродействии подобных систем. Для его общей оценки было проведено несколько субъективных тестов и серия тестов SYSmark 2000. В качестве host-компьютера использовалась следующая конфигурация: Athlon XP 1700+, 256 MB DDR, Matrox G450, FireWire HDD 60 GB, ОС Windows XP Professional. Guest-системы: 128 МВ, 2 виртуальных диска IDE, Microsoft Windows 98.

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

Существенно медленнее у Virtual PC и дисковые операции. Особенно это становится заметно при копировании информации с дисков "несущей" системы. Возможно, именно с этим связано то, что не все тесты из пакета SYSmark завершились успешно. Последние уверенно подтвердили результаты субъективной оценки. Согласно их показателям, VMware Workstation практически в два раза "быстрее" Virtual PC (78 баллов против 143). Сравнивая эти цифры с эталонными, можно сделать следующие выводы: производительность виртуальной машины VMware на вышеуказанной конфигурации host-компьютера эквивалентна Pentium III 700--800 MHz, соответственно Virtual PC -- 300--400 MHz. Для большинства задач, которые целесообразно запускать на "эмулированных" ПК, этого вполне достаточно.

Впрочем, полученные результаты не претендуют на роль истины в последней инстанции. И поскольку оба пакета доступны на сайтах в виде trial-версий, мы рекомендуем вам загрузить их и составить собственное мнение об использовании этого, по-своему уникального ПО.

Продукты предоставлены компанией "Cофтпром": тел. (044) 242-5300