- 80x25 frame buffer
- ps2 keyboard driver
- terminal console
- lspci
- x86
- MMU
- interrupts
- pit timer
- scheduler
- time slice preemption with round robin
- sleep()
- block()/unblock()
- Storage
- IDE ATA driver (in progress)
- ziglang 0.5.0
zig build compiles and links the multiboot kernel (without a bootloader)
./qemu.sh start./qemu.sh monitor./qemu.sh quitgdb(see provided.gdbinit)
interrupt -> idt[n] -> isrN -> isrDispatch -> handlers[n] (default unhandled())
- zig microkernel: https://github.com/AndreaOrru/zen
- scheduling tutorial: https://wiki.osdev.org/Brendan%27s_Multi-tasking_Tutorial
- booting/paging/interrupts: https://os.phil-opp.com/