This is a simple operating system written in Rust. It isn't complete yet, so don't expect much. Mostly just an educational project to study how operating systems work inside. Tested using QEMU and real hardware (as a live USB).
- Bootloader
- UEFI bootloader, loads successfully from refind
- Loads kernel from an ELF file in the filesystem
- Simple memory allocator
- Configures initial memory map
- Also loads ramdisk
- Basic hardware setup
- Hardware interrupt and exception support
- Hardware timers
- PIC
- APIC
- PIT
- VGA support
- Custom text rendering
- Console output
- Keyboard support (PS/2)
- Console input support
- Console scrolling
- Paging memory allocator
- Async/await implementation
- Async API for timers
- Async keyboard driver
- PCI device enumeration
- FAT filesystem support (from ramdisk)
- Simple file API
- Scheduling and multithreading
- Partially implemented, but doesn't properly work yet
- USB support
- Partially implemented (XHCI driver), works on QEMU emulation, doesn't work on real hardware for unknown reasons