My journey into kernel development as a beginner
Hey everyone 👋
I'm a beginner in kernel development and recently decided to seriously start learning how operating systems work under the hood.
I've done normal application/backend development before, but kernel development feels completely different. 😅
Right now I'm trying to understand things like:
CPU architecture and registers
Boot process
How the kernel actually gets loaded
Kernel entry
GDT / IDT
Interrupts
Paging and virtual memory
Physical memory management
Heap allocation
Scheduling
Processes and system calls
Drivers and filesystems
My long-term goal is to eventually build my own small kernel from scratch, rather than just following tutorials and copying code.
At the moment, pointers, memory, assembly, and low-level concepts are definitely making my brain work overtime 😂
I'm planning to learn slowly and understand why things work instead of just getting something to boot.
For people who have experience with OS/kernel development:
What would you recommend a beginner focus on first?
And what are some mistakes you wish you had avoided when you started learning kernel development?
Would love to hear your advice! 🚀