Виртуальные машины с эмуляцией API гостевой ОС
Виртуальные машины с эмуляцией API гостевой ОС
Обычно приложения работают в изолированном адресном пространстве и взаимодействуют с оборудованием при помощи интерфейса API (Application Programming Interface — интерфейс прикладного программирования), предоставляемого операционной системой. Если две операционные системы совместимы по своим интерфейсам API (например, Windows 98 и Windows ME), то приложения, разработанные для одной из них, будут работать и на другой. Если две операционные системы несовместимы по своим интерфейсам API (например, Windows 2000 и Linux), то необходимо обеспечить перехват обращений приложений к API гостевой ОС и сымитировать ее поведение средствами хостовой ОС. При таком подходе можно установить одну операционную систему и работать одновременно как с ее приложениями, так и с приложениями другой операционной системы.
Поскольку весь код приложения исполняется без эмуляции, а эмулируются лишь вызовы API, такая схема виртуализации приводит к незначительной потере в производительности виртуальной машины. Однако из-за того, что многие приложения используют недокументированные функции API или обращаются к операционной системе в обход API, даже очень хорошие эмуляторы API имеют проблемы совместимости и позволяют запускать не более 70% от общего числа приложений. Кроме того, поддерживать эмуляцию API бурно развивающейся операционной системы (например, такой как Windows) очень нелегко, и большинство эмуляторов API так и остаются эмуляторами какой-то конкретной версии операционной системы. Так, в Windows NT/2000 до сих пор встроен эмулятор для приложений OS/2 версии 1.x. Но самый большой недостаток ВМ с эмуляцией API гостевой ОС — это ее ориентация на конкретную операционную систему.
Примеры продуктов, выполненных но технологии эмуляции API гостевой ОС:
? проект с открытым кодом Wine (Wine Is Not an Emulator, «Wine — это не эмулятор»), позволяющий запускать DOS-, Win16- и Win32-приложения под управлением операционной системы Linux и Unix;
? продукт Win4Lin компании Netraverse, позволяющий запускать операционные системы семейства Windows под управлением операционной системы Linux;
? проект с открытым кодом DOSEMU, позволяющий запускать DOS-приложения под управлением операционной системы Linux;
? проект с открытым кодом User Mode Linux (UML), позволяющий запускать несколько копий операционной системы Linux на одном компьютере (в настоящее время встроен и ядро Linux версии 2.6);
? технология Virtuozzo, разработанная российской компанией SWsoft и позволяющая запускать несколько копий операционной системы Linux на одном компьютере.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Зачем нужны виртуальные машины
Зачем нужны виртуальные машины Сегодня виртуальные машины переживают второе рождение. Один из «отцов» современного поколения виртуальных машин, профессор Розенблюм[1], объясняет их возрождение двумя основными причинами:? появлением большого числа разных операционных
Виртуальные машины с полной эмуляцией гостевой ОС
Виртуальные машины с полной эмуляцией гостевой ОС Проекты, поддерживающие технологию полной эмуляции, работают по принципу интерпретации инструкций из системы команд гостевой ОС. Поскольку при этом полностью эмулируется поведение как процессора, так и всех внешних
Виртуальные машины с квазиэмуляцией гостевой ОС
Виртуальные машины с квазиэмуляцией гостевой ОС Технология квазиэмуляции гостевой ОС основана на том, что далеко не все инструкции гостевой ОС нуждаются в эмуляции средствами хостовой операционной системы. Многие из инструкций, необходимых для корректной работы
Глава 2 Виртуальные машины Virtual PC 2004
Глава 2 Виртуальные машины Virtual PC 2004 Для пользователей, предпочитающих работать исключительно с операционными системами семейства Windows, продукт Virtual PC 2004, пожалуй, можно считать наиболее подходящим выбором — ведь последняя версия программы принадлежит
Установка гостевой операционной системы
Установка гостевой операционной системы В общем случае, технология установки на ВМ той или иной гостевой операционной системы зависит в первую очередь от особенностей данной ОС, и лишь во вторую — от технологии, заложенной в Virtual PC.Поэтому в книге не рассматриваются
Обмен данными между гостевой и хостовой ОС
Обмен данными между гостевой и хостовой ОС Virtual PC предоставляет пользователю несколько способов обмена данными между гостевой и хостовой ОС. Один из них — применение разделяемых папок — был рассмотрен ранее. В этом подразделе рассказано, как осуществить оперативный
Глава 3 Виртуальные машины VMware Workstation
Глава 3 Виртуальные машины VMware Workstation До тех пор пока корпорация Microsoft не обратила свой взор на рынок виртуальных машин, компания VMware была на этом рынке безоговорочным лидером.Однако и теперь еще рано говорить о том, что пакет Virtual PC 2004 «отодвинул» продукты от VMware на вторые
Установка гостевой операционной системы
Установка гостевой операционной системы VMware, по сравнению с Virtual PC, поддерживает значительно более обширный список ОС, как гостевых, гак и хостовых. Такая универсальность не могла не сказаться на технологии установки на ВМ той или иной гостевой операционной системы. И не
Обмен данными между гостевой и хостовой ОС
Обмен данными между гостевой и хостовой ОС По умолчанию любая вновь созданная ВМ способна обмениваться данными с хостовой ОС через буфер обмена. Правда, в отличие от Virtual PC, передавать в обоих направлениях можно лишь текст. Графические данные «обмену и возврату не
Глава 4 Виртуальные машины Parallels Workstation
Глава 4 Виртуальные машины Parallels Workstation Компания Parallels (ее полное наименование — Parallels Software International Inc.) может считаться новичком на рынке приложений для создания виртуальных машин. Достаточно сказать, что в конце 2005 года вышел бета-релиз лишь второй версии пакета Parallels
Обмен данными между гостевой и хостовой ОС
Обмен данными между гостевой и хостовой ОС Parallels Workstation предоставляет пользователю два способа обмена данными между гостевой и хостовой ОС: передача данных через буфер обмена и пересылка данных по локальной сети. В качестве дополнительного «однонаправленного» метода
(6.10) Имеется смешанная сеть, netware и NT, клиенты W2kPro и W98. Машины с W98 не могут войти на машины с W2k.
(6.10) Имеется смешанная сеть, netware и NT, клиенты W2kPro и W98. Машины с W98 не могут войти на машины с W2k. Для решения этой проблемы необходимо сделать привязку по протоколам, IPX/SPX только к клиент Novell, TCP/IP только к клиенту Microsoft. Сделать это можно в свойствах сетевых подключений меню
П20. К главе 18 "Виртуальные машины VMware"
П20. К главе 18 "Виртуальные машины VMware" 1. В. Иванченко, А. Панишев, "Пингвин против империи". (http://www.submarine.ru/print.cfm?ID=410). 2. В. Костромин, "Linux вместе с Windows". Открытые системы, N 3, 2001 г., стр. 24-31 (http://www.osp.ru/os/2001/03/024.htm). 3. Choong Ng, "VMware Express 2.0 and Win4Lin 2.0: A Comparison Review”.
1.18 Виртуальные Функции
1.18 Виртуальные Функции Предположим, что мы пишем программу для изображения фигур на экране. Общие атрибуты фигуры представлены классом shape, а специальные атрибуты – специальными классами:class shape (* point center; color col; //... public: void move(point to) (* center=to; draw(); *) point where() (* return center; *) virtual void