AresOS is an experimental operating system written in Rust, built from the ground up to explore modern kernel architecture, low-level hardware control, and safe systems programming.
Named after Ares, the project represents strength, control, and raw system power — the philosophy that a developer should fully understand and command the machine they use.
AresOS is both a learning platform and a long-term experimental system, focused on transparency, performance, and deep system knowledge.
AresOS follows a simple belief:
The best way to understand a computer is to build the system that runs it.
Modern operating systems hide enormous complexity behind layers of abstraction. AresOS instead embraces that complexity and exposes how systems truly work.
The project focuses on:
- Understanding the machine
- Writing software close to the hardware
- Designing systems intentionally rather than inheriting legacy design
Rust provides the safety guarantees needed to build such a system without sacrificing performance.
AresOS draws inspiration from several legendary operating system projects.
One of the strongest influences is TempleOS, created entirely by Terry A. Davis.
TempleOS demonstrated what a single determined developer could achieve by building a complete operating system from scratch. Its bold philosophy and uncompromising approach to system design helped inspire many modern hobby OS projects.
While AresOS follows a different technical path—using Rust and modern system architecture—it shares the same spirit of deep curiosity, independence, and exploration of computing at the lowest level.
Other inspirations include:
- Linux
- Redox OS
- Minix
AresOS aims to become a small but powerful experimental operating system that demonstrates:
- modern kernel design
- memory-safe systems programming
- transparent system behavior
- efficient hardware interaction
The project also serves as a long-term exploration of operating system engineering.
- Rust bare-metal kernel
- interrupt handling
- memory management
- virtual memory and paging
- keyboard input
- timer interrupts
- device driver framework
- modular kernel design
- multitasking scheduler
- kernel logging and debugging
- filesystem support
- disk drivers
- persistent storage
- terminal shell
- system utilities
- process management tools
- freestanding Rust kernel
- bootloader integration
- basic screen output
Status: ✅ Complete (validated 2026-03-17)
Checklist: docs/phase-1-checklist.md
- interrupt descriptor table
- keyboard driver
- timer interrupts
Status: ✅ Complete (validated 2026-03-17)
Checklist: docs/phase-2-checklist.md
- paging implementation
- frame allocator
- heap allocation
Status: ✅ Complete (validated 2026-03-17)
Checklist: docs/phase-3-checklist.md
- multitasking scheduler
- context switching
- task management
Status: ✅ Complete (validated 2026-03-17, cooperative async; context switching in context-lab mode)
Checklist: docs/phase-4-checklist.md
- preemptive scheduler mode (
preemptionfeature) - process abstraction + PID allocator
- fairness telemetry and preemption observability
Status: ✅ Core Complete (validated 2026-03-23; hardening items remain)
Checklist: docs/phase-5-checklist.md
Scheduler deep dive: docs/SCHEDULER.md
- command shell
- system utilities
- basic programs
AresOS
├── Cargo.toml workspace manifest
├── kernel/
│ ├── Cargo.toml kernel crate manifest
│ ├── x86_64-unknown-none.json
│ ├── src/
│ │ ├── main.rs kernel entry point
│ │ ├── lib.rs shared kernel modules
│ │ ├── interrupts.rs IDT + IRQ handlers
│ │ ├── memory.rs paging + frame allocator
│ │ ├── allocator.rs heap allocator
│ │ ├── task/ async executor + keyboard
│ │ └── performance/ metrics + profiler
│ └── tests/ boot/integration tests
└── .cargo/config.toml target + runner configuration
Install dependencies:
rustup component add llvm-tools-preview
cargo install bootimage
rustup component add rust-src
Install QEMU (example on Ubuntu/Debian):
sudo apt install qemu-system-x86
Build the OS:
cargo build -p kernel
Run AresOS using QEMU:
cargo run -p kernel
Run Phase 5 preemption mode:
cargo run -p kernel --features preemption
Phase 5 integration checks:
cargo test -p kernel --test preemption_integration
Phase 5 soak check (fairness/progress):
./scripts/phase5-soak-check --duration 120 --min-samples 3
Phase 5 latency check (<100ms estimated preemption latency):
./scripts/phase5-latency-check --duration 120 --min-samples 5 --max-latency-ms 100
Run tests (unit + integration under QEMU):
cargo test -p kernel
Run Phase 4 wrapper-mode preemption soak check:
./scripts/phase4-soak-check
AresOS is not intended to replace existing operating systems.
Instead, it exists to answer a question:
What happens when you build a system entirely on your own terms?
Licensed under the Apache License, Version 2.0.
See LICENSE for the full text.
