Zinnia:一个用 Rust 编写的模块化 64 位类 Unix 内核
Zinnia: A modular 64-bit Unix-like kernel written in Rust

原始链接: https://zinnia-os.org/

该内核几乎 100% 使用 Rust 编写,并尽可能避免使用 unsafe 代码。它实现了大范围的 POSIX 系统调用 API,同时也提供 Linux 和 BSD 中常见的扩展功能,如 epoll 和 timerfd。这使得它能够运行基于 Wayland 和 X11 会话的现代桌面环境。大多数驱动程序以模块形式实现,即在引导时从 initrd 加载并链接的 Rust ELF 动态库,类似于 Linux 系统。得益于 Limine 引导加载程序,Zinnia 可以在任何基于 UEFI 的系统上启动。我于 2024 年启动该项目以学习系统编程,随着时间的推移,它具备了越来越多的功能。如今,该内核已能在许多真实的 x86_64 机器上引导。目前计划支持 aarch64 和 riscv64,但并非当下的优先级。随时欢迎提交修复!

相关文章

原文

about

The kernel is written in (almost) 100% Rust and attempts to avoid unsafe code where possible. It implements a big range of POSIX APIs in system calls, but also exposes common extensions found in Linux and BSDs, like epoll and timerfd. This allows it to run a somewhat modern desktop using Wayland and X11 sessions.

Most drivers are implemented as modules. These are Rust ELF dylibs which get loaded and linked during boot from an initrd, similar to Linux systems. Zinnia can boot from any UEFI based system thanks to the Limine bootloader.

I started this project in 2024 to learn more about systems programming, but over time it started gain more and more features. Today the kernel is able to boot on many real x86_64 machines. aarch64 and riscv64 support is planned, but not a priority at the moment. Fixes are always welcome!

联系我们 contact @ memedata.com