yhzhang0128/egos-2000

Envision a future where everyone can read all the code of an educational operating system.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 39 minutes ago
Added to GitGenius on September 19th, 2026
Created on April 18th, 2022
Open Issues & Pull Requests: 0 (+0)
GitHub issues: Enabled
Number of forks: 315
Total Stargazers: 3,620 (+0)
Total Subscribers: 39 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.2 hours
Mean response time: 28.1 hours
90th percentile: 5.6 days
Tracked items: 15

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

egos-2000 is an educational operating system that implements a complete teaching OS in approximately 2000 lines of C code.

The project addresses the challenge of making operating system internals accessible to students by building a minimal but complete OS that covers all essential components. It uses a three-layer architecture called "earth and grass": the earth layer provides hardware-specific abstractions for devices and memory, the grass layer implements hardware-independent abstractions including process control and system calls, and the application layer provides a file system, shell, and user commands. This layered design allows students to understand each component without being overwhelmed by complexity.

The tool is designed for computer science students and educators who want to teach or learn operating system fundamentals with code that remains comprehensible in its entirety. It runs on both QEMU emulation and actual RISC-V hardware boards, making it suitable for courses that range from simulation-based learning to hands-on embedded systems work. The project includes a companion book with nine course projects built on top of egos-2000, providing a structured curriculum path. This approach differs from larger teaching operating systems by prioritizing code readability and completeness over feature richness.

The project has been adopted in university courses and ported to multiple hardware platforms including custom RISC-V processors and commercial boards. Community contributions have extended the system to run on additional hardware targets and even demonstrated running complex applications like games on top of the kernel, indicating active engagement from both educators and hobbyists interested in systems programming.