Архивы: по дате | по разделам | по авторам

СофтFeрра, или Сбылась мечта шизофреника

Архив
автор : Максим Отставнов   25.04.2000

1 апреля, обходя окрестности сервера www.vmware.com в поисках обновлений, я обнаружил вполне соответствующий духу дня пресс-релиз о том, что известная корпорация Microsoft заключила с известной пока несколько меньше компанией VMware соглашение о поставках предустановленных на продукцию VMware OEM-версий Windows 98 и 2000.

Эка невидаль, скажете вы, да мало ли у Microsoft OEM-партнеров?! Таких - мало, пока один, поскольку "железо", выпускаемое VMware, - самое мягкое в мире.

x86 под Х


Программный эмулятор x86-платформ VMware 2.0 реализован под Linux/X Window и под MS Windows NT/2000, а в качестве официально поддерживаемых виртуальной машиной "гостевых" (то есть устанавливаемых на сем "программном железе") софт-платформ перечислены FreeBSD, Linux, MS-DOS и Windows 3.1x/9x/NT/2000.

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

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

Ограничусь вариантом хозяина-Linux и гостя-Windows 9x. Он наиболее актуален для России: из-за мешанины в кодовых таблицах проблема унаследованных Windows-приложений и данных при миграции выросших из коротких штанишек предприятий на открытые системы стоит у нас гораздо острее, чем в latin1-ойкумене, и порождает порой немыслимые топологии локальных сетей (шизофрения как национальный третий путь?), TCO которых не возьмется просчитать и нобелевский лауреат по экономике. А то и тормозит эту миграцию на неопределенное время.

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

Установка VMware (по крайней мере, под Red Hat и ее потомством [1]) проходит без проблем.

Практикум


WMware позволяет создать неограниченное число виртуальных машин - описаний конфигурации, к которым могут присовокупляться образы виртуальных дисков. Задать новую конфигурацию проще всего с помощью Wizard'а. Указываем гостевую ОС (Windows 98), объем памяти (мегабайта так 32), "устанавливаем" в слот Primary-Master виртуальный диск (мегабайт на 300), обязательно "устанавливаем" виртуальный сетевой адаптер Host Only Networking [2], "устанавливаем" в слот CD-ROM - физический CD-ROM, и - все, поехали, виртуальная машина начального уровня создана.

Дальше все тривиально. "Включаете" машину, нажав соответствующую кнопку в окне VMware, и... машина запускается: загружается BIOS, тестируется память, полный вперед. Жмите F2 и говорите: грузись с CD-ROM.

После загрузки надлежит отформатировать виртуальный диск, а поскольку это именно диск ("винт", HDD, НЖМД), а не раздел, его следует предварительно разметить программой fdisk. Вы спросите: а нельзя ли вместо этого загрузиться с физического диска с уже установленной Windows? Можно, но последствия будут такими же, как при перетаскивании винчестера с одного физического фрейма на другой: аппаратный plug'n'play вкупе с программным отделают раздел Hardware в Реестре как бог черепаху, и только вскрытие покажет, кто из них был не прав. Дважды сертифицированный ордена Гейтса инженер Microsoft скажет, что на сей случай в Windows можно предварительно установить дополнительную аппаратную конфигурацию, но я в такие игры не играю: они рано или поздно заканчиваются тем, что при очередной загрузке неправильно выбираешь эту самую конфигурацию.

Установка Windows - она и есть установка Windows, хоть в Африке, хоть на VMware: не пройдет и часа [3], как вы получите переливающееся (пока что 256 цветами) детище Microsoft в половину натуральной величины [4].

Прежде чем выключить "питание" виртуальной машины, не забудьте отработать shutdown. Более привлекательным вариантом может быть принудительное усыпление машины: как и при аппаратном suspend'е, состояние рабочей среды сохранится и при последующем пробуждении восстановится.


Дальше можно смело ставить софт и осторожно добавлять устройства (см. врезку). Осторожно, поскольку иметь непосредственный [5] доступ к винчестеру (или его разделу) необходимо только разработчику. В пользовательской же перспективе нужен, как правило, доступ к каталогам и файлам, и концептуально правильным (а потому единственно верным) решением является: смонтировать нужные разделы под ОС-хозяином (даже если хозяин - Linux, а разделы - FAT), экспортировать соответствующие каталоги и обращаться к ним сетевыми средствами.

 
Мягкий хард от VMware

Графический интерфейс VMware опознается по умолчанию как Standard VGA, что неудобно, некрасиво и страшно медленно. Однако в поставку входит виртуальная дискета (которой можно подменить дискету A: прямо на ходу), содержащая видеодрайвер VMware SVGA(FIFO), установки которого (в плане разрешения и количества цветовых плоскостей) ограничены только параметрами X server ОС-хозяина и который работает значительно быстрее.

