#kernel #unix-like #rust

nightly no-std bin+lib ember_os

一个用 Rust 实现的简单操作系统内核,参考了 https://os.phil-opp.com/

2 个版本

0.1.1 2024 年 3 月 6 日
0.1.0 2024 年 3 月 5 日

#1409嵌入式开发

MIT/Apache

135KB
4K SLoC

Ember OS

❤️ 如果您喜欢这个项目,请给我一个 Star / Follow!❤️

简介

一个用 Rust 实现的简单操作系统,参考了 Philipp OppermannWriting an OS in Rust blog

参考信息

本项目包含(参考)来自 phil-oppblog_os 的代码,该代码在 MIT LICENSEAPACHE LICENSE 下可用。原始代码可在 phil-opp/blog_os 找到。本项目的主要扩展(与 phil-opp 的区别)如下

  1. 完全实现 异步任务管理器
  2. 简单实现 Shell
  3. 完全移植来自 NJU-OS-Experimentbenchmarks

构建

由于依赖许多 不稳定功能,需要 rust-toolchainnightly 版本。一种简单的方法是运行 rustup update nightly --force

显然,您应该首先安装 qemu。您可以使用 brew 帮助完成此操作

brew install qemu

最后但并非最不重要的是,安装 bootimage,以便您可以从编译后的内核创建合法的引导磁盘镜像

cargo install bootimage

最后,您可以运行以下命令来构建项目

cargo build

然后,您可以运行它

cargo run

或者,运行一些给定的测试

cargo test

(是的,cargo bootimage不是必须的步骤,因为这个项目下的构建行为已经被调整为在运行之前自动执行)

致谢

依赖项

~7MB
~96K SLoC