maestro: 轻量级、兼容Linux的内核,使用Rust编写

Lobsters Hottest 工具

摘要

Maestro 是一个用 Rust 编写的轻量级类 Unix 内核,旨在实现安全性和 Linux 兼容性。目前支持 x86 和 x86_64 架构,功能丰富,但仍处于早期开发阶段。

<p><a href="https://lobste.rs/s/yvydvs/maestro_lightweight_linux_compatible">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/06/24 01:52

maestro-os/maestro 源码:https://github.com/maestro-os/maestro AGPL-3.0 许可证 版本 Rust 工具链 持续集成 Stars Discord (https://discord.gg/4JMBN3YPAk) # 概述 Maestro 是一个用 Rust 编写的轻量级类 Unix 内核。其目标是提供一个轻量级操作系统,能够利用 Rust 语言的安全特性来实现可靠性。 > 该项目仍处于早期开发阶段,因此非常不稳定且缺少许多功能。请勿在生产环境中使用它! 要了解项目的最新动态,请关注博客 (https://blog.lenot.re)! Neofetch (https://github.com/dylanaraps/neofetch) 和 bash 在操作系统上运行。 # 功能 CPU 架构支持 | 架构 | 状态 | |–––––––|––––| | x86_64 | ✅ | | x86 | ✅ | | AArch64 | 📅 | > - ✅ 已支持 > - 📅 计划中(目前尚未支持) 目前已实现的功能(非详尽列表): - Linux 系统调用(约 30% 已实现) - 内核模块 - 驱动程序 - PS/2 (https://en.wikipedia.org/wiki/PS/2_port) 键盘(包括对 USB 键盘的前向兼容) - IDE/PATA (https://en.wikipedia.org/wiki/Parallel_ATA) - NVMe (https://en.wikipedia.org/wiki/NVM_Express) - PCI (https://en.wikipedia.org/wiki/Peripheral_Component_Interconnect) 设备枚举 - 基本 ACPI (https://en.wikipedia.org/wiki/ACPI) 支持 - 内存管理 - 伙伴分配器 (https://en.wikipedia.org/wiki/Buddy_memory_allocation) - 内部内存分配器,与 dlmalloc 的实现有相似之处 - 每进程虚拟内存 - 过量分配 - 写时复制 - 页面缓存 - Unix 进程 - CPU 拓扑枚举 - 可抢占调度器(受 FreeBSD 的 ULE 调度器 (https://en.wikipedia.org/wiki/ULE_scheduler) 启发) - 对称多处理 (https://en.wikipedia.org/wiki/Symmetric_multiprocessing) (SMP) - POSIX 信号 - Unix 文件 - 带挂载点的虚拟文件系统 (VFS) - 文件系统(仅 ext2 (https://en.wikipedia.org/wiki/Extended_file_system)) - 磁盘分区(MBR (https://en.wikipedia.org/wiki/Master_boot_record) 和 GPT (https://en.wikipedia.org/wiki/GUID_Partition_Table)) - 虚拟文件系统(/tmp/proc) - initramfs (cpio) - Unix 管道和套接字 - 设备文件 - ELF (https://en.wikipedia.org/wiki/Executable_and_Linkable_Format) 程序 - 终端 - VGA 文本模式 (https://en.wikipedia.org/wiki/VGA_text_mode) - 部分支持 ANSI 转义码 (https://en.wikipedia.org/wiki/ANSI_escape_code) - 时钟 - PIT (https://en.wikipedia.org/wiki/Programmable_interval_timer) - RTC (https://en.wikipedia.org/wiki/Real-time_clock) - APIC 定时器 - HPET (https://en.wikipedia.org/wiki/High_Precision_Event_Timer) # 快速开始 此仓库本身并非一个完整的操作系统,仅包含内核。你可以: - 使用安装程序 (https://github.com/maestro-os/maestro-install) 从 ISO 文件构建完整的操作系统 - 手动构建操作系统。为此,你可以查看内核手册 然后,可以使用虚拟机(如 QEMUVirtualBox)或在物理机上运行该操作系统。 ## 构建 要构建和/或运行操作系统,cd 进入内核的 crate: sh cd kernel/ 然后按照 README.md 中的说明进行操作 ## 文档 内核手册包含有关如何使用内核的通用信息。 > 需要 mdbookmdbook-mermaid: > > sh > cargo install mdbook mdbook-mermaid > 使用以下命令构建手册: sh mdbook-mermaid install doc/ mdbook build doc/ 然后,可以在 doc/book/index.html 访问它。

相似文章

yserver: 一个用Rust从头编写的现代X11服务器

Lobsters Hottest

yserver是一个用Rust从头编写的现代X11服务器,能够运行MATE、XFCE和Cinnamon等完整的桌面环境,同时去掉了遗留的负担。它支持多种X扩展,并已在多种硬件上测试过。