内核体系结构

  • 梦影无痕丶
  • 1 Minutes
  • June 4, 2019

微内核

微内核操作系统只需要内核有一个很小的函数集,通常包括几个同步原语、一个简单的调度程序和进程间通信机制。运行再微内核之上的几个系统进程实现操作系统级别的功能。入 内存分配、设备驱动、系统调用等。

微内核系统一般比单块内核效率低,因为操作系统不同层次之间显式消息传递需要花费一定代价。

微内核中,任何操作系统层都是一个相对独立的程序,这种程序必须通过定义明确而清晰的软件接口。这就要求系统程序员采用模块化的方法。
此外,由于所有与硬件相关的部分都被封装进微内核代码中,微内核系统易移植到其他体系结构上。
微内核系统比单块内核系统更充分利用RAM,因为展示不需要制行的系统进程可以被调出活撤销。

模块

大部分Unix系统都是单核结构,Linux 内核为了达到微内核的一些优点而又不影响性能,提供了模块。
模块是一个目标文件,其可以在运行时链接到内核或者从内核解除链接。
模块与其他任何静态链接的内核函数一样,代表当前进程在内核态执行。

模块优点

模块化方法

因为任何模块都可以在运行时被链接或者解除,这要求系统程序员提出明确的软件接口以访问模块处理的数据结构。

平台无关

模块回依赖某些特殊的硬件,但是不依赖与某个固定的硬件平台。

节省内存

当需要模块功能时,把他链接到正在运行的内核,否则,将解除该模块

无性能损失

模块的目标代码一旦被链接到内核,其作用与静态链接内核的目标代码完全等价,当模块函数被调用时,无需显式进行消息传递,