📜  微内核和模块化内核的区别

📅  最后修改于: 2021-09-11 04:02:29             🧑  作者: Mango

先决条件 – 操作系统中的内核

1. 微内核:
微内核,顾名思义,基本上是一种软件或代码,通常包含实现操作系统所需的最少功能、数据和特性。它是一个非常小的内核,代表了经过深入研究的操作系统结构思想。简单来说,正确实现操作系统需要微内核。

2. 模块化内核:
模块化内核,顾名思义,是一种内核,其中系统核心的某些部分将被分配到称为模块的独立文件中。这可以在运行时添加到系统中。它通常需要少量的加载模块时间。如果需要一个新模块,那么他们就不必重新编译。

微内核和模块化内核的区别:

Micro Kernel

Modular Kernel 

It generally provides mechanisms that are required to implement on OS.   It generally allows administrator to add functionality only when it is required.
It provides more security and reliability as compared to modular kernel.  It provides less security and reliability as compared to micro kernel.  
It usually simplifies debugging and system verification, change service without restarting system, etc.   It usually decreases boot time, does not have to load everything at boot time, faster development time, etc.
It simply places code in user space and requires that channels be used to connect code modules.  It simply places place any code in any ring that it chooses.  
In this, minimal or less functionalities or facilities are required to load further services. In this, different kernel services are separated into different files so that one can link monolithic kernel with functionality or facilities that are required.  
Its main aim is to minimize or reduce kernel and implement as much as possible outside TCB.   Its main aim is to keep what is loaded in boot-time minimal while still enabling kernel to execute more functions that are complex.  
It generally includes low-level address space management, IPC (Inter-Process Communication). It generally includes simply filesystem driver, built-in native file system driver with other storage modules, etc.