The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

21.10.2021 23:30

Состоялся релиз гипервизора 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.


  1. Главная ссылка к новости (https://github.com/Bareflank/h...)
  2. OpenNews: Выпуск гипервизора Bareflank 2.0
  3. OpenNews: Первый выпуск гипервизора Bareflank
  4. OpenNews: Выпуск гипервизора Xen 4.15
  5. OpenNews: Выпуск MirageOS 3.9, платформы для запуска приложений поверх гипервизора
  6. OpenNews: Компания Siemens выпустила гипервизор Jailhouse 0.12
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/56012-bareflank
Ключевые слова: bareflank, ypervisor
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, нах.. (?), 23:39, 21/10/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Ну и чем это отличается от xen и libvirt?
     

     ....ответы скрыты (6)

  • 1.3, Аноним (3), 00:53, 22/10/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Судя по описанию, очень вкусно.
     
  • 1.8, x3who (?), 04:38, 22/10/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Расширения могут создаваться на любых языках программирования

    так, на любых языках. понятно. но зачем автор выделил дальше один единственный язык?

    > в том числе поддерживается использование языка ...

     
     
  • 2.10, Чебур (?), 07:26, 22/10/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что поддержку rust добавили недавно, но что в описании в гитхабе, что на сайте, внимание на расте акцентируется не так сильно, думаю это автор статьи специально написал, зная как местные любят этот язык.

     
  • 2.13, Аноним (13), 08:08, 22/10/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Rust отдельно в описании и примечании к выпуску упоминается. И примеры расширений там только для C++ и Rust.

    "The Bareflank Hypervisor is an open source hypervisor Software Development Toolkit (SDK) for Rust and C++"
    "We even provide a default example using Rust instead of C++".
    "Bareflank supports the development of a VMM in Rust".
    "critical system's compliant implementation of a small subset of the C++ library (that also supports Rust)".

     

  • 1.9, лютый жабби__ (?), 07:20, 22/10/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    "Более того разработка Bareflank теперь ведётся на системе с CPU AMD и уже потом портируется для CPU Intel"

    Разраб у этой штуки, видимо один + один помощник с интелем.

     
  • 1.11, Умер (?), 07:40, 22/10/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Лучше бы bhyve пилить помогали...
     
     
  • 2.15, Аноним (15), 09:49, 22/10/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Корпорации помогут (но это не точно).
     

  • 1.12, Аноним (12), 07:49, 22/10/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а умеет оно за миллисекунды поднимать инстансы, как это делает к примеру тот же firecracker  ?
     
  • 1.14, Gannet (ok), 09:43, 22/10/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Больше систем виртуализации в массы!
     
     
  • 2.34, Аноним (34), 22:37, 23/10/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Виртуальная ОС запущенная в гипервизоре через эмулятор виртуального окружения для псевдопроцессора абстрактного уровня транслируемых машинных команд.
     

  • 1.18, xor (??), 10:21, 22/10/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Из интересного: Там какая-то BSL библиотека с полным покрытием тестами на уровне сборки и исполнения и соответствует спецификациям безопасности
     
  • 1.22, Anonymous XE (?), 14:38, 22/10/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Попробовал собрать. Захотел Шланг++. Принудительно указал -DCMAKE_CXX_COMPILER="g++", не соглашается. Вывод: отстой, по крайней мере, на сегодняшний день.
     
  • 1.30, Аноним (30), 16:43, 22/10/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А дельно. Попробовал.
     
  • 1.32, Аноним (32), 07:30, 23/10/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Blank flank!
     
  • 1.33, Аноньимъ (ok), 20:04, 23/10/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Допиливали бы лучше кьему и виртио драйвера.

    Баги в iscsi виртуальном задолбали.

     
     
  • 2.35, aname (?), 19:29, 25/10/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так Вы ручками, ручками
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру