This file tracks the current status of all core OS features for VoidFrame.
- Bootloader (GRUB2 with Multiboot2)
- GDT & TSS setup
- IDT & Interrupt Handling
- PIC remapping & IRQ handling
- PIT / Timer setup
- Basic
printf
to VGA text mode - Kernel memory allocator
- Panic screen with ASCII art (yes this is mandatory)
- Physical memory manager (free list or bitmap)
- Page table setup (paging enabled)
- Virtual memory mapping API (
vmem_map()
, etc.) - Kernel heap (virtual, malloc/free)
- Per-process page tables
- User-mode memory protection
- Process control block (PCB)
- Scheduler (MLFQ)
- Context switching
- Preemption via PIT
- Process creation
- Process termination
- Token/privilege-based validation
- Scheduler aging/starvation fix
- CFS or vruntime-based scheduler (optional/bonus)
- User-mode process flag
- IRETQ from syscall/interrupt
- Syscall handling (
syscall
orint 0x80
) - Userland stack setup
- Memory isolation (Ring 3 can't touch kernel)
- Transitioning back to kernel on syscall
- Multiboot2 module loading
- Basic kernel extensions (
vmod
) - Signature/token validation
- Hot module unloading (optional)
- Module registration system
- ELF64 header parsing
- Program header mapping (
PT_LOAD
) - Set up new stack
- Jump to entry point
- Static binaries only (no relocations)
- Dynamic linker / interpreter (WAY later)
- Boot SKIS (SecureKernelIntegritySubsystem)
- Create
init
process fromvmod
or ELF - Init spawns userland shell or TUI
- Syscall dispatch system
- Basic message passing (pipe, queue, or buffer)
- Shared memory region
- Signals or async delivery
- Named channels or sockets
- Initrd loading
- Basic filesystem parsing (e.g., tarfs or ext2-lite)
- Read/write file API (
fs_open()
, etc.) - VFS layer (optional)
- Device files (
/dev/null
,/dev/tty0
, etc.)
- Userspace C runtime (libc-lite)
- Shell (
sh.vmod
orsh.elf
) - Basic CLI utilities (
cat
,ls
,echo
, etc.) - Keyboard driver routed to userland
- VGA console or terminal emulator
- Print kernel logs to VGA
- Serial logging
-
dmesg
-style kernel log buffer - Stack backtrace / panic debug dump
- Memory usage counters
- Framebuffer graphics support (UEFI mode)
- Loadable GUI modules
- Virtual terminal switching (
tty0
,tty1
) - Profiling support (ticks per process)
- Syscall tracing / log
- Live module patching
- Bootable ISO with GRUB2 EFI support
- Fully self-hosted userland shell
- User process execution (ELF64)
- Init system + FS + IPC working
- At least one userland demo program