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

На лугу пасутся ОСы

Архив
автор : Алексей Дубовцев   20.08.2003

При использовании нескольких ОС нас поджидают две трудности. Первую мы уже назвали — необходимость перезагрузки компьютера для запуска новой операционной системы.

Сегодня не только программисты, но и многие пользователи устанавливают на своих компьютерах сразу несколько операционных систем. Тому есть несколько причин. Первая из них — быстрые темпы появления нового программного обеспечения, которое зачастую не работает на старых ОС. Нельзя сбрасывать со счетов и проблему обратной совместимости, когда старые программы не работают на новых операционных системах, и приходится переключаться между ОС, перезагружая компьютер. Наконец, многим необходимы для работы операционные системы разного класса — к примеру, всем хорошо известные Windows и Unix.

Виртуальная машинерия

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

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

Виртуальная машина представляет собой обычную программу, которая умеет «прикидываться» компьютером. А операционная система, работающая из-под нее, доверчиво полагает, что выполняется на обычном «железе». Эмуляция компьютера включает в себя все основное оборудование, начиная с дисковода и заканчивая видеокартой, — что, конечно же, требует больших ресурсных затрат от системы. Поэтому высокой производительности от виртуальной машины ждать не стоит.

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

Также виртуальные машины активно используются при разработке самих ОС. К примеру, с сайта Microsoft вы можете совершенно безвозмездно скачать дистрибутив Windows CE .NET Emulation Edition, в поставку которого входят исходные коды вышеупомянутой ОС, а также виртуальная машина от фирмы Connectix, позволяющая тестировать свой код после сборки прямо на месте, не прибегая к переносу на портативные платформы.

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

VMWare

Существует несколько виртуальных машин от разных производителей. Лидерами среди них являются VMWare от VMWare Inc. и Virtual PC от Connectix. Подробнее мы рассмотрим первую.

На сегодняшний день VMWare Workstation поддерживает более двух десятков операционных систем, начиная с банальных DOS и Windows (в том числе и недавно появившейся Windows 2003 Server) и заканчивая такой экзотикой, как NetWare и Turbolinux. Полный список есть на сайте производителя www.vmware.com; оттуда же вы сможете скачать бесплатную пробную версию ПО1.

VMWare эмулирует компьютер не целиком: она использует в своей работе реальный процессор, так как его эмуляция отбирает слишком много ресурсов, что значительно снижает производительность виртуальной машины. Однако не стоит беспокоиться о том, что код вложенной операционной системы, исполняющейся на реальном процессоре, доберется до оборудования. Разработчики VMWare не пожалели сил, дабы изолировать от него вложенную операционную систему. Таким образом, вы можете творить в VMWare все, что вздумается, не опасаясь неприятных последствий для своего «железного друга».

Оперативная память

Ваш компьютер должен обладать немалым объемом оперативной памяти, поскольку каждая из виртуальных машин VMWare отхватывает солидный кусок. Его величина будет всецело зависеть от типа операционной системы. К примеру, для уверенной работы систем класса Windows 9x хватает 128 мегабайт. А вот для Windows 2003 Server придется расстаться уже как минимум с 256 мегабайтами оперативной памяти. Если же потребуется одновременно запустить несколько операционных систем, то скорее всего и полугигабайта не хватит.

Жесткие диски

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

Второй, расширенный режим работы жесткого диска позволяет проецировать виртуальный жесткий диск не из файла, а непосредственно с раздела на реальном винчестере. Такая возможность незаменима для тех, у кого установлены операционные системы на других разделах. После инсталляции VMWare можно сразу же, без установки, запускать эти операционные системы. Эта возможность очень полезна и в том случае, если требуется запустить предустановленную операционную систему с «нового» (чужого, другого) винчестера.

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


1 (назад) В последней, четвертой версии программа VMWare Workstation была оптимизирована и усовершенствована. Так, появилась возможность просмотра потокового видео из-под вложенных операционных систем: разработчики добились того, что воспроизведение видео происходит плавно. Впрочем, как должно быть понятно уважаемому читателю, виртуальные машины нужны вовсе не для того, чтобы смотреть видео, у них куда более интересное предназначение.

 

Дисководы

Виртуальная машина VMWare поддерживает проецирование реальных дисководов на соответствующие виртуальные устройства. Одна из приятных сторон данной опции заключается в том, что вы можете загружать виртуальную машину с этих устройств. Если требуется быстро проверить работоспособность загрузочной дискеты или компакт-диска, можно сделать это, не перезагружая систему. Кроме того, загрузка с привода CD-ROM незаменима, когда нужно поставить новую вложенную операционную систему: установка ОС на виртуальную машину с компакт-диска ничем не будет отличаться от обычной.

