¿Cuál es la diferencia entre monolítico y micro kernel?


¿Podría alguien explicar con ejemplos la diferencia entre monolítico y micro kernel? ¿También otras clasificaciones del núcleo?

Author: Ankur Loriya, 2010-12-27

6 answers

El núcleo monolítico es un proceso grande que se ejecuta completamente en un solo espacio de direcciones. Es un único archivo binario estático. Todos los servicios del núcleo existen y se ejecutan en el espacio de direcciones del núcleo. El núcleo puede invocar funciones directamente. Ejemplos de OSs basados en kernel monolítico: Unix, Linux.

En microkernels, el núcleo se divide en procesos independientes, conocidos como servidores. Algunos de los servidores se ejecutan en el espacio del núcleo y otros en el espacio de usuario. Todos los servidores se mantienen separados y se ejecutan en diferentes espacios de dirección. Los servidores invocan "servicios" entre sí mediante el envío de mensajes a través de IPC (Comunicación entre procesos). Esta separación tiene la ventaja de que si un servidor falla, otros servidores aún pueden funcionar de manera eficiente. Ejemplos de OSS basados en microkernel: Mac OS X y Windows NT.

 96
Author: sariful islam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-28 23:03:13

1 ) El núcleo monolítico es mucho más antiguo que el microcernel, la idea fue concebida a finales de la década de 1980.

2 ) Los núcleos monolíticos se utilizan en Unix y Linux. Los microkernels se utilizan en QNX, L4 y HURD. Fue utilizado inicialmente en Mach (no Mac OS X), pero más tarde se convirtió en un núcleo híbrido. Incluso Minix no es un núcleo puro porque los controladores de dispositivo se compilan como parte del núcleo .

3 ) Monolítico núcleos son más rápidos que los micronúcleos. La primera microkernel Mach era un 50% más lento que el núcleo monolítico, mientras que las versiones posteriores como L4 eran solo un 2% o un 4% más lentas que el núcleo Monolítico .

4 ) Los granos monolíticos generalmente son voluminosos. Un Microkernel puro tiene que ser pequeño en tamaño, para caber en la caché L1 del procesador (microkernel de primera generación).

5) En los núcleos monolíticos, los controladores de dispositivo residen en el espacio del núcleo, mientras que en el microcernel los controladores de dispositivo residen en el usuario espacio.

6 ) Dado que el controlador del dispositivo reside en el espacio del núcleo, hace que el núcleo monolítico sea menos seguro que el microkernel, y un fallo en el controlador puede provocar un bloqueo. Los microcerneles son más seguros que el núcleo monolítico, por lo que se utilizan en algunos dispositivos militares.

7 ) Los núcleos monolíticos usan señales y sockets para asegurar IPC, el enfoque de microkernel usa colas de mensajes. microkernels de 1ra generación IPC mal implementado por lo que fueron lentos en el contexto interruptor.

8 ) Agregar una nueva característica a un sistema monolítico significa recompilar todo el núcleo, mientras que con microkernels puede agregar nuevas características o parches sin recompilar.

 59
Author: Rahul Bhadana,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-20 11:11:03

Núcleo Monolítico

Todas las partes de un núcleo como el Planificador, Sistema de Archivos, Gestión de Memoria, Pilas de redes, Controladores de Dispositivos, etc., se mantienen en una unidad dentro del núcleo en Núcleo Monolítico

Ventajas

* Procesamiento más rápido

Desventajas

* Bloqueo inseguro * Portar inflexibilidad * Explosión del tamaño del núcleo

Ejemplos * MS-DOS, Unix, Linux

Micro kernel

Solo las partes muy importantes como IPC(Comunicación entre procesos), programador básico, manejo básico de memoria, primitivas básicas de E/S, etc., se ponen en el núcleo. La comunicación ocurre a través de la transmisión de mensajes. Otros se mantienen como procesos de servidor en el Espacio de Usuario

