Алексей Гультяев
ВИРТУАЛЬНЫЕ МАШИНЫ
Несколько компьютеров в одном
Введение
Технология виртуальных машин позволяет запускать на одном компьютере несколько различных операционных систем одновременно. Либо, по крайней мере, оперативно переходить от работы в среде одной системы к работе с другой без перезапуска компьютера. Причем, работая с дополнительной, «гостевой» операционной системой, вы не почувствуете никаких ограничений в использовании ее возможностей, получая полную иллюзию работы с реальной системой. И при этом вы можете выполнять в такой системе различные малоизученные или потенциально опасные для нее операции, совершенно не беспокоясь о последствиях: ведь система все-таки является виртуальной, и ее крах будет означать лишь повреждение одного-двух файлов, отсутствие которых никак не скажется на работе реальной системы.
Какие преимущества дает такая возможность, предположить несложно. Но их перечисление мы отложим до первой главы книги, ограничившись лишь следующим замечанием.
Сегодня виртуальные машины переживают второе рождение и при этом находят признание не только у сотрудников информационных служб предприятий, но и у пользователей домашних компьютеров.
Это обусловлено целым рядом причин, включая возросшую вычислительную мощность персональных компьютеров, наличие многочисленных версий и редакций операционных систем, расширение круга задач, решаемых с помощью компьютерной техники.
В книге рассмотрены три наиболее популярных на сегодняшний день инструмента, предназначенные для создания виртуальных машин и управления ими: Virtual PC 2004 компании Microsoft, VMware Workstation компании VMware и относительно «свежий» продукт — Parallels Workstation, созданный в компании Parallels. Причем описание всех «конкурирующих» программ построено по одной и той же схеме, чтобы читателю проще было сравнить их между собой и сделать обоснованный выбор.
На прилагаемом к книге компакт-диске представлены демонстрационные (полнофункциональные, по с ограниченным временем действия) версии всех трех продуктов, а также некоторые дополнительные материалы по виртуальным машинам.
От издательства
Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты comp@piter.com (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
Подробную информацию о наших книгах вы найдете на веб-сайте издательства http://www.piter.com.
Глава 1
Знакомство с технологией виртуальных машин
Понятие «виртуальная машина» появилось на свет несколько десятков лет назад, еще в конце 60-х годов прошлого века. Вот только применялись тогда виртуальные машины не на персональных компьютерах, а на «больших» ЭВМ типа IBM/370 (или их советского аналога — ЕС ЭВМ), да и задачи у них были несколько иные: предоставить каждому из многочисленных пользователей свой, независимый «кусочек» ресурсов вычислительного монстра.
Зачем нужны виртуальные машины
Сегодня виртуальные машины переживают второе рождение. Один из «отцов» современного поколения виртуальных машин, профессор Розенблюм[1], объясняет их возрождение двумя основными причинами:
■ появлением большого числа разных операционных систем (ОС), предъявляющих специфические требования к параметрам используемых аппаратных компонентов компьютера;
■ большими затратами на администрирование и сложностью обслуживания компьютеров, на которых установлено несколько различных операционных систем (в том числе в плане обеспечения требуемой надежности и безопасности работы).
Современная виртуальная машина позволяет скрыть от установленной на ней операционной системы некоторые параметры физических устройств компьютера и тем самым обеспечить взаимную независимость ОС и установленного оборудования.
Такой подход предоставляет пользователям (и/или администраторам вычислительных систем) целый ряд преимуществ. К ним в частности относятся:
■ возможность установки на одном компьютере нескольких ОС без необходимости соответствующего конфигурирования физических жестких дисков;
■ работа с несколькими ОС одновременно с возможностью динамического переключения между ними без перезагрузки системы (рис. 1.1);
■ сокращение времени изменения состава установленных ОС;
■ изоляция реального оборудования от нежелательного влияния программного обеспечения, работающего в среде виртуальной машины;
■ возможность моделирования вычислительной сети на единственном автономном компьютере.
Рис. 1.1. Несколько виртуальных машин на одном рабочем столе
Благодаря этим преимуществам существенно расширяется круг задач, которые пользователь может решать без перезагрузки системы и без опасения нанести ей какой-либо ущерб или полностью вывести ее из строя. Вот только некоторые примеры таких задач:
■ освоение новой ОС;
■ запуск приложений, предназначенных для работы в среде конкретной ОС;
■ тестирование одного приложения под управлением различных ОС;
■ установка и удаление оценочных или демонстрационных версий программ;
■ тестирование потенциально опасных приложений, относительно которых имеется подозрение на вирусное заражение;
■ управление правами доступа пользователей к данным и программам в пределах виртуальной машины.
Читатель, вероятно, и сам без труда дополнит приведенный перечень двумя-тремя ситуациями, когда наличие на компьютере виртуальной машины оказалось бы весьма кстати.
Каким пользователям желательно научиться работать с виртуальными машинами? Пожалуй, всем, у кого на компьютере установлено более одной ОС. А также тем, кто хочет освоить новую операционную систему, но не решается сразу отказаться от предыдущей. Весьма полезны виртуальные машины преподавателям различных компьютерных курсов и дисциплин, а также разработчикам многоплатформенных программных продуктов. Особый интерес они представляют для веб-дизайнеров: ведь созданные ими страницы должны выглядеть одинаково привлекательно для пользователей, работающих на самых разных системах и платформах. Имея возможность с помощью системы виртуальных машин быстро переключаться из одной среды и другую, «правильный» веб-дизайнер вряд ли упустит шанс проверить результат своей работы в различных веб-браузерах.
Все перечисленные достоинства виртуальных машин являются общими для многих из них. Помимо этих общих свойств, конкретный программный продукт обладает, как правило, индивидуальными особенностями, призванными повысить его привлекательность в сравнении с конкурирующими изделиями.
На веб-сайтах разработчиков виртуальных машин можно найти многочисленные примеры использования технологии таких машин различными известными компаниями. Так, виртуальные машины VMware используются компанией Symantec для тестирования сетевых антивирусных пакетов; программисты популярной поисковой системы Google применяют виртуальные машины VMware для оценки эффективности работы Google с разными веб-браузерами и на разных платформах.
Как работает виртуальная машина
Начнем с уточнения терминов.
Терминология
С точки зрения пользователя,виртуальная машина (ВМ) — это конкретный экземпляр некой виртуальной вычислительной среды («виртуального компьютера»), созданный с помощью специального программного инструмента. Обычно такие инструменты позволяют создавать и запускать произвольное число виртуальных машин, ограничиваемое лишь физическими ресурсами реального компьютера.
Собственно инструмент для создания ВМ (его иногда называют приложением виртуальных машин, или ПВМ) — это обычное приложение, устанавливаемое, как и любое другое, на конкретную реальную операционную систему. Эта реальная ОС именуется «хозяйской», или хостовой, ОС (от англ. термина host — «главный», «базовый», «ведущий»).
1