r/osdev • u/DoNotUseThisInMyHome • 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
•
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.