Введение
Программное обеспечение для виртуализации twoOStwo было коммерческим программным продуктом, разработанным Parallels Software Studio (до приобретения компанией SWsoft). Программное обеспечение рабочей станции представляло собой набор виртуальных машин для компьютеров, совместимых с Intel x86, который позволял создавать и запускать несколько виртуальных компьютеров x86 одновременно. Каждый экземпляр виртуальной машины мог выполнять собственную гостевую операционную систему, включая Windows, Linux, OS/2 и различные варианты BSD.
twoOStwo was a commercial software product developed by Parallels Software Studio (prior to its acquisition by SWsoft). The workstation software consisted of a virtual machine suite for Intel x86 compatible computers which allowed the creation and execution of multiple x86 virtual computers simultaneously. Each virtual machine instance could execute its own guest operating system including Windows, Linux, OS/2 and BSD variants.
Описание
Компьютер и экземпляр операционной системы, выполняющий процесс twoOStwo, называется хост-машиной. Экземпляры операционных систем, работающие внутри виртуальной машины, называются гостевыми виртуальными машинами. Подобно эмулятору, twoOStwo предоставляет гостевой операционной системе полностью виртуализированный набор оборудования; например, независимо от производителя и модели физического сетевого адаптера, гостевая машина увидит сетевой адаптер Novell/Eagle NE2000 или Realtek RTL8029(AS). twoOStwo виртуализирует все устройства в виртуальной среде, включая видеоадаптер, сетевой адаптер и адаптеры жестких дисков. Он также предоставляет драйверы прямого доступа для последовательных и параллельных устройств. Поскольку все гостевые виртуальные машины используют одни и те же драйверы оборудования, независимо от фактической аппаратной конфигурации хост-компьютера, экземпляры виртуальных машин обладают высокой переносимостью между компьютерами. Например, работающую виртуальную машину можно остановить, скопировать на другой физический компьютер и запустить.
Реализация
Обычные эмуляторы, такие как Bochs, эмулируют микропроцессор, выполняя каждую инструкцию гостевого процессора посредством вызова подпрограммы программного обеспечения на хост-машине, которая моделирует функцию этой инструкции процессора. Этот уровень абстракции позволяет гостевой машине работать на хост-машинах с другим типом микропроцессора, но при этом является очень медленным. Более эффективный подход основан на использовании методов программной отладки. Некоторые части кода выполняются непосредственно на реальном процессоре; при обнаружении "недопустимых" инструкций возникают программные прерывания, которые останавливают выполнение кода гостевой операционной системы, после чего эта конкретная инструкция эмулируется. twoOStwo, а также VMware Workstation, Virtual PC для Windows и QEMU с модулем kqemu используют еще более оптимизированный подход, выполняя код напрямую, когда это возможно. Это применимо к коду, работающему в пользовательском режиме и в виртуальном 8086-м режиме на x86. Недостатком является то, что гостевая операционная система должна быть совместима с процессором хост-машины. Таким образом, в отличие от эмулятора, twoOStwo нельзя использовать для запуска классического программного обеспечения Mac OS/PowerPC на процессоре Intel x86. Другой недостаток заключается в том, что эффективное вложение виртуальных машин обычно невозможно. Наконец, хотя виртуальные машины twoOStwo работают в пользовательском режиме, для работы twoOStwo требуется установка различных драйверов устройств в операционной системе хоста.
Особенности
Помимо подключения к сетевым адаптерам, CD-ROM-приводам и жестким дискам, twoOStwo также предоставляет возможность эмулировать определенное оборудование. Например, ISO-образ можно подключить как CD-ROM, а файлы HDD – как жесткие диски.