in this tiny post i think i can share my experiences of 1 week being an osdev.
Yeah, everyone talks about this when you are starting an osdev project. This is boring!!!
Forgot the principles of exist Operating Systems and write your own principles with your own operating system.
There are tons of steps before creating an operating system. Like, How can a bootloader can boot a computer? How can a kernel control memory without any libraries?
Actually forgot all of them, focus what is a Computer? How can i tell my requests a computer without writing code? Which interface allows me to talk with my computer directly?
When you learn the answers, you'll be able to write a f*cking operating system.
If you really enjoy something that hurts you, you definitely love operating system development ::
I am developing my kernel with C++. Micro_kernel and bootloader parts are written in ASM x86. There a few system calls for communication between kernels. I have QWERTY keyboard support and ATA Hard Drive support. Kernel can get RTC and it has built-in timer.
It supports memory mapping, memory allocation and memory management about memory side. It has own libraries about memory.
In FileSystem side it uses FAT32, and has ATA HDD drivers.
I have a tiny pipeline (not public for now).
When i push my kernel CI automatically pulls kernel to test server.
In this server a rush backended VM adapter and Bochs Emulator tests the kernel in other side a python based testing tool tests the C++ libraries.
If all tests OK, it pushes the master.