- 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 quit
gdb
(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/