stringtranslate.com

Núcleo monolítico

Estructura de los sistemas operativos basados ​​en kernel monolítico, microkernel y kernel híbrido

Un kernel monolítico es una arquitectura de sistema operativo en la que todo el sistema operativo se ejecuta en el espacio del kernel . El modelo monolítico se diferencia de otras arquitecturas como el microkernel [1] [2] en que por sí solo define una interfaz virtual de alto nivel sobre el hardware de la computadora . Un conjunto de primitivas o llamadas al sistema implementan todos los servicios del sistema operativo, como la gestión de procesos , la concurrencia y la gestión de la memoria .

Los controladores de dispositivos se pueden agregar al kernel como módulos .

Ejemplos de kernel de arquitectura monolítica: Unix (incluido Linux ), MS-DOS , Windows 9x .

Módulos cargables

Los sistemas operativos modulares como OS-9 y la mayoría de los sistemas operativos monolíticos modernos como OpenVMS , Linux , BSD , SunOS , AIX y MULTICS pueden cargar (y descargar) dinámicamente módulos ejecutables en tiempo de ejecución.

Esta modularidad del sistema operativo está a nivel binario (imagen) y no a nivel de arquitectura. Los sistemas operativos monolíticos modulares no deben confundirse con el nivel arquitectónico de modularidad inherente a los sistemas operativos servidor-cliente (y sus derivados a veces comercializados como núcleo híbrido ) que utilizan micronúcleos y servidores (que no deben confundirse con módulos o demonios).

En términos prácticos, cargar módulos dinámicamente es simplemente una forma más flexible de manejar la imagen del sistema operativo en tiempo de ejecución, en lugar de reiniciar con una imagen de sistema operativo diferente. Los módulos permiten una fácil ampliación de las capacidades de los sistemas operativos según sea necesario. [3] Los módulos que se pueden cargar dinámicamente generan una pequeña sobrecarga en comparación con la creación del módulo en la imagen del sistema operativo.

Sin embargo, en algunos casos, cargar módulos dinámicamente (según sea necesario) ayuda a mantener al mínimo la cantidad de código que se ejecuta en el espacio del kernel ; por ejemplo, para minimizar el espacio que ocupa el sistema operativo en dispositivos integrados o con recursos de hardware limitados. Es decir, no es necesario almacenar un módulo descargado en una escasa memoria de acceso aleatorio .

Ver también

Referencias

  1. «Programación de sistemas modulares en Minix3» (PDF) .
  2. «Servidor-Cliente, o estructura en capas» (PDF) . El diseño del micronúcleo PARAS. Archivado desde el original (PDF) el 17 de julio de 2010 . Consultado el 15 de julio de 2009 .
  3. ^ "Definición del núcleo".