Ventajas

* Resistente a choques, Portátil, Tamaño más pequeño

Desventajas

* Procesamiento más lento debido a un mensaje adicional Passing

Ejemplos * Windows NT

 20
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-22 02:09:59

1.Núcleo Monolítico (Monolítico Puro) :all

  • Todos Los Servicios del Núcleo Desde un solo componente

    ( - ) la adición/eliminación no es posible, menos/Cero flexible

    (+) la comunicación entre componentes es mejor

Ej: - Unix tradicional

2.Micro Kernel :few

  • Pocos servicios (gestión de memoria,gestión de CPU, IPC, etc.) del núcleo del núcleo, otros servicios(Gestión de archivos,gestión de E/S. sucesivamente.) de diferentes capas / componentes

  • Enfoque dividido [Algunos servicios están en modo privilegiado (núcleo) y algunos están en modo normal(usuario)]

    ( + ) flexible para cambios/gradaciones superiores

    (-)gastos generales de comunicación

Ej: - QNX etc.

3.Núcleo modular (Modular Monolítico) :most

  • Combinación de núcleo Micro y monolítico

  • Colección de módulos modules los módulos pueden ser Static > Estático + Dinámica

  • Los controladores vienen en forma de módulos

Por ejemplo: - Linux Modern OS

 13
Author: Naman Vaishnav,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-29 12:36:34

El núcleo monolítico tiene todos los servicios del núcleo junto con la parte del núcleo del núcleo, por lo tanto son pesados y tiene un impacto negativo en la velocidad y el rendimiento. Por otro lado micro kernel es ligero causando aumento en el rendimiento y la velocidad.
Respondí la misma pregunta en el sitio de Wordpress. La diferencia entre monolítico, micronúcleo y exokernel en forma de tabla, usted puede visitar aquí

 1
Author: Yogesh Jilhawar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-15 06:39:14

En el espectro de diseños de kernel los dos extremos los puntos son monolíticas núcleos y micronúcleos.

El Linux (clásico) kernel, por ejemplo, es un núcleo monolítico (y también lo es cada sistema operativo comercial hasta la fecha también-aunque podrían afirmar lo contrario);

En que su código es un un solo archivo C que da lugar a un solo proceso que implementa todo lo anterior Servicio.
Para ejemplificar la encapsulación del kernel de Linux, señalamos que el kernel de Linux ni siquiera tiene acceso a cualquiera de las bibliotecas C estándar. De hecho, el kernel de Linux no puede usar funciones rudimentarias de la biblioteca C como printf. En su lugar implementa su propia función de impresión (llamada prints).

Esta reclusión del kernel de Linux y la autocontención proporcionan el kernel de Linux con su principal ventaja: el núcleo reside en un único espacio de dirección1 permitir todas las características para comunicarse de la manera más rápida posible sin tener que recurrir a cualquier tipo de transmisión de mensajes. En particular, un núcleo monolítico implementa todos los controladores de dispositivo del sistema.

sin embargo, Este es el principal inconveniente de un núcleo monolítico: introducción de cualquier nuevo hardware no compatible requiere una reescritura de la núcleo (en las partes relevantes), recompilación de la misma, y volver a instalar el OPERATIVO.
Lo que es más importante, si cualquier controlador de dispositivo falla, todo el núcleo sufre como resultado. Este enfoque no modular para las adiciones de hardware y los bloqueos de hardware es el argumento principal para apoyar el otro diseño extremo enfoque para los granos. Un micronúcleo es en un sentido un pequeño núcleo de casas solo los servicios muy básicos del sistema operativo (como la gestión de procesos y el sistema de archivos gestión). En un micronúcleo los controladores de dispositivo que se encuentran fuera del núcleo permitir la adición y eliminación de controladores de dispositivo mientras se ejecuta el sistema operativo y no requieren alternancias del núcleo.

 0
Author: TheLogicGuy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-06 19:29:30