---
created: 2021-10-14
aliases:
- null
tags: created/2021/10/14, review, node/evergreen/technique
sr-due: 2022-10-03
sr-interval: 225
sr-ease: 290
---> [!infobox]
<s class="aside-in"><em>mentioned in 1 topic, 2 evergreens, 1 source</em></s>
#### [[Monolithic vs Micro Kernels]]
I think that in the end the question comes down to use case.
[[Monolithic Kernel]]s are faster and more volatile but more difficult to extend, while [[Micro Kernel]]s are slower but more robust, smaller, and easier to extend.
If reliability and security are the most important factors then you may want to go with a micro kernel as its modular design will result in less system-wide crashes and makes it easier to clean up security vulnerabilities as the servers are less connected and less likely to impact other parts of the OS than if they were all part of one kernel.
However, if speed is of concern and volatility is taken care of by the fact that you are running a cloud of computers anyway a monolithic kernel is the best way to go, and we see this with Linux being used for most server applications. But these are both specific applications and in the broad space of consumer PC usage, neither of these approaches fit perfectly.
Both windows and mac are hybrid systems which makes sense as while speed and lack of crashes are nice, most people do not need that speed, and it is far from possible to stop all crashes, but the feature set and the amount of people working on these [[Operating Systems|OS]]'s is so large that having a monolithic kernel would be hard to maintain and expand.
### <hr class="footnote"/>
**Status**:: #EVER/SAPLING
*edited 7:35 AM - July 08, 2022*
**Topics**:: [[Operating Systems]], [[Computer Science]], [[programming]]