miércoles, 5 de diciembre de 2012

Estructura por Microkernel




Microkernel es un subsistema modular compuesto de  abstracciones neutrales al S.O., proporciona solamente los  servicios esenciales tales como abstracciones de procesos,  hilos, IPC, y primitivas de administración de memoria.



Implementa los servicios centrales como facilidades de  comunicación o manejo de recursos. Otros componentes son  construidos sobre algunos o todos estos servicios básicos  usando una o más interfaces que exponen la funcionalidad del  Microkernel.



Muchas dependencias específicas al sistema son encapsuladas  en el Microkernel. La mayoría de las partes que dependen   del hardware son ocultas de otros participantes. Los clientes del  Microkernel solo ven vistas particulares del dominio de aplicación  y de la plataforma específica subyacente.



Tareas que realiza el Microkernel:

  • 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

La arquitectura de microkernel es complejo, sofisticado pero mas centrado en su que hacer para el SO, toda accion pasa por el microkernel, lo cual hace a un SO mas seguro que uno SO 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.

Generalmente, estos servicios serán ejecutados como procesos del usuario; cuando se necesite un acceso directo a HW, existirán system calls especiales que permitan manejar interrupciones del sistema. Como contrapartida, el microkernel del Chorus permite que los servicios se carguen dinámicamente, o en el espacio de direcciones del kernel, o en el del espacio de usuario.