Sistemas monolíticos
| ||
Sistemas monolíticos. Todos los componentes de gestión y programas del sistema están escritos en un solo código o espacio lógico.
Ventajas
Estos sistemas están programados de forma no modular, lo que los hace de mayor rendimiento ante los sistemas pensados en un micronúcleo; al carecer del constante paso de mensajes de estos últimos.
Cuentan con un núcleo que engloba todas sus funcionalidades y servicios convirtiendolos en binarios grandes, fruto de código altamente complejo y extenso. Que al principio todo cambio a realizar en sus prestaciones requería la recompilación del núcleo y el reinicio del sistema. Pero con actuales ramificaciones del diseño original, basadas en las nuevas prestaciones del hardware actual y las necesidades de los usuarios. Haciendo posible algunas ventajas traidas por sistemas compilados por capas y basados en módulos especificos e independientes. Estos podrían ser reescritos, compilados e incertados en el núcleo del sistema en tiempo de ejecución y cargados en el espacio de memoría del núcleo mismo, logrando así prestaciones propias de los sistemas basados en micronúcleos pero sin agregar los tiempos de espera inherente al paso de mensaje entre componentes. Este diseño arquitectónico es usado por sistemas operativos como FreeBSD, Linux y otros derivados de UNIX.
Desventajas
La desventaja es que como todo el sistema se ejecuta en el mismo nivel de privilegio que el núcleo (el Sistema Operativo es el núcleo) es muy probable que haya problemas (el sistema se apague, se bloquee o se cuelguen procesos por ejemplo) debido a algún fallo del hardware o a un código mal escrito.
GNU/Linux es monolítico, aunque con este se introdujo una variante interesante. A pesar de ser monolítico, es modular, lo que significa que es posible quitar o añadir componentes al núcleo incluso en caliente (o sea, en pleno funcionamiento).
Así, si un módulo tiene problemas se puede reemplazar, arreglar o eliminar sin afectar al resto de funcionalidades. Otra ventaja interesante de los sistemas monolíticos es su velocidad.
Ya que todos los componentes del Sistema Operativo comparten los privilegios y la separación funcional solo se hace entre procesos del sistema y los de aplicación, la demora para ejecutar las llamadas al sistema es mínima.

