开源操作系统框架-Genode
Genode 操作系统框架扩展现有的內核(如微內核或程序) ,并提供一个统一的API应用程序。Genode 操作系统框架是一个用于构建高度安全的专用操作系统的工具包,它可以从只有 4MB 内存的嵌入式系统扩展到高度动态的通用工作负载。采用C++开发在AGPLv3协议下授权。Genode OS 体系结构的核心是一种组织结构,它与分层组织的公司的结构大致相似。如下图所示,Genode将进程组织为一棵树。红色箭头表示子进程是由其各自父级的资源创建的。创建子进程时,父进程会完全定义在其中执行新进程的虚拟环境。子级又可以从其分配的资源中进一步创建子级,从而创建任意结构的子系统。每个父级都对其创建的子系统保持完全控制,并定义其相互关系,例如通过有选择地允许它们之间的通信或分配物理资源。父子界面在每个层次结构级别上都是相同的,这使得此组织方法可以递归地应用。

Genode 基于递归系统结构。每个程序都在专门的沙箱中运行,并且仅授予其特定用途所需的访问权限和资源。程序可以利用自己的资源创建和管理子沙箱,从而形成可以在每个级别应用策略的层次结构。该框架提供了让程序相互通信和交换资源的机制,但只能以严格定义的方式进行。由于这种严格的制度,与当代操作系统相比,安全关键功能的攻击面可以减少几个数量级。
该框架将 L4 的构建原则与 Unix 哲学保持一致。根据 Unix 哲学,Genode 是一组小型构建块的集合,从中可以组成复杂的系统。但与 Unix 不同的是,这些构建块不仅包括应用程序,还包括所有经典的操作系统功能,例如内核、设备驱动程序、文件系统和协议栈。
特性
CPU 架构:x86(32 和 64 位)、ARM(32 和 64 位)、RISC-V
内核:L4 家族的大多数成员(NOVA、seL4、Fiasco.OC、OKL4 v2.1、L4ka::Pistachio、L4/Fiasco)、Linux 和自定义内核。
虚拟化:VirtualBox(基于 NOVA)、ARM 的自定义虚拟机监视器和 Unix 软件的自定义运行时
超过 100 个随时可用的组件

最新版本:21.08
Genode 21.08 已于2021年9月上旬正式发布。更新亮点包括:
改进对 CPU 的支持
改进 VirtualBox
支持原生 Web 浏览器中的媒体播放
支持 Sculpt OS 中的 LTE 连接
简化移植方法
改进对英特尔 GPU 的支持
简化移植方法
Genode 21.08 引入精简的移植方法能够大大减少成本,创造更广泛的硬件支持。新移植方式的第一个成功案例是为 Pinephone 和 MNT-Reform 笔记本电脑增加了图形驱动,为 Pine-A64-LTS 板增加了网络驱动,为 MNT-Reform 增加了 SD 卡驱动。第二个更新亮点是对英特尔 GPU 的支持进行了大幅度的修改。跟过去与 GPU 相关的实验性工作相比,新版本找到了一种方法,可以将 GPU 支持干净地整合到复杂的 Genode 系统的 GUI 架构中(如 Sculpt OS)。
除了上述的变化,Genode 还在改进其缓存维护 (cache-maintenance) 接口,改进 Genode/Linux 上的主机文件系统访问,改进 libuvc 的网络摄像头支持。另外,QEMU 的 RAM 帧缓冲器驱动程序现在可用于测试,以及开始逐步淘汰废弃的组件。更多详情查看发行公告。
官方主页:https://genode.org/