Micronúcleo
# Micronúcleo

En computación, un micronúcleo (en inglés, microkernel o μkernel) es un tipo de núcleo de un sistema operativo que provee un conjunto de primitivas o llamadas mínimas al sistema para implementar servicios básicos como espacios de direcciones, comunicación entre procesos y planificación básica. Todos los otros servicios (gestión de memoria, sistema de archivos, operaciones de E/S, etc.), que en general son provistos por el núcleo, se ejecutan como procesos servidores en espacio de usuario.

El paradigma del micronúcleo, tuvo una gran relevancia académica durante los años ochenta y principios de los noventa, dentro de lo que se denominó self healing computing, esto es, sistemas independientes que fuesen capaces de superar por sí mismos errores de software o hardware. En un principio pretendía ser una solución a la creciente complejidad de los sistemas operativos.

Las principales ventajas de su utilización son la reducción de la complejidad, la descentralización de los fallos (un fallo en una parte del sistema no se propagaría al sistema entero) y la facilidad para crear y depurar controladores de dispositivos. Según los defensores de esta tendencia, esto mejora la tolerancia a fallos y eleva la portabilidad entre plataformas de hardware.

Por otro lado, sus principales dificultades son la complejidad en la sincronización de todos los módulos que componen el micronúcleo y su acceso a la memoria, la anulación de las ventajas de Zero Copy y la integración con las aplicaciones. Además, los procesadores y arquitecturas modernas de hardware están optimizadas para sistemas de núcleo que pueden mapear toda la memoria. Sus detractores le achacan también y fundamentalmente, mayor complejidad en el código, menor rendimiento y limitaciones en diversas funciones.

## Nanonúcleo

En informática, el término nanonúcleo (en inglés: nanokernel) o aún piconúcleo (en inglés: picokernel) es un núcleo del sistema operativo que es incluso más pequeño que un micronúcleo.

El nanonúcleo representa la capa más cercana de abstracción al hardware del sistema operativo interconectando a la CPU, maneja las interrupciones e interactúa recíprocamente con la unidad de manejo de memoria MMU.

El manejo de interrupciones y la interfaz con MMU no son necesariamente parte de un nanonúcleo; sin embargo, en la mayoría de las arquitecturas estos componentes están conectados directamente con la CPU, por lo tanto, tiene a menudo sentido de integrar estas interfaces en el núcleo del sistema.

Los nombres se derivan de los prefijos del nano y del pico, que hacen la connotación a algo muy pequeño.

## Sistemas operativos con micronúcleo

Entre los sistemas operativos con micronúcleo podemos citar:

* AIX
* AmigaOS
* Amoeba
* Minix
* Hurd
* MorphOS
* NeXTSTEP (algunos lo consideran un núcleo híbrido)
* L4
* Netkernel
* RaOS
* RadiOS
* ChorusOS
* QNX
* SO3
* Symbian
* SymbOS
* Zircon
* AmayaOS
* RedoxOS
