Día a día, la mayoría de nosotros los mortales usamos sistemas operativos con núcleos monolíticos, es decir, la mayoría de las operaciones de interacción directa con el hardware radican en modo privilegiado, es decir en modo kernel, a diferencia del modelo de micronúcleo, donde su nombre lo dice, el núcleo es muy pequeño. En este esquema, solamente las operaciones más básicas trabajan en modo kernel, mientras las demás, incluyendo la pila TCP/IP, residen en modo usuario:
Tomada de: https://en.wikipedia.org/wiki/Monolithic_kernel
Ahora bien, ¿cuál es mejor?, pues esta interminable discusión, como la interminable de VIM vs Emacs, ya ha sido abordada y discutida por muchos investigadores y expertos en ciencias de la computación, entre ellos, Linus Torvalds y Andrew S. Tanenbaum [1] [2]. Sin embargo, entre los varios pros y contras, el motivo de este artículo es para sencillamente demostrar uno de los beneficios de un microkernel ante un fallo de seguridad en su pila de red, la cual como he mencionado antes, trabaja en modo usuario y por lo tanto, un fallo grave en esta, no dejaría al sistema operativo inservible por completo (kernel panic) a diferencia de los otros con núcleo monolítico (Linux, Free/Net/OpenBSD, AIX, HP-UX, Solaris). Fallos famosos en núcleos monolíticos van desde el infame Ping de la Muerte que afectaba a sistemas Windows, hasta encabezados IP malformados que tiran al sistema operativo más seguro del Mundo (OpenBSD).