Microkernel
Microkernel
Microkernel
Obtuvo gran relevancia académica durante los 80´s y principios de los 90´s
Para reducir el Kernel 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 (núcleo monolítico), se ejecutan como procesos servidores en
espacio de usuario.
Ocupa muy poco espacio, (suelen tener hasta 10 mil líneas de código solamente)
Ventajas:
Portabilidad, si se aplica una adecuada implementación.
Concurrencia y colaboración entre procesos, dada por el diseño.
Flexibilidad en el patrón de diseño.
Minimiza lo que contiene el Kernel
Confiabilidad, ya que organiza procesos indiferentes al S.O. como procesos de
nivel usuario.
Seguridad, Aísla los servicios del sistema ante el usuario.
Extensibilidad: se pueden agregar funciones en modo usuario.
Modularidad.
Reducción de la complejidad
La descentralización de los fallos (un fallo en una parte del sistema no
lo colapsaría por completo) lo que da como resultado la continuidad
operacional ante ciertas fallas
La facilidad para crear y depurar controladores de dispositivos.
Fácil mantenimiento
La comunicación entre procesos (IPC) se refiere a cualquier mecanismo que permite a
procesos diferentes, que se ejecutan sobre el mismo sistema operativo,
intercomunicándose mediante el envío de mensajes • Esta característica permite que el
sistema operativo se construya sobre un conjunto pequeño de programas,
denominados servidores, que son utilizados por otros programas del sistema • El
sistema de comunicación IPC es un componente clave de la arquitectura micro-
núcleo, incluso más que en los núcleos monolíticos „ Servidores • Los servidores en
una arquitectura basada en micro-núcleo son programas como otros cualquiera, salvo
que el núcleo les concede algunos privilegios para interactuar con partes de memoria
que, de otro modo, estarían fuera de los límites de la mayoría de los programas • Esta
característica permite a algunos servidores interactuar directamente con el hardware
• Un conjunto básico de servidores para un micro-núcleo de propósito general
incluyen servidores de sistemas de archivo, servidores de drivers de dispositivos,
servidores de interconexión de redes, servidores de visualización y servidores de
dispositivos de interfaz de usuario • Además, muchos fallos del sistema pueden
corregirse, simplemente, parando y rearrancando el servidor • En un sistema
tradicional, un fallo del sistema en cualquier parte del código residente del núcleo
puede causar un fallo general de la máquina, forzando el re-arranque de la máquina
Desventajas:
1.- Bajo rendimiento, debido que la comunicación es a través de mensajes que no es
eficiente como son las llamadas al sistema.
2.-Bajo desempeño debido a las llamadas primitivas al sistema
3.-Complejidad en la sincronización modular.
Ejemplos de sistemas operativos que funcionan o funcionaron bajo esta estructura:
Minix qnx
Hurd SO3
NeXTSTEP SymbOS, para el procesador Z80.
L4 AIX
Netkernel Amoeba
AmoebaOS MorphOS
RaOS Symbian
AmayaOS
RadiOS
RedoxOS
Chorus