Виртуальная машина это программная реализация вычислительной машины (например компа), которая может исполнять программы, как обычный, реальный компьютер.
Изначально, виртуальные машины были изолированным дубликатом реальной машины. В настоящее время этот термин имеет небольшое отношение в какому-либо реальному оборудованию. Сейчас виртуальные машины предоставляют из себя полномасштабную системную платформу, которая поддерживает исполнение любых программ, включая Операционную Систему (ОС). Основное достоинство виртуальных машин заключается в том, что программное обеспечение работает в ограниченных ресурсах абстрактной среды, эмулируемой виртуальной машиной – оно не может вырваться из этого виртуального мира.
Например, всем известная виртуальная машина Java (Java Virtual Machine) – платформо-независимая программа, написанная на Java, в процессе работы пользуется Java Runtime Environment (JRE) для получения и отправки данных Оп. Системе. Таким образом, призванная предоставлять подобные сервисы программе, JRE функционирует как виртуальная машина.
Современные виртуальные машины поддерживают совместное использование аппаратных ресурсов компьютера, вместе с основной ОС, а также с другими виртуальными машинами, работающими параллельно. При этом совершенно неважно, какая ОС бежит в каждой из виртуальных машин.
К основным достоинствам виртуальных машин относятся:
- Возможность параллельной одновременной работы нескольких ОС на одном физическом компьютере в строгой изоляции друг от друга
- Возможность легко менять конфигурацию виртуального компьютера
- Доступность, простота в обслуживании и работе, возможность быстрого устранения неполадок и восстановления системы
Недостатки:
- Низкая производительность в сравнении с реальной машиной, из-за непрямого доступа к физическому оборудованию
ОС, установленная на виртуальной машине называется гостевой ОС (Guest Operating System).
Виртуальные машины часто используются на больших серверах, когда множественные сервисы запускаются на разных гостевых ОС, дабы избежать интерференции между ними (quality-of-service isolation – QoS isolation). Подобные сервера называются server consolidation.
Для простого пользователя виртуальная машина тоже может быть крайне полезна:
- В гостевой ОС можно смело экспериментировать со сторонним софтом, не боясь повредить или засорить основную ОС
- В виртуальной среде можно работать со старыми программами, отказывающимися работать в современных ОС
- Гостевая ОС может быть из совершенно другого семейства (например Linux или Mac OS, при основной ОС семейства Windows)
- Появляется возможность создать виртуальную компьютерную сеть на одном физическом компьютере, для выполнения сетевых экспериментов или отладки сетевого программного обеспечения
Существует огромное количество виртуальных машин под всевозможное операционные системы. Среди них есть, на мой взгляд 3, особенно популярные:
- VMWare – наиболее продвинутая виртуальная машина под ОС семейства Windows и Linux. VMWare поддерживает установку любых гостевых ОС, имеет поддержку аппаратного ускорения 3D графики (так что запуск Win7 с полноценным Aero и даже трехмерные игры не будут проблемой). Основной недостаток – программа платная. Но зато возможностей масса и качество на высоте.
- Microsoft Virtual PC – виртуальная машина для ОС Windows. Virtual PC поддерживает установку гостевых ОС только семейства Windows (хотя есть умельцы, которые обходили и это ограничение). Virtual PC можно бесплатно скачать с сайта Microsoft, при условии, что вы пользуетесь лицензионной копией ОС Windows. В некоторых версиях Windows 7 программа установлена по умолчанию. Virtual PC не поддерживает аппаратного 3D ускорения, но зато занимает немного места и отличается высокой эффективностью работы (видимо лучше интегрируется в основную ОС – все таки продукт Microsoft’а).
- VirtualBox – бесплатная виртуальная машина с открытым исходным кодом для ОС семейств Windows и Linux от компании Sun Microsystems. VirtualBox поддерживает виртуализацию доступа к 3D-ускорителям, но работа по поддержке D3D ещё не закончена (поддержка находится в состоянии бета-версии, её нужно отдельно включать в меню конфигурации VirtualBox). VirtualBox поддерживает установку любых гостевых ОС. До недавнего времени VirtualBox считался медлительной и неповоротливой виртуальной машиной. К счастью, компания Sun Microsystems провела серьезную работу над ошибками и последняя версия программы избавлена от подобных недостатков и стремительно завоевывает популярность среди пользователей.
После установки создание виртуального компьютера, его настройка и работа с ним очень похожи во всех упомянутых виртуальных машинах. Поэтому я приведу пример работы с Microsoft Virtual PC.