Выпуск гіпервізара Bareflank 3.0

Адбыўся рэліз гіпервізара Bareflank 3.0, які прадстаўляе інструментарый для хуткай распрацоўкі спецыялізаваных гіпервізораў. Bareflank напісаны на мове C++, падтрымлівае C++ STL. Модульная архітэктура Bareflank дазволяць лёгка пашыраць наяўныя магчымасці гіпервізара і ствараць уласныя варыянты гіпервізораў, як якія працуюць па-над абсталяваннем (як Xen), так і якія запускаюцца ў наяўным праграмным асяроддзі (як VirtualBox). Маецца магчымасць выканання аперацыйнай сістэмы хост-акружэнні ў асобнай віртуальнай машыне. Код праекту распаўсюджваецца пад ліцэнзіяй LGPL 2.1.

У Bareflank рэалізавана падтрымка Linux, Windows і UEFI на 64-разрадных CPU Intel і AMD. Для апаратнага падзелу рэсурсаў віртуальных машын прымяняецца тэхналогія Intel VT-x. На будучыню запланавана падтрымка macOS і BSD-сістэм, а таксама магчымасць працы на платформе ARM64. Дадаткова праектам развіваецца ўласны драйвер для загрузкі VMM (Virtual Machine Manager), ELF-загрузнік для загрузкі модуляў VVM, дадатак bfm для кіравання гіпервізарам з прасторы карыстача. Прадастаўляецца інструментарый для напісання пашырэнняў з выкарыстаннем элементаў, вызначаных у спецыфікацыях C++11/14, бібліятэка раскручвання стэка выключэнняў (unwind), а таксама свая runtime-бібліятэка для падтрымкі прымянення канструктараў/дэструктараў і рэгістрацыі апрацоўшчыкаў выключэнняў.

На базе Bareflank вядзецца распрацоўка сістэмы віртуалізацыі Boxy, якая падтрымлівае запуск гасцявых сістэм і якая дазваляе выкарыстоўваць легкаважныя віртуальныя машыны з Linux і Unikernel для запуску спецыялізаваных сэрвісаў ці прыкладанняў. У форме ізаляваных сэрвісаў можна выконваць як звычайныя web-сэрвісы, так і прыкладанні, да якіх прад'яўляюцца адмысловыя патрабаванні да надзейнасці і бяспекі, пазбаўленыя ад уплыву хост-акружэнні (хост-акружэнне ізалюецца ў асобнай віртуальнай машыне). Bareflank таксама ляжыць у аснове гіпервізара MicroV, прызначанага для запуску мінімалістычных віртуальных машын (віртуальная машына аднаго прыкладання), які рэалізуе API KVM і прыдатнага для стварэння крытычна важных сістэм.

Асноўныя навіны Bareflank 3.0:

  • Пераход на выкарыстанне канцэпцыі мікраядра. Раней гіпервізар меў маналітную архітэктуру, пры якой для пашырэння функцыянальнасці даводзілася выкарыстоўваць спецыяльны API для рэгістрацыі callback-выклікаў, што абцяжарвала распрацоўку пашырэнняў з-за прывязкі да мовы С++ і ўнутранай прыладзе. Новая архітэктура на базе микроядра мае на ўвазе падзел гіпервізара на кампаненты ядра, выкананыя на нулявым кольцы абароны, і пашырэнні, выкананыя на трэцім кольцы (прастора карыстача). Абедзве часткі працуюць у каранёвым рэжыме VMX, а ўсё астатняе, у тым ліку хост-асяроддзе, у некаранёвым рэжыме VMX. Пашырэння ў прасторы карыстача рэалізуюць функцыянальнасць дыспетчара віртуальных машын (VMM) і ўзаемадзейнічаюць з ядром гіпірвізара праз сістэмныя выклікі, для якіх забяспечваецца зваротная сумяшчальнасць. Пашырэньні могуць стварацца на любых мовах праграмаваньня, у тым ліку падтрымліваецца выкарыстаньне мовы Rust.
  • Ажыццёўлены пераход на выкарыстанне ўласнай бібліятэкі BSL з падтрымкай Rust і C++, якая прыйшла на змену вонкавым бібліятэкам libc++ і newlib. Адмова ад вонкавых залежнасцяў дазволіў рэалізаваць у Bareflank родную падтрымку кампіляцыі ў Windows для спрашчэння распрацоўкі на дадзенай платформе.
  • Дададзена падтрымка працэсараў AMD. Больш за тое распрацоўка Bareflank зараз вядзецца на сістэме з CPU AMD і ўжо потым партуецца для CPU Intel.
  • У загрузніку дададзена падтрымка архітэктуры ARMv8, адаптацыя гіпервізара для якой будзе завершана ў адным з наступных выпускаў.
  • Забяспечана адпаведнасць патрабаванням да распрацоўкі крытычна важных сістэм, сфармуляваным арганізацыямі AUTOSAR і MISRA.

Крыніца: opennet.ru

Дадаць каментар