文章目录

  • 大内核
  • 微内核

操作系统核心态为应用程序提供公共的服务。

那么操作系统在核心态应该提供什么服务呢?又怎样提供服务呢?

大内核

大内核系统将操作系统的主要功能模块都作为一个紧密联系的整体,在核心态中运行,为应用提供高性能的服务。

微内核

为了解决操作系统内核代码难以维护的问题,提出了微内核的体系结构,微内核将内核中最基本的功能(比如说进程管理等功能)保留在了内核之中,将那些不需要在核心态中执行的功能转移到了用户态中执行,从而降低了内核的设计复杂性。而那些被移出内核的操作系统功能代码根据分层原则被划分成若干服务程序,它们的执行相互独立,都借助于内核进行通信交互。
内核结构有效的分离了内核与服务、服务与服务,使得他们之间的接口更清晰,维护代价降低。各部分可以独立的进行优化和演进,从而保证了操作系统的可靠性。
其中微内核结构最大问题就是性能上的问题,因为需要频繁的在核心态用户态之间进行切换,操作系统执行开销较大,因此有的操作系统将那些频繁使用的系统服务又移回了内核,从而保证系统性能的效率。但是体系结构也不是引起系统性能下降的主要原因,体系结构带来的性能提升,足以弥补切换开销带来的缺缺陷,为了减少切换开销,有人提出将系统服务作为运行库链接到用户程序的一种解决方案,这种的体系结构被称作库操作系统