Linux Kernel Type

Linux Kernel Type

单内核

单内核,即内核程序是一个静态二进制文件形式放在磁盘,运行在一个独立的地址空间。 这样系统的内部调用比较简单,因为都工作在内核态。

微内核

微内核,里面包含很多服务,除了特权服务,大部分运行于用户空间,各个服务之前通过IPC(进程间通信)方式 进行消息传递。 由于IPC的消耗远大于函数调用,还会涉及到内核空间和用户空间的上下文转换,所以很多微内核系统也会让大部分 服务位于内核,这样也可以直接调用函数。Windows && Mac等都是微内核系统,但是他们都让服务位于内核。

Linux

Linux是单内核,独立运行于某个地址空间,并借鉴微内核的部分,提供模块化设计,抢占式内核,支持内核线程, 以及动态装载内核模块的能力。