Bareflank 3.0 管理程序發布

Bareflank 3.0 hypervisor 已經發布,為快速開發專用的 hypervisor 提供了一個工具包。 Bareflank 是用 C++ 編寫的,支持 C++ STL。 Bareflank 的模塊化架構可以輕鬆擴展現有的管理程序功能並創建您自己的管理程序選項,既可以在硬件(如 Xen)之上運行,也可以在現有軟件環境(如 VirtualBox)中運行。 可以在單獨的虛擬機中運行主機環境的操作系統。 項目代碼在 LGPL 2.1 許可證下分發。

Bareflank 在 64 位 Intel 和 AMD CPU 上提供對 Linux、Windows 和 UEFI 的支持。 Intel VT-x技術用於虛擬機資源的硬件分區。 未來計劃支持 macOS 和 BSD 系統,以及在 ARM64 平台上工作的能力。 此外,該項目還開發了自己的用於加載 VMM(虛擬機管理器)的驅動程序、用於加載 VVM 模塊的 ELF 加載程序以及用於從用戶空間控制管理程序的 bfm 應用程序。 提供了一個工具包,用於使用 C++11/14 規範中定義的元素編寫擴展,一個異常堆棧展開庫 (unwind),以及它自己的運行時庫,以支持構造函數/析構函數的使用和異常處理程序的註冊。

在 Bareflank 的基礎上,正在開發 Boxy 虛擬化系統,它支持啟動來賓系統,並允許使用帶有 Linux 和 Unikernel 的輕量級虛擬機來運行專門的服務或應用程序。 以隔離服務的形式,既可以運行普通的Web服務,也可以運行對可靠性和安全性有特殊要求的應用程序,不受宿主環境的影響(宿主環境隔離在單獨的虛擬機中)。 Bareflank 也是 MicroV 管理程序的核心,旨在運行實現 KVM API 的簡約虛擬機(單應用程序虛擬機),適用於構建關鍵任務系統。

Bareflank 3.0的主要創新點:

  • 過渡到使用微內核概念。 以前,hypervisor 是單體架構,為了擴展功能,需要使用特殊的 API 來註冊回調調用,由於綁定到 C++ 語言和內部結構,很難開發擴展. 新的基於微內核的架構將管理程序拆分為運行在零保護環上的內核組件和運行在第三環(用戶空間)上的擴展。 這兩個部分都以 VMX root 模式運行,而其他所有部分(包括主機環境)都以非 root VMX 模式運行。 用戶空間擴展實現虛擬機管理器 (VMM) 功能並通過向後兼容的系統調用與管理程序內核交互。 可以使用任何編程語言創建擴展,包括使用 Rust 語言。
  • 我們轉而使用我們自己的支持 Rust 和 C++ 的 BSL 庫,它取代了外部庫 libc++ 和 newlib。 刪除外部依賴項允許 Bareflank 實現本機 Windows 編譯支持以簡化此平台上的開發。
  • 添加了對 AMD 處理器的支持。 而且現在Bareflank的開發是在AMD CPU的系統上進行的,然後才移植到Intel CPU上。
  • 引導加載程序中添加了對 ARMv8 架構的支持,將在下一個版本中完成 hypervisor 適配。
  • 符合 AUTOSAR 和 MISRA 組織製定的關鍵系統開發要求。

來源: opennet.ru

添加評論