一个安全、快速、通用的操作系统内核,使用Rust编写,并与Linux兼容
English | 中文版
星绽(英文名:Asterinas)是一个安全、快速、通用的操作系统内核。 它提供于Linux相同的ABI,可无缝运行Linux应用, 但比Linux更加内存安全和开发者友好。
-
星绽在内存安全性方面远胜Linux。 它使用Rust作为唯一的编程语言, 并将unsafe Rust的使用限制在一个明确定义且最小的可信计算基础(TCB)上。 这种新颖的方法, 被称为框内核架构, 使星绽成为一个更安全、更可靠的内核选择。
-
星绽在开发者友好性方面优于Linux。 它赋能内核开发者们 (1)使用生产力更高的Rust编程语言, (2)利用一个专为内核开发者设计的工具包(称为OSDK)来简化他们的工作流程, (3)享受MPL所带来的灵活性, 可自由选择开源或闭源他们为星绽所开发的内核模块或驱动。
虽然通往生产级操作系统内核的路上注定充满艰险, 但我们坚信正朝着正确的方向迈进。 当前,星绽仅支持x86-64虚拟机; 我们2024年的目标是 使星绽在x86-64虚拟机环境中达到生产可用。
准备一台安装了Docker的、x86-64架构的Linux机器。 按照以下三个简单的步骤来构建和启动星绽。
- 下载最新的源代码。
git clone https://github.com/asterinas/asterinas
- 运行一个作为开发环境的Docker容器。
docker run -it --privileged --network=host --device=/dev/kvm -v ./asterinas:/root/asterinas asterinas/asterinas:0.4.2
- 在容器内,进入项目文件夹构建并运行星绽。
make build
make run
如果一切顺利,星绽现在应该在一个虚拟机内运行起来了。
查看The Asterinas Book 以了解更多关于本项目的信息。
星绽的源代码和文档主要使用 Mozilla公共许可证(MPL),版本2.0, 部分组件在更宽松的许可证下发布, 详见这里。 关于选择MPL的原因,请见这里。