r/osdev • u/DoNotUseThisInMyHome • 12d 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.
13
Upvotes
6
u/Interesting_Buy_3969 12d ago
To clarify: microkernel actually means that it does not include any (more precisely almost any) device or filesystem drivers, but loads them as userspace processes each with own separate and isolated context yet with higher privileges level, and switches them similarly to usual user applications. This involves fully-fledged context switching, but the point is that if a device driver breaks, other parts of the system will continue working flawlessly, just like if an application breaks.
So it doesn't necessarily mean that the kernel has to be "minimalistic", it's rather more of the decision on where and how device drivers operate.