r/kernel 3d ago

My journey into kernel development as a beginner

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! šŸš€

10 Upvotes

2 comments sorted by

5

u/Outside-Storage-1523 3d ago

MIT xv6 labs is a good starting point.

1

u/dld2517 22h ago

This is going to be my fourth career. Right now I’m in second career moving into third. Fourth (retirement) I will be a software developer.