裸側 它是用 C++ 編寫的,並且與 C++ STL 兼容。 Bareflank 的模塊化架構 允許您輕鬆擴展現有的管理程序功能並創建自己的管理程序版本, 兩者都運行在硬件(如 Xen)和現有的軟件環境(如 VirtualBox)中。 您可以在單獨的虛擬機中運行宿主環境的操作系統。 項目代碼在 LGPL 2.1 許可下分發。
關於 Bareflank
Bareflank 在 64 位 Intel 和 AMD CPU 上支持 Linux、Windows 和 UEFI。 Intel VT-x 技術用於虛擬機資源的硬件共享。 未來,設想兼容macOS和BSD系統,以及在ARM64平台上工作的能力。
另外, 該項目開發了自己的控制器來加載VMM (虛擬機管理器), 一個 ELF 充電器 加載 VVM 模塊和 一個 bfm 應用程序 從用戶空間管理管理程序。
基於 Bareflank,Boxy正在開發虛擬化系統,支持guest系統的啟動 y 允許在 Linux 和 Unikernel 中使用輕量級虛擬機 啟動專門的服務或應用程序。
以隔離服務的形式, 可以運行具有特殊可靠性要求的普通 Web 服務和應用程序 和安全性,不受宿主環境的影響(宿主環境隔離在單獨的虛擬機中)。 Bareflank 也是 MicroV hypervisor 的核心,旨在運行極簡虛擬機(單應用虛擬機),實現 KVM API,適用於構建任務關鍵型系統。
提供了一個用於編寫擴展的工具包供您使用。 使用 C++ 11/14 規範中定義的元素,一個用於展開異常堆棧(unwind)的庫,以及它自己的運行時庫,以支持使用構造函數/析構函數和日誌處理程序異常。
由於 Bareflank 3.0新版本的主要創新 以下突出:
- 過渡到微內核概念。 以前,hypervisor 是單體架構,在那裡擴展功能,必須使用特殊的 API 來記錄回調調用,由於綁定到 C++ 語言和設備內部,這使得擴展開髮變得困難。
- 新的微內核架構將管理程序分為運行在零環上的內核組件和運行在第三環(用戶空間)上的擴展。 這兩個部分都在 VMX 根模式下運行,而其他一切(包括主機環境)都在非根 VMX 模式下運行。
- 用戶空間擴展實現虛擬機管理器 (VMM) 功能並通過向後兼容的系統調用與管理程序內核交互。 可以使用任何編程語言創建擴展,包括使用 Rust 語言,為此提供了現成的擴展示例。
- 他們已經過渡到使用他們自己的 BSL 庫和 Rust 和 C++ 支持,取代了外部 libc++ 和 newlib 庫。 刪除外部依賴項允許 Bareflank 在 Windows 上實現本機構建支持,以簡化在此平台上的開發。
- Bareflank 現在支持 AMD。 此外,現在 Bareflank 的開發是在帶有 AMD CPU 的系統上進行的,然後才轉移到 Intel CPU,確保 AMD 的開發得到認真對待。
- 加載器增加了對 ARMv8 架構的支持,其管理程序的適配將在未來的版本中完成。
符合 AUTOSAR 和 MISRA 任務關鍵型系統設計要求。
終於 如果您有興趣了解更多信息,你可以諮詢 以下鏈接中的詳細信息。