Un núcleo monolítico es un tipo de núcleo o kernel de un sistema operativo. Como ejemplo de sistema operativo de núcleo monolítico están UNIX, Linux y FreeBSD.
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 micro nú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.
Hay diversas ramificaciones de este diseño, que se han ido amoldando a nuevas necesidades. Podemos citar el sistema de módulos ejecutables en tiempo de ejecución, que le brinda al modelo de núcleo monolítico algunas de las ventajas de un micro núcleo.
Dichos módulos pueden ser compilados, modificados, cargados y descargados en tiempo de ejecución, de manera similar a los servicios de un micro núcleo, pero con la diferencia de que se ejecutan en el espacio de memoria del núcleo mismo (anillo 0). De esta forma, un bloqueo del módulo, es probable que bloquee todo el núcleo.
Además, el módulo pasa a formar un todo con el núcleo, usando la API del mismo, y no se emplea un sistema de mensajes como en los micro núcleos. Este es el esquema usado por, entre otros, Linux, FreeBSD y varios derivados de UNIX. Cabe resaltar que el paso constante de mensajes entre los servicios del micro núcleo, es en parte responsable del pobre rendimiento de los micro núcleos.
Un sistema operativo con núcleo monolítico concentra todas las funcionalidades posibles (planificación, sistema de archivos, redes, controladores de dispositivos, gestión de memoria, etc) dentro de un gran programa. El mismo puede tener un tamaño considerable, y deberá ser recompilado por completo al añadir una nueva funcionalidad. Todos los componentes funcionales del núcleo tienen acceso a todas sus estructuras de datos internas y a sus rutinas. Un error en una rutina puede propagarse a todo el núcleo.
La alternativa es tener una estructura de micro núcleo, donde las partes funcionales están divididas en unidades separadas con mecanismos de comunicación estrictos entre ellos.
Sistemas operativos con núcleos monolíticos
Entre los sistemas operativos que cuentan con núcleos monolíticos se encuentran:
-
Núcleos tipo Unix
- Syllable
-
- BSD (FreeBSD, NetBSD, OpenBSD)
- Solaris
-
-
Núcleos tipo DOS
- DR-DOS
- MS-DOS
- Familia Microsoft Windows 9x (95, 98, 98SE, Me)
-
- Núcleos del Mac OS hasta Mac OS 8.6
- OpenVMS
- XTS-400
Fuente; Wikipedia
Tweet |
No hay comentarios:
Publicar un comentario
Tu opinión es muy importante para los editores de este blog, pero más aún para nuestros lectores, por lo que te animamos a que dejes tu comentario o impresión sobre este artículo, o el que te haya resultado de interés.
También te damos gracias por tu visita, y esperamos tenerte muy a menudo por aquí.
Saludos