09‐001. Notes 001 - skybonep/fishboneOS GitHub Wiki
Why C?
Since you are "starting with a small base to grow a project that is easy to use," C is the most documented and widely understood language in the OSDev community. It fits the "fishbone" philosophy of having a clear, low-level skeleton where every piece is visible. Using C ensures that other developers can easily understand and "replace or change" your modules without fighting a complex language runtime. You should use Assembly for the "hooks" (I/O ports, GDT) and C for the "brains" (Scheduler, Memory Manager). by AI
Using GRUB
To keep startup simple, I use GRUB to start the boot process. GRUB also handles many tasks for me. I may replace it with my own code later for learning purposes.
Monolithic Kernel
Everything inside the kernel, it makes thing faster, but if there is any bug anywhere, the system crashed.
Microkernel
Contains only three essential parts: physical memory allocation, cpu scheduling, and messaging (Inter Process Communication). And making the IPC first is usually to the key to Microkernel systems.
Created: 20251225