微内核和大内核是操作系统内核的两种不同设计思路。
图片来源
微内核
微内核是指将操作系统内核中的核心功能(如进程管理、内存管理、设备驱动等)作为独立进程运行,各进程间通过IPC(进程间通信)进行通讯。其中微内核相当于一个消息中转站;微内核本身只提供中断处理、任务调度等功能。
- 优点:
内核更加稳定、可靠,同时也更加灵活,可以根据需要动态加载和卸载模块。
降低模块之间的耦合度,某个模块出现问题,不会影响到其他模块。 - 缺点:
由于需要频繁进行进程间通信,会导致性能下降。
Microkernels
大内核
大内核则是指将操作系统内核中的所有功能都集成在一起,形成一个庞大的内核。整个内核就是一个大的进程,其中内存管理、进程管理、网络管理等都是这个进程的模块。各个模块之间可以直接通过方法调用进行交互。
- 优点:
性能更高,因为不需要频繁进行进程间通信。 - 缺点
内核更加复杂,容易出现安全漏洞和稳定性问题。
UNIX system structure
Linux system structure
上文图片来源《Operating-System-Concepts-10th》