sábado, 16 de abril de 2011

Cuatro tipos de núcleos

· Los núcleos monolíticos: Estos núcleos facilitan abstracciones del hardware subyacente realmente potentes y variadas. Estos sistemas tienen un núcleo grande y complejo, que engloba todos los servicios del sistema. Está programado de forma no modular, y tiene un rendimiento mayor que un micronúcleo. Sin embargo, cualquier cambio a realizar en cualquier servicio requiere la recopilación del núcleo y el reinicio del sistema para aplicar los nuevos cambios.

· Los micronúcleos: Estos núcleos  proporcionan un pequeño conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad. 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.

· Los núcleos híbridos: Estos núcleos son muy parecidos a los micronúcleos puros, excepto porque incluyen código adicional en el espacio de núcleo para que se ejecute más rápidamente.  La mayoría de sistemas modernos pertenecen a esta categoría, siendo el más popular Microsoft Windows. XNU, el núcleo de Mac OS X, también es un micronúcleo modificado, debido a la inclusión de código del núcleo de FreeBSD en el núcleo basado en Mach. DragonFlyBSD es el primer sistema BSD que adopta una arquitectura de núcleo híbrido sin basarse en Mach.

· Los exonúcleos: Estos núcleos no facilitan ninguna abstracción, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware. Los exonúcleos pueden ser vistos como una aplicación del principio del "fin al fin" a los sistemas operativos, en el sentido en que no fuerzan a una aplicación a poner sus abstracciones en distintas capas de las que fueron diseñadas con diferentes requisitos en mente. Por ejemplo, en el proyecto del exonúcleo del MIT, el servidor web Cheetah guarda paquetes preformateados del protocolo IP en el disco, y el núcleo garantiza un acceso seguro al disco evitando lecturas y escrituras no permitidas, pero cómo se abstrae el funcionamiento del disco se deja a la elección de las librerías que la aplicación usa.

No hay comentarios:

Publicar un comentario