egos-2000
A teaching operating system written in exactly 2000 lines of code so students can read all of it. It runs on QEMU and RISC-V boards and comes with course projects.
Pick a small issue you can reproduce, then fix it with your AI coding agent.
Share on XCustom license (see repository)
Overview
egos-2000 is a teaching operating system written in exactly 2000 lines of code, so a student can read every line. It covers the parts an educational OS needs and runs on QEMU and on RISC-V boards. Its name comes from a three-layer design of earth, grass and application layers. The EGOS book provides 9 course projects built on the code, making it suitable for operating systems courses.
Key features
- Complete teaching OS in exactly 2000 lines, mostly C
- Runs on QEMU and RISC-V boards
- Earth layer handles hardware, grass layer handles processes and system calls
- Application layer holds the file system, shell and user programs
- EGOS book supplies 9 course projects
Best for
Students and instructors who want an operating system small enough to read in full and to use in course projects. It is a learning tool, not a general purpose OS.
- Upstream
- yhzhang0128/egos-2000
- Fork on GitHub
- Guo-astro/egos-2000
- Upstream stars
- 3.7k
- Category
- Hardware, OS and embedded
- License
- Custom license (see repository)
- Forked
- 2026-08-20
- Sync status
- In syncLast synced 2026-11-09
More in Hardware, OS and embedded
A Linux kernel module that unlocks FP/BF16 instruction issue rates on supported Nvidia RTX 30-series cards. It is used to improve matrix-computation throughput without patching the Nvidia driver.
Forked 2026-10-24Last synced 2026-11-09No license declaredHardware, OS and embeddedGitHub
BlueOS Kernel is a Rust operating system kernel with POSIX interface compatibility and Rust standard library support. It provides a foundation for kernel development on ARM and RISC-V architectures, including QEMU platforms.
Forked 2026-10-20Last synced 2026-11-09No license declaredHardware, OS and embeddedGitHub
DroidDesk turns an ARM64 Android phone into a Linux desktop using Termux or its standalone Android app. Use it to run desktop applications on the phone or connect it to a monitor.
Forked 2026-10-17Last synced 2026-11-09License: GPL-3.0Hardware, OS and embeddedGitHub
Firmware that turns supported ESP32-family Wi-Fi radios into receive-only, low-duty-cycle SDRs for capturing and analyzing radio signals without separate SDR hardware.
Forked 2026-10-15Last synced 2026-11-09License: GPL-3.0Hardware, OS and embeddedGitHub