Diferencia entre microkernel y kernel monolítico

Autor: Laura McKinney
Fecha De Creación: 1 Abril 2021
Fecha De Actualización: 10 Mayo 2024
Anonim
Diferencia entre microkernel y kernel monolítico - Tecnología
Diferencia entre microkernel y kernel monolítico - Tecnología

Contenido


Kernel es la parte central de un sistema operativo; gestiona los recursos del sistema. Kernel es como un puente entre la aplicación y el hardware de la computadora. El Kernel puede clasificarse en dos categorías, Microkernel y Monolithic Kernel. Microkernel es aquel en el que los servicios de usuario y los servicios de kernel se mantienen en un espacio de direcciones separado. Sin embargo, en los servicios de usuario de kernel monolíticos y los servicios de kernel ambos se mantienen en el mismo espacio de direcciones. Discutamos algunas diferencias más entre el kernel microkernel y el monolítico con la ayuda del cuadro de comparación que se muestra a continuación.

  1. Cuadro comparativo
  2. Definición
  3. Diferencias clave
  4. Conclusión

Cuadro comparativo

Bases para la comparaciónMicrokernelKernel monolítico
BASICEn los servicios de usuario de microkernel y kernel, los servicios se mantienen en un espacio de direcciones separado.En el núcleo monolítico, los servicios de usuario y los servicios del núcleo se mantienen en el mismo espacio de direcciones.
tamañoMicrokernel son más pequeños en tamaño.El núcleo monolítico es más grande que el microkernel.
EjecuciónEjecución lentaEjecución rápida
ExtensibleEl microkernel es fácilmente extensible.El núcleo monolítico es difícil de extender.
SeguridadSi un servicio falla, tiene efecto en el funcionamiento del microkernel.Si un servicio falla, todo el sistema falla en el núcleo monolítico.
CódigoPara escribir un microkernel, se requiere más código.Para escribir un núcleo monolítico, se requiere menos código.
EjemploQNX, Symbian, L4Linux, Singularity, K42, Mac OS X, Integrity, PikeOS, HURD, Minix y Coyotos. Linux, BSD (FreeBSD, OpenBSD, NetBSD), Microsoft Windows (95,98, Me), Solaris, OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400, etc.


Definición de microkernel

El microkernel que es un kernel gestiona todos los recursos del sistema. Pero en un microkernel, el servicios de usuario y el servicios de kernel se implementan en diferentes espacios de direcciones. Los servicios de usuario se mantienen en espacio de direcciones de usuario, y los servicios del kernel se mantienen bajo espacio de direcciones del núcleo. Esta reduce el tamaño del núcleo y reduce aún más el tamaño del sistema operativo.

Además de la comunicación entre la aplicación y el hardware del sistema, el microkernel proporciona servicios mínimos de gestión de procesos y memoria. La comunicación entre el programa / aplicación cliente y los servicios que se ejecutan en el espacio de direcciones del usuario se establece a través del paso. Nunca interactúan directamente. Esto reduce la velocidad de ejecución del microkernel.


En un microkernel, los servicios del usuario están aislados de los servicios del kernel, por lo que si algún servicio del usuario falla, no afecta el servicio del kernel y, por lo tanto, el sistema operativo permanecer inalterado. Esta es una de las ventajas en el microkernel. El microkernel es fácilmente extensible. Si se van a agregar los nuevos servicios, se agregan al espacio de direcciones del usuario y, por lo tanto, el espacio del núcleo no requiere ninguna modificación. El microkernel también es fácilmente portátil, seguro y confiable.

Definición de núcleo monolítico

El núcleo monolítico gestiona los recursos del sistema entre la aplicación y el hardware del sistema. Pero a diferencia del microkernel, los servicios del usuario y los servicios del kernel se implementan bajo el mismo espacio de direcciones. Esto aumenta el tamaño del núcleo aumenta aún más el tamaño del sistema operativo.

El núcleo monolítico proporciona programación de CPU, administración de memoria, administración de archivos y otras funciones del sistema operativo a través de llamadas al sistema. Como los servicios de usuario y los servicios de kernel residen en el mismo espacio de direcciones, esto da como resultado un sistema operativo de ejecución rápida.

Uno de los inconvenientes del núcleo monolítico es que si algún servicio falla, todo el sistema se bloquea. Si se va a agregar un nuevo servicio en el núcleo monolítico, se modificará todo el sistema operativo.

Diferencias clave entre microkernel y kernel monolítico

  1. El punto básico en el que se distingue el microkernel y el kernel monolítico es que microkernel implementar servicios de usuario y servicios de kernel en diferentes espacios de direcciones y núcleo monolítico implementar servicios de usuario y servicios de kernel bajo mismo espacio de direcciones.
  2. El tamaño del microkernel es pequeño ya que solo los servicios del núcleo residen en el espacio de direcciones del núcleo. Sin embargo, el tamaño del grano monolítico es comparativamente mas grande que el microkernel porque los servicios del kernel y los servicios del usuario residen en el mismo espacio de direcciones.
  3. La ejecución del núcleo monolítico es Más rápido ya que la comunicación entre la aplicación y el hardware se establece utilizando el llamada al sistema. Por otro lado, la ejecución de microkernel es lento ya que la comunicación entre la aplicación y el hardware del sistema se establece a través de paso.
  4. Es fácil ampliar el microkernel porque se debe agregar un nuevo servicio en el espacio de direcciones de usuario que está aislado del espacio del kernel, por lo que no es necesario modificar el kernel. Opuesto es el caso con el núcleo monolítico si se va a agregar un nuevo servicio en el núcleo monolítico, entonces se debe modificar todo el núcleo.
  5. Microkernel es más seguro que el núcleo monolítico como si un servicio fallara en el microkernel, el sistema operativo no se ve afectado. Por otro lado, si un servicio falla en el núcleo monolítico, todo el sistema falla.
  6. El diseño de núcleo monolítico requiere menos código, lo que lleva a menos errores. Por otro lado, el diseño de microkernel necesita más código, lo que genera más errores.

Conclusión:

El microkernel es más lento pero más seguro y confiable que el kernel monolítico. El kernel monolítico es rápido pero menos seguro, ya que cualquier falla en el servicio puede provocar el bloqueo del sistema.