Skip to content

smartbooty69/AresOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AresOS ⚔️

AresOS logo

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.


Philosophy

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.


Inspiration

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

Goals

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.


Planned Features

Kernel Core

  • Rust bare-metal kernel
  • interrupt handling
  • memory management
  • virtual memory and paging

Hardware Interaction

  • keyboard input
  • timer interrupts
  • device driver framework

System Architecture

  • modular kernel design
  • multitasking scheduler
  • kernel logging and debugging

Storage

  • filesystem support
  • disk drivers
  • persistent storage

User Environment

  • terminal shell
  • system utilities
  • process management tools

Roadmap

Phase 1 — Boot

  • freestanding Rust kernel
  • bootloader integration
  • basic screen output

Status: ✅ Complete (validated 2026-03-17)

Checklist: docs/phase-1-checklist.md

Phase 2 — Hardware

  • interrupt descriptor table
  • keyboard driver
  • timer interrupts

Status: ✅ Complete (validated 2026-03-17)

Checklist: docs/phase-2-checklist.md

Phase 3 — Memory

  • paging implementation
  • frame allocator
  • heap allocation

Status: ✅ Complete (validated 2026-03-17)

Checklist: docs/phase-3-checklist.md

Phase 4 — Processes

  • 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

Phase 5 — Preemptive Scheduling & Process Foundation

  • preemptive scheduler mode (preemption feature)
  • 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

Phase 6 — User Space

  • command shell
  • system utilities
  • basic programs

Project Structure

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

Building

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

Running

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

Vision

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?


License

Licensed under the Apache License, Version 2.0.

See LICENSE for the full text.

About

AresOS is an experimental operating system written in Rust that explores modern kernel design, memory safety, and high-performance system architecture. Built from scratch, it aims to provide a transparent and developer-friendly environment while maintaining low-level control over hardware.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors