Технологii вiртуалiзацii: вчора, сьогоднi, завтра
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
вох паралельних LPT-портiв, стандартна 104-кнопкова клавiатура i миша PS / 2. ПiдтримуСФться до чотирьох вiртуальних мережевих карт (AMD PCnet) i навiть вiртуальна локальна мережа, що складаСФться з довiльного числа хостiв i до девяти вiртуальних свiтче. Загалом, звання лiдера VMWare утримуСФ цiлком заслужено.
VMWare використовуСФ у своiх продуктах класичну технологiю бiнарноi трансляцii; в останнi версii ПЗ включена i експериментальна пiдтримка технологii вiртуалiзацii Intel VT-x. Пiдтримка технологii вiртуалiзацii AMD Pacifica обiцяна в самому найближчому майбутньому. До речi, саме продукти VMWare корпорацiя Intel використовувала ще рiк тому для публiчних демонстрацiй (наприклад, в рамках Intel Developer Forum) майбутнiх можливостей своiх процесорiв з Virtualization Technology, тодi ще не оснащених блоками VT. РЖ, слiд зазначити, що, наприклад, на трехгiгагерцовом процесорi Intel Xeon (ядро Nocona) робота такоi вiртуальноi системи не вiдрiзнялася особливою прудкiстю, в чому нам довелося переконатися особисто.
с) Microsoft VirtualPC / Virtual Server
На вiдмiну вiд VMWare, Microsoft нiколи до ладу не розробляла власних систем вiртуалiзацii: що випускаються сьогоднi пiд ii брендом VirtualPC i Virtual Server спочатку були розробленi компанiСФю Connectix. Але в 2003 роцi Microsoft скупила данi продукти у Connectix, що називаСФться, на коренi, i з тих пiр приблизно та ж команда розробникiв випускаСФ лише злегка пiдрихтувати колишнi продукти Connectix пiд Microsoft-iвськоi маркою. ОднiСФю з сторiн подiбного переходу пiд крило Microsoft стало те, що вiдтепер VirtualPC працюСФ виключно пiд управлiнням десктопних версiй ОС Windows XP/2000, а бiльш функцiональний Virtual Server - i зовсiм тiльки пiд управлiнням серверних Windows XP/2003 Server.
Спочатку вiртуалiзацiйних ПЗ Microsoft був орiСФнтований на використання технологii бiнарноi трансляцii коду. Виняток - VirtualPC for Macintosh, який формально також використовуСФ ту ж технологiю бiнарноi трансляцii, але по сутi своiй СФ, швидше, просунутим емулятором (див. нижче). У 2005 роцi Microsoft також заявила про пiдтримку в своiх майбутнiх продуктах технологiй Intel VT-x та AMD SVM Pacifica, проте бета-версii вiдповiдних продуктiв вийдуть лише в першiй половинi 2006 року, а остаточний релiз - у другiй половинi.
У частинi обладнання VirtualPC i Virtual Server iмiтують один i той же стандартний компютер з процесором Pentium II (з пiдтримкою MMX), що працюСФ на чiпсетi Intel 440BX, з вiдеокартою S3 Trio 64 PCI (з 4 Mb вiдеопамятi), BIOS вiд American Megatrends (AMI), звуковою картою Creative Sound Blaster 16 PnP (Virtual Server ii не пiдтримуСФ), i мережною картою DEC 21041 / 21040. Конфiгурацiя хоч i старенька, але вельми поширена в свiй час, а тому маСФ дуже непогану пiдтримку з боку програмного забезпечення.
2. Вiртуалiзацiя сьогоднi i завтра: Intel VT i AMD Pacifica
Корпорацiя Intel пiшла досить прямолiнiйнiм шляхом, просто випустив мiнiмально необхiдну латочку до x86. Повна назва заплатки - Intel Virtualization Techology for x86 (VT-x); Одночасно була випущено аналогiчна вiртуалiзацiйнiх технологiя для процесорiв Intel Itanium (VT-i). Втiм, розглядатi останню технологiю ми не будемо, оскiлькi по сутi своiй вона практично повнiстю аналогiчна VT-x. НагадаСФмо, що ранiше дана технологiя була вiдома пiд кодовими iменамi Vanderpool (для персональних компютерiв) i Silvervale (для серверiв).
Що ж зробила Intel? Досить нетрiвiальну, Хоча i напрошуються рiч. Розробник архiтектури IA-32 просто ввела в своiх процесора СПЕЦРЖАЛЬНИЙ режим виконання вiртуальноi машини (Virtual Machine eXecution mode, VMX), призначений спецiально для вiртуалiзацiйнiх ПЗ (Virtual Machine Manager, VMM), i визначена для ЦЬОГО режиму Кiлька Ключовий вiртуалiзацiйнiх iнструкцiй, таких як, прiмiром, створити вiртуальний компютер i запустiтi вiртуальний компютер. "асне цей самий вiртуальний компютер в VT-x опiсуСФться спецiальноi структурою пiд назв VMCS (Virtual Machine Control Structure) i по сутi своiй СФ невелика дiлянкою фiзичноi оператiвноi памятi, що зберiгають мiнiмально необхiднi Данi для запуску гостьовоi операцiйноi системи, а такоже Данi, необхiднi для безпечного виходить з режиму роботи гостьовоi ОС, i Деякi налаштування, повязанi з Керування цiСФю вiртуальною машиною.
Програмiст практично вручну створюСФ цю структуру, повнiстю опiсуСФ необхiднiй Йому вiртуальний компютер та його "астивостi, ПРЖСЛЯ чого завантажуСФ РЗi в СПЕЦРЖАЛЬНИЙ апаратний регiстр поточноi вiртуальноi машини. Потiм програмiст може запустiтi свiжостворенiй вiртуальну машину спецiальною iнструкцiСФю.
Схема 7. Вiртуалiзацiя з використанням VT-x.
Запущена Вiртуальна машина працюСФ на звичайних апаратних ресурсах компютера (зазначених VMM в опiсi вiртуальноi машини) i для запущеного на нiй програмного забезпечення практично нiчим НЕ вiдрiзняСФться вiд звiчайноi фiзiчною машини. Але на вiдмiну вiд Звичайний режиму, в цю вiртуальну машину можна вставлятi як завгодно багато закладок, ЯКРЖ будуть перерiватi РЗi виконання, передавальних управлiння тому до VMM, Який буде вручну iмiтуватi ту чи iншу подiю, або виконання тiСФi або iншоi РЖнструкцii. Якi саме подii будуть перекiдатiся для ручноi обробки VMM, визначаСФться Тiльки самим програмiстом, але РЗХ в будь-якому випадку Навiть Бiльше, Нiж Необхiдно для реалiзацii як завгодно складноi вiртуальноi машини, аж до точноi iмiтацii Зовсiм iншого процесора. Прiмiром, проблемною у звичайно випадках операцiя читання-запису регiстра CR3 в VT-x просто призведе до того, що процесор на секундочку призупинили гостьова ОС, вiклiче VMM, Який програмно сiмiтiрует результат РЗi виконання (не вiконую