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