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

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

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

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

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

  • Дададзена падтрымка запуску Bareflank напрамую з UEFI для наступнага выканання аперацыйнай сістэмы ў віртуальнай машыне;
  • Рэалізаваны новы мэнэджар кіравання памяццю, спраектаваны па аналогіі з мэнэджэрамі памяці SLAB/Buddy у Linux. Новы мэнэджар памяці дэманструе зніжэнне фрагментацыі, дазваляе дамагчыся больш высокай прадукцыйнасці і падтрымлівае дынамічнае вылучэнне памяці гіпервізару праз bfdriver, Што дазваляе скараціць пачатковы памер гіпервізара і аптымальна маштабавацца ў залежнасці ад колькасці ядраў CPU;
  • Новая сістэма зборкі на базе CMake, незалежная ад каманднага інтэрпрэтатара, якая дазваляе дамагчыся істотнага паскарэння кампіляцыі гіпервізара і якая спрашчае падтрымку ў будучыні дадатковых архітэктур, такіх як ARM;
  • Праведзена рэарганізацыя кода і спрошчана структура зыходных тэкстаў. Палепшана падтрымка сумежных праектаў, такіх як hyperkernel, без неабходнасці дубліравання кода. Больш відавочна аддзелены код гіпервізара, unwind-бібліятэкі, runtime, кіраўніка інструментара, загрузніка і SDK;
  • Большая частка API замест раней ужывальных механізмаў атрымання ў спадчыну ў C++ пераведзена на ўжыванне дэлегавання, Што дазволіла спрасціць API, павысіць прадукцыйнасць і скараціць спажыванне рэсурсаў.

Крыніца: opennet.ru

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