Издаване на хипервизора 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 се разработва система за виртуализация Boxy, поддържаща стартиране на гостуващи системи и позволяваща използване на леки виртуални машини с Linux и Unikernel за стартиране на специализирани услуги или приложения. Във форма на изолирани услуги могат да се изпълняват както обикновени веб услуги, така и приложения, които имат специални изисквания към надеждността и сигурността, освободени от влиянието на хост-окружението (хост-окружение се изолира в отделна виртуална машина).

Основни нововъведения в Bareflank 2.0:

  • Добавена е поддръжка за стартиране на Bareflank директно от UEFI за последващо изпълнение на операционната система във виртуална машина;
  • Реализиран е нов мениджър за управление на паметта, проектиран по аналогия с мениджърите на паметта SLAB/Buddy в Linux. Новият мениджър на паметта демонстрира намаляване на фрагментацията, позволява постигането на по-висока производителност и поддържа динамично разпределение на паметта за хипервизора чрез bfdriver, което позволява намаляване на началния размер на хипервизора и оптимално мащабиране в зависимост от броя на ядрата на CPU;
  • Нова система за компилация, базирана на CMake, независима от командния интерпретатор, позволяваща значително ускорение на компилацията на хипервизора и опростяваща поддръжката на бъдещи допълнителни архитектури, като ARM;
  • Извършена е реорганизация на кода и опростена структурата на изходните текстове. Подобрена е поддръжката на свързани проекти, като hyperkernel, без необходимост от дублиране на кода. По-ясно е отделен кодът хипервизорa, unwind-библиотеката, runtime, управляващите инструменти, зареждача и SDK;
  • По-голямата част от API вместо преди използваните механизми на наследяване в C++ е прехвърлена на прилагане на делегиране, което позволи опростяване на API, повишаване на производителността и намаляване на потреблението на ресурси.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster