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

news2025/3/20 12:44:41

文章目录

  • 一、微内核操作系统
    • 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.coloradmin.cn/o/2318376.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【RabbitMQ】RabbitMQ的基本架构是什么?包括哪些核心组件?

RabbitMQ基于AMQP协议实现,由多个核心组件组成,确保消息的可靠传递。 Rabbit的架构图: 1.RabbitMQ的基本架构: 1.核心组件: 1.Producer(生产者): 发送消息到RabbitMQ。 2.Exchange(交换机):接…

Octave3D 关卡设计插件

课程参考链接 这位大佬有在视频合集中有详细的讲解,个人体验过,感觉功能很强大 https://www.bilibili.com/video/BV1Kq4y1C72P/?share_sourcecopy_web&vd_source0a41d8122353e3e841ae0a39908c2181 Prefab资源管理 第一步 在场景中创建一个空物体…

【视频】文本挖掘专题:Python、R用LSTM情感语义分析实例合集|上市银行年报、微博评论、红楼梦、汽车口碑数据采集词云可视化

原文链接:https://tecdat.cn/?p41149 分析师:Zhenzhen Liu,Shuai Fung 作为数据科学家,我们始终关注如何从非结构化数据中提取高价值信息。本专题合集聚焦企业年报的文本分析技术,通过Python与R语言实战案例&#xff…

英伟达“AI 超级碗”开幕

Nvidia的AI和机器人技术进展 2025年03月19日 | AI日报 ![](https://i-blog.csdnimg.cn/direct/e7838b88f17f40c9a435f6dc48d26c59.jpeg#pic_center) 欢迎各位人工智能爱好者。 Nvidia的CEO Jensen Huang刚刚拉开了他的“AI超级碗”,并发表了关于该公司最新芯片、…

DeepSeek扫盲篇: V3 vs R1全面对比架构差异与蒸馏模型演进史

I. 引言:DeepSeek系列的技术革命 在全球大模型军备竞赛白热化的2023年,DeepSeek系列通过V3与R1两款里程碑产品,构建了中文大模型领域的"双塔奇观"。这两个看似矛盾的版本——前者以1280亿参数的MoE架构突破算力边界,后…

UE5材质法线强度控制节点FlattenNormal

连法 FlattenNormal内部是这样的 FlattenNormal的作用是用来调整法线强度 连上FlattenNormal后 拉高数值

计算机网络基础:认识网络硬件与传输介质

计算机网络基础:认识网络硬件与传输介质 一、前言二、网络硬件设备2.1 路由器2.1.1 路由器的基本概念与功能2.1.2 路由器的工作原理2.1.3 路由器的类型与应用场景 2.2 交换机2.2.1 交换机的基本概念与功能2.2.2 交换机的工作原理2.2.3 交换机的类型与应用场景 2.3 服…

Android audio(8)-native音频服务的启动与协作(audiopolicyservice和audioflinger)

音频策略的构建 1、概述 2、AudiopolicyService 2.1 任务 2.2 启动流程 2.2.1 加载audio_policy.conf(xml)配置文件 2.2.2 初始化各种音频流对应的音量调节点 2.2.3 加载audio policy硬件抽象库 2.2.4设置输出设备 ps:audiopatch流程简介 2.2.5打开输出设…

法兰克仿真软件FANUC CNC Guide v25.0 安装教程及中文设置

前言 下载地址在文末。 我们公司用新到一批FANUC 系统的设备,为方便使用就装了一个 FANUC 数控系统仿真软件FANUC CNC Guide v25.0 ,还是最新版不是市面上流传的老版本。模拟学习一下。 安装操作 安装环境:Windows 11 专业版 24H2 安装程…

Java SE 面经

1、Java 语言有哪些特点 Java 语言的特点有: ①、面向对象。主要是:封装,继承,多态。 ②、平台无关性。一次编写,到处运行,因此采用 Java 语言编写的程序具有很好的可移植性。 ③、支持多线程。C 语言没…

关于redis中的分布式锁

目录 分布式锁的基础实现 引入过期时间 引入校验id 引入lua脚本 引入看门狗 redlock算法 分布式锁的基础实现 多个线程并发执行的时候,执行的先后顺序是不确定的,需要保证程序在任意执行顺序下,执行逻辑都是ok的。 在分布式系统中&am…

Python实战(2)-数据库支持

使用简单的纯文本文件可实现的功能有限。诚然,使用它们可做很多事情,但有时可能还需要额外的功能。你可能希望能够自动完成序列化,此时可求助于shelve和pickle(类似于shelve)​。不过你可能需要比这更强大的功能。例如…

从 Snowflake 到 Databend Cloud:全球游戏平台借助 Databend 实现实时数据处理

导读:某全球游戏平台为全球数百万玩家提供实时的技能型游戏体验与无缝的实时互动。对该游戏平台而言,保持数据的实时更新和实时分析,对提升玩家互动和留存率至关重要。他们在使用 Snowflake 进行实时数据摄取和分析时遇到了重大挑战&#xff…

Docker搭建MySQL主从服务器

一、在主机上创建MySQL配置文件——my.cnf master服务器配置文件路径:/data/docker/containers/mysql-cluster-master/conf.d/my.cnf slave服务器配置文件路径: /data/docker/containers/mysql-cluster-master/conf.d/my.cnf master服务配置文件内容 …

C语言每日一练——day_12(最后一天)

引言 针对初学者,每日练习几个题,快速上手C语言。第十二天。(最后一天,完结散花啦) 采用在线OJ的形式 什么是在线OJ? 在线判题系统(英语:Online Judge,缩写OJ&#xff0…

10、STL中的unordered_map使用方法

一、了解 1、unordered_map(哈希) unordered_map是借用哈希表实现的关联容器。 访问键值对O(1),最坏情况O(n),例如哈希冲突严重时。【n是一个哈希桶的元素数量】 unordered_map特性 键值对存储&#xff…

本地部署deepseek-r1建立向量知识库和知识库检索实践【代码】

目录 一、本地部署DS 二、建立本地知识库 1.安装python和必要的库 2.设置主目录工作区 3.编写文档解析脚本 4.构建向量数据库 三、基于DS,使用本地知识库检索 本地部署DS,其实非常简单,我写了一篇操作记录,我终于本地部署了DeepSeek-R1(图文全过程)-CSDN博客 安装…

监控视频联网平台在智慧水利中的应用

随着智慧城市建设的深入推进,智慧水利作为其中的重要组成部分,正逐步实现数字化、智能化和网络化转型。在这一过程中,监控视频联网平台凭借其高效的数据采集、传输与分析能力,成为智慧水利建设的关键技术支撑。以下是监控视频联网…

深入解析素数筛法:从埃氏筛到欧拉筛的算法思想与实现

素数筛法是一种用于高效生成素数的算法。常见的素数筛法包括埃拉托斯特尼筛法(埃氏筛)和欧拉筛(线性筛)。下面我们将详细讲解这两种筛法的思想: 一、 埃拉托斯特尼筛法(埃氏筛) 思想&#xff1…

ubuntu20.04系统没有WiFi图标解决方案_安装Intel网卡驱动

文章目录 1. wifi网卡配置1.1 安装intel官方网卡驱动backport1.1.1 第四步可能会出现问题 1.2 ubuntu官方的驱动1.3 重启 1. wifi网卡配置 我的电脑是华硕天选4(i7,4060),网卡型号intel ax201 ax211 ax210通用。 参考文章&#…