D проекту напевно поспріяють, а з'явиться ЗРУЧНИЙ для кінцевого користувача дистрибутива, встановлюваного на В«голуВ» або даже Вже Працюючий машину - це позбав питання годині. Почекаємо Ближче до кінця 2006 року Xen Версії 4? br/>В
Таблиця 1. Операційні системи Xen. br/>
4. Емулятор віртуальніх машин
Окрема історія - це системи, что Забезпечують Повністю програмнного емуляцію Нікого віртуального комп'ютера без Залучення его реальних апаратних ресурсів. Найбільш яскраве прикладом подібного емулятор є відома Java, в якій програмне забезпечення реалізує для шкірного Java-Додатки стандартність віртуальну Java-машину, яка НŠ​​має абсолютно Нічого Спільного з Реальним апаратно ЗАБЕЗПЕЧЕННЯМ и працює з НЕ має альтернатив системою В«машинаВ» команд - байт-кодом Java. Кожна інструкція з цього байт-коду (а там зустрічаються и й достатньо нетрівіальні В«екземплярВ») В«розбіраєтьсяВ» програмою-емулятор вручну - емулятор самостійно, без будь-якої апаратної ПІДТРИМКИ Виконує відповідні інструкції Дії з існуючою (вновь ж таки, позбав в чисто програмному вігляді) віртуальною машиною. p> У емуляторів Дуже багато ПЕРЕВАГА. Реалізовані ними Віртуальні машини могут буті як завгодно складні и, что важлівіше, принципова відрізнятіся від реальної ФІЗИЧНОЇ машини, засоби Якої смороду підтрімуються. Одне й ті ж Java-приложение может буті запущено практично на будь-якому В«залізіВ»; емулятор Спектр дозволяє Виконувати Додатки, напісані для процесора Z80 на процесорах архітектури x86, и т.д. Класичні віртуалізатор Всього цього делать, на шкода, що не дозволяють, - запустіті, скажімо, на x86, додаток для MacOS (вікорістовує архітектуру PowerPC) з їх помощью принципова Неможливо. p> Слабкі місця емуляторів Цілком очевідні: оскількі апаратні ресурси процесора задіюються Дуже опосередковано (де можна Було б обійтіся однією машінної Інструкцією, доводитися Виконувати від сотень до десятків тисяч машинних інструкцій для Виконання однієї інструкції емульованого коду), то и Продуктивність переважної більшості емуляторів просто катастрофічно мала. Даже в Java, розробник Якого чудово передбачало Цю сітуацію и Використання складного байт-коду постаралися звесті вінікає надлишок роботи до мінімуму (чім простіше інструкція, тім помітніше годину, что вітрачається емуляторів на ее В«декодуванняВ» - визначення, что ця інструкція означає), Повністю позбутіся від ціх проблем, на шкода, що не удалось: В«важкіВ» Java-Додатки відчутно В«гальмуютьВ» и спожівають велику кількість оператівної пам'яті. p> Кілька разів робіліся серйозні СПРОБА виправити це положення справ, відмовівшісь від Виконання коду В«на льотуВ», коли емулятор послідовно, інструкція-за-Інструкцією, транслює програму, и перейшовші до В«дінамічної компіляції програмВ», колі программа, записана в одній Системі команд Попередньо В«переводитисяВ» в В«ріднуВ» систему команд даного процесора, и Вже потім, у вігляді отриманий В«рідногоВ» кодом на цьом процесорі віконується. Пріміром, розроблення Connectix, пізніше купленої Microsoft, продукт Virtual PC для Macintosh дозволяє, за рахунок такого В«перекомпВ» Додатків для операційніх систем Microsoft, запускаті ці програми на комп'ютерах Apple Macintosh. А компанія Transmeta в 1999 году даже випустила абсолютно Унікальний процесор Crusoe (VLIW-архітектури), Який імітував «³дімістьВ» x86-архітектури за помощью СПЕЦІАЛЬНОГО полуаппаратного емулятор, розроблення, до речі, за участь Лінуса Торвальдса. А пізніше Microsoft розроб на Основі даного підходу и В«Удосконалення альтернативуВ» Java - Технологію. Net, что вікорістовує для запису програм Спеціальний В«Універсальний кодВ» КСС (Common Intermediate Language), Який за своєю Божою сутта аналогічній псевдокод, Який генерують у ході своєї роботи Сучасні компіляторі перед тим, як сконвертуваті цею В«абстрактний кодВ» до Цілком конкретні машінні інструкції. p> Потенційно Данії підхід Позбавлення всех В«вузьких місцьВ», пов'язаних з недостатньою продуктівністю звичайна емуляторів, протікання технологія. Net до ціх ПІР так и НЕ Отримала обіцяного Розповсюдження, а Продуктивність Virtual PC для Macintosh, так само як и Transmeta Crusoe, залішає бажати КРАЩИЙ.
После всех компліментів на адресу AMD Pacifica может здать, что Нічого принципова більш современного в технологіях віртуалізації придумат Неможливо. Альо насправді це далеко не так. p> Проведемо Невеликий уявний експеримент. У нас є один комп'ютер з якімось набором апаратного забезпечення (Яке, по суті, зводіться до процесора, оператівної пам'яті и ЗАСОБІВ вводу-виводу). З пам'яттю и процесором ми Вже розібраліся: смороду чудово віртуалізуются, и того Припустиме, что на цьом В«залізіВ» Працюють відразу декілька операційніх систем. А вісь хто и як працює з ціх операційніх систем з В«Введення-виводуВ»? Ну, припустимо, Різні жорсткі диски та логічні розділи ціх дисків ми ще як-небудь розкідані между різнімі ОС. А вісь візьмемо ту ж відеокарту: яка...