Голосторонній Він написаний на C++ і сумісний з C++ STL. Модульна архітектура Bareflank дозволяє легко розширювати наявні можливості гіпервізора та створювати власні версії гіпервізора, як на обладнанні (наприклад, Xen), так і в існуючому програмному середовищі (наприклад, VirtualBox). Ви можете запустити операційну систему хост-середовища в окремій віртуальній машині. Код проекту поширюється за ліцензією LGPL 2.1.
Про Bareflank
Bareflank підтримує Linux, Windows і UEFI на 64-розрядних процесорах Intel і AMD. Технологія Intel VT-x використовується для спільного використання ресурсів віртуальної машини. У майбутньому передбачається сумісність із системами macOS та BSD, а також можливість роботи на платформі ARM64.
Крім того, проект розробляє власний контролер для завантаження VMM (Диспетчер віртуальної машини), зарядний пристрій ELF для завантаження модулів VVM і додаток bfm керувати гіпервізором з простору користувача.
На основі Bareflank, Boxy розробляється система віртуалізації, яка підтримує запуск гостьових систем y дозволяє використовувати легкі віртуальні машини з Linux і Unikernel для запуску спеціалізованих служб або програм.
У формі ізольованих послуг, може запускати звичайні веб-служби та програми, які мають особливі вимоги до надійності та безпека, без впливу середовища хоста (середовище хоста ізольовано в окремій віртуальній машині). Bareflank також лежить в основі гіпервізора MicroV, призначеного для запуску мінімалістичних віртуальних машин (віртуальних машин з однією програмою), що реалізує API KVM і підходить для створення критично важливих систем.
Набір інструментів для написання розширень надається для вашого використання. використання елементів, визначених у специфікаціях C++ 11/14, бібліотеки для розкручування стеку винятків (unwind), а також власної бібліотеки часу виконання для підтримки використання конструкторів/деструкторів і обробників винятків журналу.
Як основні нововведення нової версії Bareflank 3.0 виділяються:
- Перехід до концепції мікроядра. Раніше гіпервізор мав монолітну архітектуру, де для розширення функціональності йому доводилося використовувати спеціальний API для запису зворотних викликів, що ускладнювало розробку розширення через прив'язку до мови C++ і внутрішнього пристрою.
- Нова архітектура мікроядра розділяє гіпервізор на компоненти ядра, які працюють на нульовому кільці, і розширення, які працюють на третьому кільці (просторі користувача). Обидві частини працюють у кореневому режимі VMX, а все інше, включаючи середовище хоста, у некорневому режимі VMX.
- Розширення простору користувача реалізують функціональність Virtual Machine Manager (VMM) і взаємодіють з ядром гіпервізора за допомогою зворотно-сумісних системних викликів. Розширення можна створювати будь-якою мовою програмування, в тому числі за допомогою мови Rust, для якої надаються приклади готових до використання.
- Вони перейшли до використання власної бібліотеки BSL з підтримкою Rust і C ++, яка замінила зовнішні бібліотеки libc ++ і newlib. Видалення зовнішніх залежностей дозволило Bareflank реалізувати вбудовану підтримку збірки в Windows, щоб спростити розробку на цій платформі.
- Тепер Bareflank підтримує AMD. Крім того, розробка Bareflank тепер відбувається на системі з процесором AMD, і лише потім вона переходить на процесор Intel, гарантуючи, що розробка для AMD сприймається серйозно.
- Завантажувач додав підтримку архітектури ARMv8, адаптація гіпервізора якої буде завершена в наступному випуску.
Відповідність критично важливим вимогам до проектування системи AUTOSAR і MISRA.
В кінці кінців якщо вам цікаво дізнатись більше про це, Ви можете проконсультуватися деталі у наступному посиланні.