狮子操作系统
The Lions Operating System

原始链接: https://lionsos.org

LionsOS 是由新南威尔士大学悉尼分校开发的一个研究型操作系统,基于高度安全的 seL4 微内核构建。目前仍处于实验阶段,尚未稳定,其目标是让 seL4 的优势——性能、安全性和可靠性——更容易获取。 与传统操作系统不同,LionsOS 利用 Microkit 工具组装可组合的组件,为特定任务创建定制系统。其设计,详述于 sDDF 文档中,强调单功能组件通过无锁队列进行通信,并尽量减少信息共享。 一个关键特性是其静态特性;系统不会适应硬件变化或动态加载组件,而是优先考虑可预测性和可验证性。虽然仍在开发中,并且需要更多组件,但 LionsOS 欢迎来自开源社区的贡献。

## LionsOS:一种新的、经过形式化验证的操作系统 LionsOS (lionsos.org) 是由新南威尔士大学悉尼分校开发的一种新的操作系统,以 UNIX 权威评论作者 John Lions 命名。它基于 seL4 微内核构建,并采用可组合组件方法,允许为特定任务定制操作系统。 讨论强调了该项目的精心设计,与匆忙采用 AI 生成资源的项目的形成对比。它利用 seL4 团队的 Microkit 框架,并支持用 Rust 编写的组件。虽然它不是旨在取代 Linux 的传统操作系统,但它侧重于通过形式化验证来提高安全性和可靠性——在某些场景下(如 Web 服务)提供比 Linux 显著更好的性能。 对话还涉及与其他基于微内核的系统(如 Genode)的比较,以及 C 和 Rust 在系统编程方面的持续争论。一些用户指出 Ada/SPARK 是一种强大的替代方案,具有强大的形式化验证能力。最终,LionsOS 旨在为专用应用程序提供高度安全可靠的基础。
相关文章

原文
LionsOS is currently undergoing active research and development, it does not have a concrete verification story yet. It is not expected for LionsOS to be stable at this time, but it is available for others to experiment with.

LionsOS is an operating system based on the seL4 microkernel with the goal of making the achievements of seL4 accessible. That is, to provide performance, security, and reliability.

LionsOS is being developed by the Trustworthy Systems research group at UNSW Sydney in Australia.

Architecture of a LionsOS-based system

It is not a conventional operating system, but contains composable components for creating custom operating systems that are specific to a particular task. Components are joined together using the Microkit tool.

The principles on which a LionsOS system is built are laid out fully in the sDDF design document; but in brief they are:

  1. Components are connected by lock-free queues using an efficient model-checked signalling mechanism.

  2. As far as is practical, operating systems components do a single thing. Drivers for instance exist solely to convert between a hardware interface and a set of queues to talk to the rest of the system.

  3. Components called virtualisers handle multiplexing and control, and conversion between virtual and IO addresses for drivers.

  4. Information is shared only where necessary, via the queues, or via published information pages.

  5. The system is static: it does not adapt to changing hardware, and does not load components at runtime. There is a mechanism for swapping components of the same type at runtime, to implement policy changes, or to reboot a virtual machine with a new Linux kernel.

To be successful, many more components are needed. Pull requests to the various repositories are welcome. See the page on contributing for more details.

联系我们 contact @ memedata.com