Repolode
yhzhang0128

yhzhang0128/egos-2000

一个只有约 2000 行 C 与 RISC-V 汇编代码的教学操作系统,目标是让学生能读完全部代码。

Star
3,694
Fork
320
未关闭 Issue
0
最近提交
2个月前

这是什么?

egos-2000 是一个用 C 和 RISC-V 汇编编写的教学操作系统,全部代码约 2000 行。它的目标是让学生能够读完一个可运行操作系统的每一行代码,内容涵盖设备接口、内存管理、定时器、进程、系统调用、文件系统和 shell。

系统分为三层。earth 层封装 tty、磁盘、定时器和内存等与硬件相关的抽象;grass 层提供与硬件无关的进程控制块和系统调用接口;应用层包含文件系统、shell 和用户命令。各层接口定义在头文件 egos.h 中的 `struct earth` 和 `struct grass`。

项目可在 QEMU 模拟器和 RISC-V 开发板上运行。配套的 EGOS 书籍基于该代码库设计了 9 个课程项目。

核心功能

  • 01用约 2000 行代码实现操作系统的核心组件
  • 02可在 QEMU 模拟器和 RISC-V 开发板上运行
  • 03三层架构将硬件抽象、进程与系统调用、应用程序分开
  • 04包含文件系统、shell 和用户命令
  • 05配有 EGOS 书籍及 9 个基于本项目的课程项目

适用场景

  • 从硬件接口开始,学习操作系统的工作原理
  • 用于操作系统课程,让学生阅读并扩展一个完整的小型内核
  • 将操作系统移植到新的 RISC-V 开发板或处理器实现上

快速上手

  1. 1

    阅读 USAGES.md 以了解如何运行 egos-2000

使用前须知

  • 元数据中未识别许可证,因此复用条款不明确。
  • 它仅能在 QEMU 和 RISC-V 开发板上运行,不支持其他硬件。
  • 这是一个仅约 2000 行代码的教学操作系统,并非生产级操作系统。

标签

常见问题

egos-2000 是什么?
一个只有约 2000 行 C 与 RISC-V 汇编代码的教学操作系统,目标是让学生能读完全部代码。 egos-2000 是一个用 C 和 RISC-V 汇编编写的教学操作系统,全部代码约 2000 行。它的目标是让学生能够读完一个可运行操作系统的每一行代码,内容涵盖设备接口、内存管理、定时器、进程、系统调用、文件系统和 shell。
egos-2000 可以免费使用吗?用的什么许可证?
egos-2000 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
egos-2000 还在维护吗?
半年内有更新。egos-2000 最近一次提交是在 2026年8月16日。
egos-2000 适合用来做什么?
从硬件接口开始,学习操作系统的工作原理 用于操作系统课程,让学生阅读并扩展一个完整的小型内核 将操作系统移植到新的 RISC-V 开发板或处理器实现上
egos-2000 怎么安装和运行?
阅读 USAGES.md 以了解如何运行 egos-2000
在哪里获取 egos-2000?
源代码和安装说明在 GitHub 上:https://github.com/yhzhang0128/egos-2000

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目