基于 QEMU 的 iOS、macOS 和 visionOS 系统模拟器与虚拟机应用,可运行 Windows、Linux 等系统。
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
阅读 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 数据每日更新。
相关项目
3.6万1860SwiftApache-2.0更新于 前天
一套为期 12 周、共 26 课的经典机器学习入门课程,基于 Scikit-learn,提供 Python 和 R 版本。
9.2万2.3万Jupyter NotebookMIT更新于 前天
按主题整理的计算机科学大学课程列表,每门课程附带视频讲座链接。
8.4万1.1万无许可证更新于 前天
开源 CUDA 学习笔记与代码合集,包含 200 多个内核,涵盖 HGEMM、FP8/FP4 GEMM 与 Flash-Attention。
1.2万1277CudaGPL-3.0更新于 16小时前
一款基于 Flutter 的英语听说训练 App,自动编排精听、跟读、盲听、复述与间隔复习。
4213426DartAGPL-3.0更新于 前天
54 个无依赖、单文件的 Python 脚本,从零实现现代 AI 核心算法,便于读懂其底层原理。
1433105PythonMIT更新于 5天前