One year of developing my own operating system
17 hours ago
- #programming
- #development
- #operating-system
- Started developing MONOLITH, a personal operating system for learning and skill improvement.
- First month: Implemented booting via multiboot2, logging, memory management, and VGA console.
- Second month: No significant progress due to college distractions.
- Third month: Switched to Limine boot protocol, added virtual memory, VFS, and PIT timer.
- Fourth month: Added initrd support and implemented an ELF loader.
- Fifth month: Initial ring-3 and syscalls support, ported microui’s demo, and added keyboard input.
- Sixth month: Added disk I/O syscalls.
- Seventh month: Initial task switching support.
- Eighth month: Moved to Codeberg, implemented userspace libc, and crash handling.
- Ninth month: Prototyped a desktop environment, implemented process separation, and scheduling.
- Tenth month: Implemented libgfx, rewrote desktop, added IPC, and framerate locking.
- Eleventh month: IPC refactoring and shared memory support.
- Twelfth month: Worked on libdesktop window protocol, performance optimizations, and ported Doom.
- Future plans include UI framework, software packaging, disk drivers, file systems, and more.