Diferencia entre revisiones de «Micronúcleo»

Contenido eliminado Contenido añadido
→‎Véase también: añadir enlace
Etiquetas: Edición desde móvil Edición vía aplic. móvil
Línea 1:
{{fusionar endesde|MicronúcleoNanonúcleo}}
{{referencias|t=20090715|informática}}
En [[informática]], el término nanonúcleo (en [[idioma inglés|inglés]]: '''nanokernel''') o aún piconúcleo (en [[idioma inglés|inglés]]: '''picokernel''') es un [[núcleo (informática)|núcleo del sistema operativo]] que es incluso más pequeño que un [[micronúcleo]].
[[Archivo:OS-structure2.svg|thumb|400px|Estructura de [[núcleo monolítico]], micronúcleo y [[núcleo híbrido]].]]
[[Archivo:Kernel-microkernel.svg|250px|thumb|Esquema del funcionamiento de un micronúcleo.]]
En [[computación]], un '''micronúcleo''' (en [[idioma inglés|inglés]], '''microkernel''' o '''μkernel''') es un tipo de [[núcleo (informática)|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 [[planificador|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 si mismos errores de [[software]] o [[hardware]]. En un principio pretendía ser una solución a la creciente complejidad de los sistemas operativos.
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]].
 
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 [[controlador de dispositivo|controladores de dispositivos]].
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]].
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.
Los nombres se derivan de los prefijos del [[nano]] y del [[pico]], que hacen la connotación a algo muy pequeño.
Sus detractores le achacan también y fundamentalmente, mayor complejidad en el código, menor rendimiento y limitaciones en diversas funciones.
 
== VéaseSistemas tambiénoperativos con ella ==
Entre los sistemas operativos con micronúcleo podemos citar:
 
* [[MicronúcleoAIX]]
* [[AmigaOS]]
* [[Amoeba (Informática)|Amoeba]]
* [[Minix]]
* [[Hurd]]
* [[MorphOS]]
* [[NeXTSTEP]] (algunos lo consideran un [[núcleo híbrido]])
* <!-- [[BeOS]] no es micro kernel, es un kernel hibrido -->
* [[L4 (micronúcleo)|L4]]
* [[Netkernel]]
* [[RaOS]]
* [[RadiOS]]
* [[ChorusOS]]<!--"Aclaración: El núcleo _Darwin_ está basado en el micronúcleo Mach con un FreeBSD (5.0) modificado y con el API Posix casi completo. Técnicamente, desde el punto de vista de programación, es una BSD. El micronúcleo por sí mismo hace muy poca cosa, en particular el Mach hace gestión básica de memoria y procesos." ¿Podría ser un puntoa discusión?-->
* [[QNX]]
* [[SO3]]
* [[Symbian]]
* [[SymbOS]]
* [[AmayaOS]]
* [[RedoxOS]]
 
== Véase también ==
* [[Núcleo monolítico]]
* [[Núcleo híbrido]]
* [[Núcleo (informática)|Núcleo]]
* [[Exonúcleo]]
[[Categoría:Conceptos de sistemas operativos]]
 
== Referencias ==
[[en:Microkernel#Nanokernel]]
{{listaref}}
 
== Enlaces externos ==
 
[[Categoría:Conceptos de sistemas operativos]]