The current status and the future of this OS.
A build (.iso file) will be released every time a Milestone is completed. The various milestones might be updated over the course of time.
- GUI
- lots of sketches and ideas
-
More filesystem stuff
- ISO9660
-
Hard drive setup:
- FAT32 (boot partition)
- EXTx (system partition)
-
Syscalls
-
ELF loading
-
OS-specific toolchain
-
UNIX/POSIX compatibility layer (if someone wants to port
coreutils,bash, whatever) -
Basic shell
- Configuration System (registry)
- Enviroment Variables
- Input and Ouput syscalls
-
Video modes
- Set better screen resolutions other than limine's default
- Some kind of graphics API
- Oh yeah, DOOM because we have to :3
-
Bare bones (Limine and 64-bit kernel)
-
printfimplementation (+ E9 port "debugging") -
GDT
-
Interrupt handling (IDT, ISRs, IRQs)
-
PIC support
-
PIT Driver
- Initialization
- PIT-supported sleep
-
LAPIC/IOAPIC Initialization
- IRQ redirection to I/O APIC
- Interrupts work
- LAPIC timer init
-
ACPI
- uACPI implementation
- ACPI tables parsing
- the cool SSDT stuff
- Get RSDP/RSDT
- MADT (LAPIC initialization)
- HPET
- MCFG (PCIe devices parsing)
- uACPI implementation
-
Memory
- Get memory map
- Memory management
- PMM
- Allocating/freeing page frames
- VMM
- Paging
- Actual VMM stuff (allocating, freeing virtual memory regions)
- Kernel heap (
kmalloc,kfree)
- PMM
-
Driver interface (this thing took a long time)
-
PCI/PCIe support
- PCI(e) devices parsing
- API for drivers
-
AHCI driver (we can then read from the disk 🔥)
-
File systems
USTARCPIO- Initial initrd creation
- File lookup
- RAMFS
- Base structures
- File I/O (
open,read, ...)
- Virtual File System
- (Re)Design
- Initialization
- File I/O (
open,read)
- DevFS
- (Re)Design
- (Re)Implementation
- ProcFS
- Design
- Implementation
-
Scheduler
- with threads and stuff
-
SMP
-
Jump to userspace