No description
- Rust 91.5%
- POV-Ray SDL 4.7%
- PowerShell 2%
- Assembly 0.8%
- Shell 0.8%
- Other 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
- Added `write_bytes` function to `serial.rs` for direct byte slice output to COM1. - Extended shell command handling in `shell.rs`: - Introduced new commands: `proccheck`, `ps`, `wait`, and `kill` for improved process management. - Enhanced `proc` command to display additional process statistics. - Updated command parsing to handle arguments more effectively. - Updated user-space assembly in `demo_user.asm` to include new syscall numbers for `wait`, `wait_blocking`, `getpid`, `kill`, and `sleep`. |
||
| .cargo | ||
| .forgejo/workflows | ||
| .vscode | ||
| bootloader | ||
| docs | ||
| kernel | ||
| types | ||
| .gitignore | ||
| build.sh | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
| run.ps1 | ||
| rust-toolchain.toml | ||
RyuuOS
RyuuOS is an early-stage x86-64 operating system written in Rust. It boots through UEFI and now provides the first complete interactive kernel foundation:
- Bounds-checked ELF loading and a versioned boot ABI.
- GDT, TSS, exception handling, and a double-fault IST.
- Bitmap physical-frame allocation from the final UEFI memory map.
- A kernel-owned P4, high-half heap mapping, and coalescing global allocator.
- ACPI RSDP/XSDT/RSDT/MADT parsing with checksum validation.
- Local APIC and I/O APIC interrupt routing with an 8259 fallback.
- A 100 Hz PIT tick, cooperative kernel tasks, PS/2 input, and a serial or framebuffer shell.
- A ring-3 userspace prototype: minimal ELF loading into per-process address spaces, timer-driven preemptive switching, and a basic syscall ABI.
Storage, networking, SMP, and richer process lifecycle/security still remain future work.
Build and run
The repository pins its Rust nightly toolchain in rust-toolchain.toml. QEMU
plus OVMF are recommended for testing.
On Windows:
.\run.ps1
On Linux:
./build.sh
qemu-system-x86_64 -bios /usr/share/ovmf/OVMF.fd \
-drive file=ryuuos.img,format=raw -m 512M -serial stdio
Use .\run.ps1 -NoQemu for a build-only Windows run and
RELEASE=true ./build.sh for optimized Linux images. At the ryuu> prompt,
run help to list commands.
The detailed architecture and development guide lives in docs/.