Как и в случае с винчестерами, вы можете использовать вместо реальных носителей информации файлы образов. То есть вместо CD-ROM вы можете подключать файл в формате ISO, а вместо дискеты — образ в малоизвестном формате FLP. FLP-образ дискеты можно создать из самой VMWare.

Взаимодействие

Существует четыре возможных способа связи с вложенной операционной системой:

- Через жесткий диск, если он напрямую используется из виртуальной машины. Вы можете использовать реальный жесткий диск из базовой операционной системы; при этом, естественно, все изменения будут отражаться на виртуальном диске.
- Через специальную технологию совместных папок (Shared Folders). Вы можете выбрать некоторую папку на жестком диске и спроецировать ее содержимое на виртуальный логический диск во вложенной операционной системе. При появлении новых файлов в выбранной базовой папке все изменения будут тотчас же отражаться на соответствующем логическом виртуальном диске. Этот метод один из самых доступных и простых.

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

- Через сеть, посредством ее эмуляции. Виртуальная машина VMWare умеет эмулировать сетевую карту. Через нее производится связь с реальной операционной системой. Во время установки на реальную операционную систему появляется виртуальный сетевой адаптер VMWare Network Adapter, который предоставляет сетевой интерфейс для связи с виртуальной машиной. По сути дела, этот адаптер ничем не отличается от реального. После его настройки в сетевом окружении появится еще один компьютер — виртуальная машина VMWare. C этим компьютером можно общаться точно так же, как и с любым другим из вашей локальной сети. Если будет запущено несколько вложенных операционных систем, то в сетевом окружении появится столько же новых компьютеров. Главное, не забыть произвести настройки сети не только на уровне реальной операционной системы, но и на уровне самих вложенных операционных систем. Во вложенных операционных системах настройка сети производится стандартным образом для адаптера VMWare Network Adapter: делается установка необходимых протоколов, IP-адреса и маски подсети. Можно дополнительно настроить сеть за счет стандартных средств самой виртуальной машины VMWare. С их помощью можно провести более точное конфигурирование Network Address Translation (NAT), Dynamic Host Configuration Protocol (DHCP), виртуальных сетевых карт, а также мостов между ними. Это очень удобно при тестировании сетевых программ: вы можете создать несколько виртуальных машин и организовать на одном компьютере «мини-локальную сеть». Правда, базовый компьютер должен быть очень мощным, чтобы одновременно исполнять несколько операционных систем.

USB

USB-контроллер виртуальной машины тоже является проекцией реального контроллера. Он позволяет использовать внешние устройства, подключаемые к USB-портам. Чтобы протестировать эту возможность, к USB был подключен внешний инфракрасный порт, а на вложенную операционную систему установлено программное обеспечение для связи сотового телефона с компьютером. На удивление, оно работало без проблем, и фотографии с сотового телефона попали во вложенную ОС.

Дополнительные удобства

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

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

Производительность

Как показывает практика, главное при использовании виртуальных машин — это не многообразие опций, а производительность и работоспособность. Для ее испытания была использована последняя версия популярного пакета Sandra Standart MAX3 и поочередно запущены все основные тесты.

Компьютер имел следующую конфигурацию: процессор Athlon 2700, материнская плата ASUS A7V333 с чипсетом VIA KT333, память — две планки DDR 2700 по 512 Mбайт каждая (всего 1 Гбайт), частота шины и внешняя частота процессора были доведены до 340 МГц. На компьютер была установлена последняя лицензионная версия операционной системы Windows 2003 Server. Такой конфигурации в принципе хватало для скромной работы с виртуальными машинами — правда, к сожалению, при одновременном запуске более трех вложенных операционных систем разного класса (то есть, вместе с базовой, четырех) плавность работы нарушалась. Основная проблема заключалась в нехватке оперативной памяти: при наличии гигабайта и одновременной работе всех четырех ОС оставалось всего лишь 90 Мбайт свободной памяти, притом что каждой из систем выделялось в среднем по 256 Мбайт.

Результаты тестов вы можете увидеть на иллюстрациях. Производительность процессора в обычном и мультимедийном режиме приятно удивила — она не сильно уступала реальному компьютеру. А вот в тесте на общую производительность цифры оказались хуже. Хотя в процентном соотношении разница между результатами тестов реальной и виртуальной систем составила не так уж много — около 13%.

Безусловно, виртуальная машина незаменима в повседневной жизни системных администраторов и программистов. Мне с ее помощью удалось протестировать множество сетевых технологий на одном локальном компьютере, включая Windows Remote Desktop, Windows Terminal Services, Windows Home Network, Distribute File System, Routing, NAT, DHCP и другие расширенные сетевые настройки. Надо отдать должное производителю VMWare: продукт в самой легкой модификации стоит относительно недорого — около $300. Однако для его полноценного использования потребуется высокопроизводительное дорогостоящее оборудование, то есть, попросту говоря, очень мощный компьютер.

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