当前位置: 首页 > article >正文

【系统架构设计师】操作系统 - 特殊操作系统 ③ ( 微内核操作系统 | 单体内核 操作系统 | 内核态 | 用户态 | 单体内核 与 微内核 对比 )

文章目录

  • 一、微内核操作系统
    • 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、微内核 优缺点


微内核 优缺点 :

  • 优点 : 内核精简 , 内核裁剪简单 , 内核移植简单 ; 系统服务 运行在 用户态 , 稳定性高 , 安全性高 ; 非常适用于 分布式系统 ;
  • 缺点 : 频繁进行 用户态 和 内核态 的切换 , 系统效率低 ;

http://www.kler.cn/a/592138.html

相关文章:

  • k8s学习记录(三):Pod基础-Node选择
  • python系列之元组(Tuple)
  • MySQL配置文件my.cnf详解
  • Java 代码优化技巧:场景与实践
  • 【HarmonyOS Next】鸿蒙中App、HAP、HAR、HSP概念详解
  • 2025年智能系统、自动化与控制国际学术会议(ISAC 2025)
  • 云原生边缘计算:分布式智能的时代黎明
  • 抖音碰一碰发视频系统源码搭建全攻略-碰一碰拓客系统oem搭建
  • RuoYi框架连接SQL Server时解决“SSL协议不支持”和“加密协议错误”
  • 关于android开发中,sd卡的读写权限的处理步骤和踩坑
  • 【Linux系统】Linux进程终止的N种方式
  • LeetCode 72 —— 72.编辑距离
  • 生成式AI红队测试:如何有效评估大语言模型
  • Javascript引用数据类型详解
  • 深入解析 `SQL_SMALL_RESULT`:MySQL 的“小优化”大作用
  • Nginx 结合 NFS 共享的服务搭建、DNS 域名解析及安全加固(时间同步、防火墙)实验
  • 设计C语言的单片机接口
  • 【Golang】第五弹----函数
  • 关于解决新版本spring项目请求测试接口返回406的问题
  • 前端面试项目拷打