Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Microkernel

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

En micronúcleo (Microkernel o μkernel)

Obtuvo gran relevancia académica durante los 80´s y principios de los 90´s

Pretendía ser una solución a la creciente complejidad de los sistemas operativos.

Investigadores de la universidad de Carnegie Mellón, desarrollaron un sistema operativo


llamado Mach que modularizó el Kernel usando el enfoque de Microkernel.

Es un tipo de núcleo de un sistema operativo

Los sistemas operativos Microkernel proveen un conjunto de primitivas (operaciones


sencillas) o llamadas mínimas al sistema (llamadas al sistema son llamadas que ejecutan
los programas de aplicación para pedir algún servicio al SO) para implementar servicios
básicos como lo son espacio de direcciones, comunicación entre
procesos y planificación básica, en la cual el Microkernel es el que planifica todo el
código que corre en el sistema.

El micronúcleo se encarga de la planificación de hilos, no de procesos, esto


hace posible tener varias tareas (multitarea).

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.

Alguna de las tareas que realiza son:

- Manipulación de las interrupciones en el sistema desde dispositivos


físicos.
- Manipula excepciones del procesador.
- Proporciona soporte para la recuperación de un sistema con alguna falla de
caída de energía.

Ocupa muy poco espacio, (suelen tener hasta 10 mil líneas de código solamente)

Se basa en una programación modular, aportando así flexibilidad al SO, control de


errores mucho más fácil y rápido, pero bajando en rendimiento.

La intervención sobre una funcionalidad defectuosa consiste en parar el antiguo servicio


luego en lanzar el nuevo, sin deber arrancar de nuevo toda la máquina.
Toda accion pasa por el microkernel, lo cual hace a un SO más seguro que uno con
arquitectura kernel monolitico, ya que si el que solicita hacer la accion no posee los
permisos necesarios el microkernel no lo deja hacer nada.

Todos los nuevos servicios pueden ser añadidos al espacio de usuario y


consecuentemente no requieren modificaciones al Kernel.
Cuando el Kernel tiene que ser modificado lo cambios tienden a ser pequeños.
La comunicación esta constituido por “pase de mensajes“.
Por ejemplo
Si el programa del cliente desea accesar a un archivo, debe interactuar con el servidor
de archivos. El programa de cliente y el servicio jamás interactúan directamente. Más
bien se comunican indirectamente mediante intercambio de mensajes con el
Microkernel.

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

También podría gustarte