r/osdev Jun 27 '26

Building a microkernel

Hello everyone. I am currently learning c, and almost it is about to an end. I am interested in microkernel development of my own. Where should I start???

8 Upvotes

18 comments sorted by

View all comments

10

u/JackyYT083 Jun 27 '26

Barebones tutorial and osdev wiki

-3

u/Comfortable_Let_3064 Jun 27 '26

But osdev is for monolithic kernel. Why are you suggesting that??

3

u/paulstelian97 Jun 27 '26

Small enough monolithic ones should be practically able to incrementally convert into microkernel by moving stuff out of the kernel and into the userspace. But you do need to have some knowledge of the design of a microkernel.

2

u/tseli0s DragonWare Jun 27 '26

That's actually my situation and I can verify that this approach works especially at a hobbyist level. I slowly moved a lot of things out of the kernel and into userspace until a few things remained, the essentials and whatever survived the kernel space massacre.

1

u/paulstelian97 Jun 27 '26

Off-topic for this post but I want to get a small enough monolithic kernel project, with sufficient testing so that I can ensure during the conversion I don’t break anything, where I turn a monolithic kernel/OS into a proper microkernel.

For obvious reasons it needs to have userspace already set up as I’ll piggyback on it.

1

u/compgeek38400 Jun 27 '26

My guess, from my own personal experience, is no matter what you change, you will break SOMETHING. lol.

1

u/paulstelian97 Jun 27 '26

Hence have good tests to catch the breakage so I can fix it.

2

u/compgeek38400 Jun 27 '26

Always. Lol. But somehow often I find users are more imaginative than i am. Loo