裸侧 它是用 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 任务关键型系统设计要求。
最后 如果您有兴趣了解更多有关它的信息,你可以咨询 以下链接中的详细信息。