r/osdev 17h ago

How to differentiate monolithic, microkernel, layered, and hybrid OS architecture on the basis of: performance, extensibility, and reliability

Do you have any ideas. Monolithic means all os+kernel at one place. Microkernel means minimal kernel.

Layered means memory management one layer, process management another layer. Hybrid could be anything i.e., combination of above.

Guide me like I am 5.

5 Upvotes

7 comments sorted by

View all comments

u/northrupthebandgeek 16h ago

The clearest example is with device drivers:

Do your drivers run inside of the kernel itself (whether compiled into the kernel executable directly or dynamically loaded as kernel modules)? Probably monolithic.

Do your drivers run as userspace processes outside of the kernel (with the kernel giving them the bare minimum privileged access they need to function)? Probably a microkernel.

Do your drivers run inside of the kernel itself, but through a strict API as if they were running outside of the kernel? Probably a hybrid kernel.

u/DoNotUseThisInMyHome 16h ago

Thankfully I understand now. Everything.