Технологii вiртуалiзацii: вчора, сьогоднi, завтра
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
?ання на iншу гостьову ОС, додатковi операцii збереження стану процесора в VMCB i зворотного завантаження виконуються iнструкцiями VMLOAD i VMSAVE.
Пять iнструкцiй. Проти десяти в куди бiльш складному i менш функцiональному VT-x. Ну як ще висловити захоплення архiтекторами наборiв iнструкцiй AMD? Щоправда, до пяти базових для повного розкриття можливостей Pacifica можна ще використовувати тактичнi три iнструкцii, що дозволяють додатково прискорити швидкiсть роботи Pacifica:
STGI, CLGI - управляють схемою перехоплення переривань в Pacifica (включають-вимикають глобальний перехоплення переривань).
INVLPGA - скидаСФ TLB, але не цiлком, а тiльки тi записи TLB, якi вiдносяться до конкретноi гостьовiй ОС (або до VMM).
Схема 10. Набiр iнструкцiй Pacifica
Як i у випадку з VT-х, для того, щоб отримати доступ до нових iнструкцiй, програмного забезпечення потрiбно цi iнструкцii розблокувати (встановити 12-й бiт регiстра EFER MSR, вiдтепер вiдомий як EFER.SVME). При бажаннi в Пасифiк можна вiдключити всi ii просунутi функцii, аж до вiдключення подвiйний трансляцii вiртуальних адрес, що дозволяСФ максимально наблизити (хоча i не до кiнця) схеми використання до VT-х.
У цiлому рiшення AMD явно охоплюСФ всю мислиму область застосовностi рiшення Intel, але витонченiше, швидше i простiше у використаннi, а головне - забезпечуСФ бiльш нiж достатнiй запас мiцностi для того, щоб вважатися повноцiнним вiртуалiзацiйних рiшенням майбутнього. Тим бiльше що вiдповiднi процесори повиннi зявитися вже зовсiм скоро - у першому кварталi 2006 року.
Цiкаво, що на останньому московському Intel Developer Forum (що пройшов у жовтнi 2005 року) в доповiдях абсолютно несподiвано прозвучали все тi ж знайомi подвiйнi таблицi трансляцii, захист DMA та iншi характернi функцii Pacifica, рекламувалися як... друге поколiння систем вiртуалiзацii Intel. До першого, природно, ставилася закриваСФ дiрки x86" технологiя VT-х. Чесно кажучи, сам московський РЖСО з нашою субСФктивноi точки зору, опинився в планi iнформацii з вiртуалiзацii вкрай скупий, а р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лення Intel - в особистiй бесiдi пояснив, що цим самим другим поколiнням повинна стати давним-давно анонсована технологiя безпеки LaGrande (а вiрнiше, те, у що цей проект перетворився до теперiшнього часу), яка вбере в себе не тiльки новiтнi технологii вiртуалiзацii (про якi ми поговоримо в останнiй частинi), але й складнi системи забезпечення гарантованоi безпеки (аж до шифрування переданих по USB даних мишкою).
3. РЖншi пiдходи до вiртуалiзацii. Вiртуальна машина Xen
Проект Xen (вимовляСФться як Зен) - мабуть, самий динамiчно розвиваСФться i сучасний пакет вiртуалiзацiйних ПЗ, яскравий приклад того, на що, за вiдповiдноi пiдтримки, здатне спiвтовариство Open Source. Започаткований Кембрiджський унiверситети як вiдкрита реалiзацiя вiдносно нескладною технологii паравiртуалiзацii, Xen незабаром став одним з найбiльш популярних вiртуалiзацiйних проектiв, i отримав багатющу функцiональнiсть, що включаСФ в себе систему забезпечення взаСФмноi безпеки вiртуальних машин, систему управлiння iх ресурсами, систему забезпечення гарантованого рiвня обслуговування (якостi обслуговування, QoS), систему непомiтною мiграцii (за 50-300 мс можливо перекинути працюючу вiртуальну систему з одного фiзичного компютера на iнший), i багато iншого. Як i будь-яке iнше програмне забезпечення, що реалiзуСФ технологiю паравiртуалiзацii, Xen виступав як прошарку мiж операцiйними системами та фiзичним обладнанням, i вимагав, щоб операцiйна система була адаптована до роботи не з реальним залiзом, а з цiСФi вiртуалiзацiйних прошарком. Вiдповiднi патчi, що забезпечують необхiдну пiдтримку для Xen з боку операцiйноi системи були розробленi для Linux, FreeBSD, NetBSD i екзотичноi Plan 9, i багато великих вендори включили цю пiдтримку, разом з самим Xen, в своi дистрибутиви вiдповiдних операцiйних систем. РЖ все це - за два роки, з 2003 по 2005 рiк!
Схема 11. Вiртуальна машина Xen
Наступний етап розвитку проекту був повязаний з iмям Intel, яка вирiшила використовувати Xen як основного популяризатора своСФi технологii вiртуалiзацii VT. Розробники Intel дописали для Xen вiдповiдний модуль, що забезпечуСФ сполучення на VT-сумiсних процесорах довiльнiй ОС з внутрiшнiм iнтерфейсом Xen. Модуль був включений в спiльний проект, i таким чином Xen несподiвано знайшов здатнiсть працювати з довiльними операцiйними системами - благо, що вся необхiдна для цього iнфраструктура в проектi вже була присутня. AMD, теж не залишилася осторонь, вiд цього питання, i до теперiшнього моменту Xen отримав експериментальну пiдтримку i технологii апаратноi вiртуалiзацii Pacifica, ще не включення нi в одному з продаваних нинi процесорiв AMD, але зате бiльш сучасною та зручною з точки зору реалiзацii. А оскiльки батькiвського операцiйноi системи для Xen не потрiбно, то ось так, вiдразу, з iграшки спiльноти Open Source, цей проек