Кроме видеодрайвера на дискете есть еще WMware Tools for Windows: панель управления некоторыми параметрами виртуальной машины из-под гостевой ОС. Меня особенно восхитила возможность гибкого управления курсором: "виндовый" курсор при пересечении границы окна WMware превращается в "иксовый" и наоборот (вот тут-то шизофрения и начинается). WMware Tools также позволяют автоматически перебрасывать содержимое "виндового" буфера обмена в буфер обмена оконного менеджера под X и обратно, правда, с соответствующими разнице между кодовыми таблицами последствиями для кириллицы. И, наконец, часть устройств можно подключать/отключать прямо из окна Tools под Windows.

"Снаружи" (из меню WMware) конфигурацию виртуальной машины можно менять в гораздо более широких пределах. В каждый из четырех IDE-слотов и из семи SCSI-слотов можно "вставить" либо физическое устройство из конфигурации хозяйской ОС (именно устройство, то есть винчестер, а не отдельный раздел), либо "виртуальный винчестер", образ которого будет храниться в создаваемом при установке файле. Кроме этого, есть отдельный слот CD-ROM и два флоппи. При этом имеются опции "постоянного" диска (изменения записываются более или менее в реальном времени и сохраняются), "неизменяемого" (изменения отменяются между сеансами работы) и даже "откатываемого" (при завершении сеанса изменения можно на выбор сохранить или отменить).

То же относится и к прямому доступу из гостевой системы к модемам и сетевым платам: все это работает (да, физический модем, "вставленный" в виртуальную машину, опознается и работает), но вместо физической сетевой карты в слот можно (и нужно!) "вставить" устройство Host only, которое распознается Windows как NE2000-совместимая карта, включенная во внутреннюю сеть Linux. Виртуальные модемы в версии 2.0 пока не поддерживаются.

Звуковую карту, наоборот, "вставляйте" смело: стандартный поток, организованный у меня в Linux посредством драйвера EMU10K и физически завязанный на SB Live!, отлично опознался гостевой Windows как SB32-совместимый, но без MIDI-возможностей.

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


Организовать ли доступ к ним "чистыми" IP-средствами, или эмулировать Microsoft Network посредством Samba [6], или NFS, а то и Novell'овские сети - это вопрос испорченности пользователя. В большинстве реальных топологий FTP-доступа от "гостя" к "хозяину" хватит за глаза и за уши. Ну, можно еще почту наладить, письма себе - дорогому root'у домена - писать.

А еще можно - если балуетесь вебмастерингом и привыкли проверять новые разделы и возможности сайта на своем локальном Apache под Linux - запустить под "гостем" MS IE и посмотреть, как сайт выглядит еще и в этом браузере...

Эпилог

Напомню: с точки зрения архитектуры, Windows 9x - это, грубо говоря, исполняющая подсистема Win32, работающая поверх MS-DOS "без присмотра", в то время как Windows NT (и продолжающие NT-линейку Windows 200*) обладает собственным ядром, управляющим как Win32, так и исполняющей подсистемой POSIX (то есть, по сути дела, усеченной *nix).

Соответственно конвергенция платформ от Microsoft с миром большого софта до сих пор рассматривалась в двух залогах: 1) как возможное портирование Win32 под *nix (гипотетический проект MS Linux, которая могла бы включать - наряду с одной из популярных поставок [или вновь сформированной собственной поставкой] Linux - Win32 [а значит, позволять исполнять Windows-приложения], обсуждается досужими умами достаточно давно, чтобы в самой Microsoft его обдумали серьезно), и 2) как "дотягивание" NT'шной POSIX-подсистемы до пристойного уровня (вне зависимости от собственных желаний в Microsoft вынуждены предпринимать хотя бы видимость шагов в этом направлении из-за требований, предъявляемых рядом крупных контракторов, в том числе правительственных заказчиков в США).

Сейчас не все помнят, что Microsoft была в числе пионеров переноса Unix на персональные компьютеры и еще двадцать лет назад представила свой проприетарный клон Unix под названием Xenix для x86, который с треском провалился. Возможно, полученная тогда совсем юной еще компанией "психологическая травма" и объясняет определенную "юниксофобию" Microsoft, не изжитую до сих пор. Кстати, упомянутый в начале статьи релиз при ближайшем рассмотрении оказался датированным не первым апреля, а тривиальным 28 марта.

Даст ли заключение этого OEM-соглашения и массовая эксплуатация Windows на VMware какой-то терапевтический эффект, пока неизвестно.



1 (обратно к тексту) - Я использовал Linux-Mandrake 7.0 RE, любезно предоставленный IPlabs Linux Team (www.iplabs.ru) для другой цели. Кстати, полная четырехдисковая поставка "Мандрагоры" включает VMware, но первую версию.

2 (обратно к тексту) - Добавить его в готовую конфигурацию с установленной гостевой ОС может оказаться нетривиальным делом.

3 (обратно к тексту) - Впрочем, это зависит от производительности и загруженности "хозяина": BIOS покажет частоту процессора, соответствующую частоте реально установленного процессора, но на самом деле смело делите ее на 2 или на 3.

4 (обратно к тексту) - При желании можно развернуть экран гостевой ОС на весь экран монитора - если X зацеплен у вас на седьмую виртуальную консоль, VMware заберет себе восьмую.

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

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



© ООО "Компьютерра-Онлайн", 1997-2022
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.