ESTRUCTURA POR MICROKERNEL
Existen varias estructuras en las que se basan los sistemas
operativos, una muy conocida es la estructura del microkernel.
Esta estructura tiene en particular que las funciones
centrales son controladas por un núcleo que es llamado kernel quien interactúa
directamente con el hardware y la interfaz del usuario es controlada por el
llamado entorno Shell.
El microkernel implementa servicios atómicos, a los que nos
referimos como mecanismos. Estos mecanismos sirven como base fundamental para
funcionalidades más complejas, llamadas políticas.
La comunicación en el
sistema es por medio de mensajes a diferencia del resto de sistemas operativos
que trabajan por medio de llamadas a sistema.
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.
Desventajas:
Performance: bajo rendimiento, debido que la comunicación es
a través de mensajes que no es eficiente como son las llamadas al sistema.
Gestión de la sincronización. En comparación con la
estructura monolítica, el microkernel no mapea toda la memoria, lo que complica
bastante implementar soluciones para el manejo de regiones críticas. Para
llevar a cabo estas tareas se vale de técnicas más complejas.
Restricciones a nivel de hardware. Los procesadores y
arquitecturas modernas de hardware están optimizados para sistemas de núcleo
que pueden mapear toda la memoria. (Relacionado con el inciso anterior).
Ejemplos de sistemas operativos que funcionan o funcionaron
bajo esta estructura:
Minix
Hurd
NeXTSTEP
L4
Netkernel
AmoebaOS
RaOS
RadiOS
Chorus
qnx
SO3
SymbOS, para el procesador Z80.