文章目录
- 一、微内核操作系统
- 1、单体内核 操作系统
- 2、微内核操作系统 引入
- 3、微内核操作系统 概念
- 4、微内核操作系统 案例
- 二、单体内核 与 微内核 对比
- 1、功能对比
- 2、单体内核 优缺点
- 3、微内核 优缺点
一、微内核操作系统
1、单体内核 操作系统
单体内核 操作系统 工作状态 :
- 内核态 : 操作系统 核心工作在 内核态 完成 , 如 : 异常处理、终端、计时器、I/O 管理 等 ;
- 单体内核的 内核态 有很多任务 , 一旦这些任务出现错误 , 会 导致操作系统底层出现故障 , 出现 蓝屏、死机 等 操作系统崩溃问题 ;
- 用户态 : 应用程序 运行在 用户态 , 通过 系统调用 调用 内核态功能 ;
- 系统调用 涉及到 从 用户态 跳转到 内核态 , 系统调用完毕后 , 再通过中断 返回到 用户态 ;
2、微内核操作系统 引入
单体内核 操作系统 的 发展趋势 就是 将 不必要的功能 , 从 内核态 抽离出来 放到 用户态中 , 如 : 进程管理、文件管理 等功能 ;
将 传统 单体内核 操作系统 的 代码 , 放到 更高层 的 用户态 中执行 , 操作系统 只留下 最小的核心 , 称为 " 微内核 “ , 该系统称为 ” 微内核 操作系统 " ;
将 内核态 的 文件管理 功能 移植到 用户态后 , 在用户态 会 运行一个 文件管理服务器 进程 , 当 客户进程 需要 文件管理 功能时 , 会 调用 文件管理服务器进程 提供的服务 , 这是一个 C/S 结构的 客户端请求 / 服务器响应 架构 ;
内核态 只需要 处理 客户进程 的 请求 , 以及 文件管理服务器 的 应答 , 这两个操作 , 内核态 不再负责 文件管理的具体功能 , 如下图所示 :
3、微内核操作系统 概念
微内核操作系统 是一种 操作系统设计架构 , 其核心理念是 最小化内核功能 ,
仅 保留最基础的 硬件管理能力(如进程调度、内存管理、IPC通信等) ,
将传统 单体内核 中的文件系统、设备驱动、网络协议栈 等 模块 移至用户空间 ,
以独立服务的形式运行 ;
微内核操作系统有如下特点 :
- 最小化内核 : 内核仅包含核心功能(如进程间通信、线程管理、虚拟内存管理) , 代码量通常仅几千行( L4 微内核约 12,000 行代码) ; 对比 单体内核 的 Linux内核代码量超 2,800 万行 , 集成驱动、文件系统等模块 ;
- 模块化设计 : 所有 非核心功能 (如文件系统、网络协议)作为用户态服务运行 , 通过 IPC(进程间通信) 与内核交互 ; 模块间隔离性强,单个服务崩溃不会导致系统整体瘫痪。
- 权限隔离与安全性 : 用户态 服务 运行在独立地址空间 , 通过 严格的权限控制降低漏洞攻击风险 ; 如 : 驱动程序的错误不会直接破坏内核 ;
微内核架构 如下图所示 :
|-----------------------------|
| 用户空间 |
|-----------------------------|
| 文件系统服务 | 网络服务 | 设备驱动 | 其他服务...
|-----------------------------|
| 进程间通信(IPC) |
|-----------------------------|
| 微内核 | ← 仅包含核心功能
|-----------------------------|
| 硬件 |
|-----------------------------|
4、微内核操作系统 案例
微内核操作系统 案例 :
-
QNX Neutrino : 用于汽车(如车载信息娱乐系统)、工业控制、医疗设备,以高实时性和容错性著称。
-
华为鸿蒙OS(HarmonyOS) : 采用 分布式微内核设计 , 支持跨设备协同 , 适用于物联网生态 ;
-
Google Fuchsia(Zircon内核) : 面向下一代智能设备,强调安全性和模块化。
-
L4微内核家族 : 包括seL4(形式化验证的高安全内核),应用于军事和航空航天领域。
二、单体内核 与 微内核 对比
1、功能对比
单体内核 与 微内核 的 功能对比 :
- 单体内核 : 实现的功能较多 , 内核中实现了 图形系统 、 设备驱动 、 文件管理 、 进程管理 等一系列功能 , 这些功能 都运行在内核态同一个地址空间中 ;
- 微内核 : 只实现基本功能 , 将 大部分功能 图形系统 、 设备驱动 、 文件管理 、 进程管理 放在了用户态中 , 内核态 只负责 这些功能的 请求响应操作 ;
2、单体内核 优缺点
单体内核 优缺点 :
- 优点 : 进程间通信较少 , 每次进程通信都要进行 内核态 与 用户态 之间的状态切换 , 运行效率较高 ;
- 缺点 : 内核占用资源多 , 不容易进行内核裁剪 , 系统运行的 稳定性差 , 安全性差 ;
3、微内核 优缺点
微内核 优缺点 :
- 优点 : 内核精简 , 内核裁剪简单 , 内核移植简单 ; 系统服务 运行在 用户态 , 稳定性高 , 安全性高 ; 非常适用于 分布式系统 ;
- 缺点 : 频繁进行 用户态 和 内核态 的切换 , 系统效率低 ;