ПРОГРАММНЫЕ РЕАЛИЗАЦИИ ВИРТУАЛЬНЫХ МАШИН
Программными средствами можно эмулировать как собственно оборудование (например, сетевой адаптер) так и аппаратную среду для определенных целей. При этом выделяются:
1. Родительская ОС (host OS) – ОС, на базе которой выполняется эмуляция.
2. Дочерняя ОС (guest OS) – ОС, для которой «создаются условия».
В настоящее время наиболее популярным сторонним пакетом для создания виртуальных машин как для Linux, так и для Windows является пакет VMware, имеющий несколько редакций.
Подробное описание приведено в руководстве [9].
Основную конкуренцию VMware составляет пакет Citrix Xen.
Для серверов Windows имеется стандартный пакет Microsoft Virtual Server. Начиная с Windows Server 2008 внедряется технология Hyper-V.
Применительно к рынку настольных и серверных ОС, также следует упомянуть следующие пакеты: Oracle VirtualBox, Qumranet KVM, Parallels Virtuozzo, Connectix Virtual PC, QEMU.
С целью аппаратной поддержки виртуализации разработаны расширения системы команд процессоров Intel (Intel Virtualization Technology) и AMD (AMD Virtualization).
С виртуализацией связан еще ряд технологий.
В Linux стандартным способом подключения удаленного текстового терминала является применение протокола Telnet. Все терминалы (например, VT220) стандартизированы.
Для подключения удаленных графических столов используется протокол XDMCP (X Display Manager Control Protocol).
На серверах Windows до версии 2003 использовался специальный интегрированный пакет для обеспечения возможности экспорта графических рабочих столов под названием Citrix MetaFrame Terminal Services. Начиная с версии 2003 (а также с XP) взамен протоколу Citrix ICA введен протокол RDP (Remote Desktop Protocol), обладающий такими возможностями, как отображение устройств, поддержка 24-ехбитного цвета, шифрование соединений и др. В XP разрешен лишь один удаленный сеанс, причем с «выталкиванием» текущего пользователя. Для управления работой Terminal Services используется Terminal Services Manager или Web-интерфейс.
Существует возможность импортировать рабочие столы Windows в Linux с помощью пакета Rdesktop с одноименной командой, и, наоборот, с помощью соответствующего стороннего ПО (Hummingbird Exceed и др.)
Запуск приложений Windows в Linux осуществляется с помощью пакета Wine с одноименной командой.
Для создания Unix-окружения в Windows используется пакет Cygwin.