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.
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.6k
- Category
- Hardware, OS and embedded
- License
- Custom license (see repository)
- Forked
- 2026-08-20
- Sync status
- In syncLast synced 2026-10-16
More in Hardware, OS and embedded
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-10-16License: GPL-3.0Hardware, OS and embeddedGitHub
Turns a Gemtek W1700K Wi-Fi 7 router into a wideband software-defined radio receiver, streaming raw IQ to a Linux host for live spectrum and waterfall viewing and receiver control.
Forked 2026-10-12Last synced 2026-10-16Custom license (see repository)Hardware, OS and embeddedGitHub
Provides an experimental Metal driver for NVIDIA Turing-and-later GPUs on Intel Macs running macOS 15 with OpenCore. It enables graphics and compute interfaces, with compatibility varying by system.
Forked 2026-10-11Last synced 2026-10-16Custom license (see repository)Hardware, OS and embeddedGitHub
An Arduino library for sending and receiving data over LoRa radios. It provides an interface for compatible SX127x-based boards and the Arduino MKR WAN 1300 to exchange wireless packets.
Forked 2026-10-10Last synced 2026-10-16License: MITHardware, OS and embeddedGitHub