технологія, використовувана в FreeBSD для запуску додатків Linux.
Проект SoftPear, в перспективі дозволяє запускати додатки Mac OS X на Linux і FreeBSD
1.3.2 Повна емуляція
Проекти, виконані за технологією повної емуляції працюють як інтерпретатори. Вони послідовно вибирають код гостьової операційної системи і емулюють поведінку кожної окремо взятої інструкції. Оскільки при цьому повністю емулюється поведінку як процесора, так і всіх зовнішніх пристроїв віртуального Intel х86 комп'ютера, то існує можливість запускати емулятор на комп'ютерах з абсолютно іншою архітектурою, наприклад, на робочих станціях Mаc або на RISC'ових серверах Sun.
Найсерйозніший недолік цього підходу полягає в катастрофічній втрати продуктивності гостьової операційної системи. Швидкість роботи гостьових додатків може впасти в 100-1000 разів, що означає практичну неможливість нормальної роботи з гостьовою операційною системою всередині емулятора. Тим не менше, існують деякі технології, такі як динамічна трансляція, що дозволяють збільшити швидкість повної емуляції. Повні емулятори найчастіше використовуються в якості низькорівневих отладчиков для дослідження і трасування операційних систем.
Приклади проектів, виконаних за технологією повної емуляції:
проект з відкритим кодом Bochs, що дозволяє запускати різні операційні системи Intel х86 під Linux, Windows, BeOS та Мас OS;
продукт Simics компанії Virtutech, що дозволяє запускати і налагоджувати різні операційні системи Intel х86 під Windows і іншими операційними системами;
продукт Virtual PC фірми Connectix (нині купленої Microsoft) дозволяє запускати різні x86-ОС на PC і Mac;
проект Qemu - найшвидший емулятор різних архітектур на PC. При використанні модуля Accelerator практично зрівнюється по продуктивності з віртуальними машинами.
1.3.3 Квазі-емуляція
При спробі запуску декількох операційних систем на одному комп'ютері ми неминуче зіткнемося з низкою проблем. По-перше, такі зовнішні пристрої, як відео-карта, контролер IDE, таймер і т.п. розроблені таким чином, щоб працювати під управлінням тільки однієї операційної системи. Тобто, зовнішні пристрої розраховані на монопольне управління тільки одним драйвером зовнішнього пристрою. По-друге, процесор IA - 32 розроблений з розрахунку на те, що він буде конфигурироваться і використовуватися ексклюзивно однією операційною системою. Це відноситься до модуля сторінкової пам'яті, механізму захисту, сегментної моделі тощо.
Інші властивості та інструкції рівня додатків не викликають проблем і в принципі можуть виконуватися без емуляції. На щастя, саме ці інструкції і складають основну масу коду, виконуваного процесором. Таким чином, існує велика кількість інструкцій, які будуть нормально виконуватися в режимі декількох операційних систем, і деякий невелику кількість інструкцій, які повинні емулюватися. Технологія квазі-емуляції полягає в тому, щоб виявити і зімітувати поведінку другої множини інструкцій і виконувати інструкції першої множини без емуляції.
Приклади проектів, виконаних за технологією квазі-емуляції. Віртуальна машина Serenity Virtual Station (SVISTA) (колишня twoOStwo), розроблена російською компанією Паралелі на замовлення німецької компанії NetSys GmbH. SVISTA дозволяє запускати такі гостьові операційні системи, як OS/2, Linux, QNX, MSDOS та інші. На даний момент існує три продукти: SVISTA для Windows NT/2000/XP, twoOStwo для Linux і twoOStwo для FreeBSD. Технологія квазі-емуляції полягає в тому, щоб виявити і зімітувати поведінку другої множини інструкцій і виконувати інструкції першої множини без емуляції.
Технологія Virtual Platform компанії VMware, що дозволяє запускати велику кількість Intel х86 гостьових операційних систем. Компанія VMware пропонує чотири продукту: VMware Workstation для Windows NT/2000/XР, VMware Workstation для Linux, VMware GSX Server (group server) і VMware ESX Server (enterprise server).
Проект з відкритим кодом Plex86, що дозволяє запускати різні операційні системи Intel х86 під Linux. Проект з відкритим кодом L4Ka, що використовує мікроядро. Проект з відкритим кодом Xen, дозволяє запускати модіфіцтрованние ОС Linux, FreeBSD, NetBSD і Windows XP під Linux, FreeBSD, NetBSD. При дотриманні некотрих умов дозволяє отримати навіть приріст продуктивності.
. 4 Огляд продуктів на ринку віртуальних машин та їх характеристики
Сьогодні віртуальні машини налічують кілька сфер застосування ось деякі з них.
Використання ВМ для захисту інформації та обмеження можливостей процесів. Як приклад пропоную розглянути широ...