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

文章目录

  • 一、微内核操作系统
    • 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.mzph.cn/pingmian/72800.shtml

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

相关文章

系统思考:恶性循环

去年,我给一家知名人力资源公司交付了两个项目——一个在6月,另一个在8月,至今半年多了依然没有收到课酬。催促多次,得到的答复却各式各样:销售说老板卡了额度,老板说具体情况还需了解。每一次的推诿&#…

基于springboot的房屋租赁系统(008)

摘 要 社会的发展和科学技术的进步,互联网技术越来越受欢迎。网络计算机的生活方式逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。互联网具有便利性,速度快,效率高,成本低等优点。 因此,构建符…

视频翻译器免费哪个好?轻松玩转视频直播翻译

你是不是觉得看外语视频很麻烦?每次遇到喜欢的外语电影、电视剧或动漫,总是要等字幕组的翻译,或者因为语言不通而错过精彩的情节。 这个时候,掌握多语种直播翻译方案就显得尤为重要,有了实时字幕,看外语视…

在cherry studio中使用MCP——本地文件管理FileSystem

cherry studio是一款开源的AI助手工具,可以便捷地利用API访问各种LLM,有关cherry studio的使用这里不再多说,可以参考这篇文章https://blog.csdn.net/m0_65494437/article/details/145478823 官网:https://cherry-ai.com/ MCP是什…

从点灯开始的51单片机生活

陵谷纷纭新事改&#xff0c;筑台土石未应迟。 目录 sfr与sbit&#xff1f;不靠定时器的delay_ms延时函数所谓寄存器 sfr与sbit&#xff1f; 这第一课咱们主要来先理解一下sfr与sbit&#xff0c;以下可能是咱们这些新手朋友常见的点灯代码&#xff1a; #include<regx52.h&g…

Django系列教程(13)——Cookie和Session应用场景及案例

目录 什么是cookie&#xff0c;cookie的应用场景及缺点 Django中如何使用cookie Cookie使用示例 什么是session及session的工作原理 Django中如何使用会话session Session使用示例 小结 HTTP协议本身是”无状态”的&#xff0c;在一次请求和下一次请求之间没有任何状态保…

c++类和对象(下篇)下

下面就来补充一下c雷和对象最后一点内容. 首先先补充一下上一篇博客上c类和对象(下篇)上-CSDN博客最后学习的静态成员变量的小练习求123...n_牛客题霸_牛客网 (nowcoder.com)下面就是题解.灵活的运用了静态成员变量不销毁的特点,建立数组利用构造函数来完成n次相加. class A{ …

《TCP/IP网络编程》学习笔记 | Chapter 19:Windows 平台下线程的使用

《TCP/IP网络编程》学习笔记 | Chapter 19&#xff1a;Windows 平台下线程的使用 《TCP/IP网络编程》学习笔记 | Chapter 19&#xff1a;Windows 平台下线程的使用内核对象内核对象的定义内核对象归操作系统所有 基于 Windows 的线程创建进程与线程的关系Windows 中线程的创建方…

分布式事务解决方案:Seata原理详解与实战教程

一、为什么需要Seata&#xff1f; 在微服务架构中&#xff0c;跨服务的事务管理成为核心痛点&#xff1a; 传统事务失效&#xff1a;服务拆分导致无法使用本地事务数据不一致风险&#xff1a;网络抖动、服务宕机等情况导致数据错乱复杂场景处理难&#xff1a;涉及多个数据库、…

docker需要sudo才能使用

一种方法是添加当前用户到docker组里去&#xff0c;当时添加的时候貌似是没问题的&#xff0c;但是现在又不可以了 产生的报错 ❯ docker images Cannot connect to the Docker daemon at unix:///home/ying/.docker/desktop/docker.sock. Is the docker daemon running?解决…

学习记录 6 pointnet复现

一、复现代码 然后去找相关的2d的声呐图像分类的算法 融合可以搞的&#xff0c;虽然有文献但是不多&#xff0c;感觉也是可以的 """ Author: Benny Date: Nov 2019 """import os import sys import torch import numpy as npimport datetime …

Linux 文件操作-标准IO函数3- fread读取、fwrite写入、 fprintf向文件写入格式化数据、fscanf逐行读取格式化数据的验证

目录 1. fread 从文件中读取数据 1.1 读取次数 每次读取字节数 < 原内容字节数 1.2 读取次数 每次读取字节数 > 原内容字节数 2.fwrite 向文件中写入数据 2.1写入字符串验证 2.2写入结构体验证 3. fprintf 将数据写入到指定文件 4. fscanf 从文件中逐行读取内容…

Python 中下划线 “_” 的多面性:从变量到约定

# Python中下划线“_”的多面性&#xff1a;从变量到约定 在Python的语法体系里&#xff0c;下划线“_”看似毫不起眼&#xff0c;实则扮演着极为重要且多样化的角色。它不仅能作为普通变量参与编程&#xff0c;更在多个特殊场景下有着独特的用途与约定。深入理解下划线的各种…

深入 Linux 声卡驱动开发:核心问题与实战解析

1. 字符设备驱动如何为声卡提供操作接口&#xff1f; 问题背景 在 Linux 系统中&#xff0c;声卡被抽象为字符设备。如何通过代码让应用程序能够访问声卡的录音和播放功能&#xff1f; 核心答案 1.1 字符设备驱动的核心结构 Linux 字符设备驱动通过 file_operations 结构体定…

基于Spring Boot的图书管理系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

记录 macOS 上使用 Homebrew 安装的软件

Homebrew 是 macOS 上最受欢迎的软件包管理器之一&#xff0c;能够轻松安装各种命令行工具和 GUI 应用。本文记录了我通过 Homebrew 安装的各种软件&#xff0c;并对它们的用途和基本使用方法进行介绍。 &#x1f37a; Homebrew 介绍 Homebrew 是一个开源的包管理器&#xff…

个人AI助手的未来:Yi AI开源系统助力快速搭建

摘要 Yi AI推出了一站式个人AI助手平台解决方案&#xff0c;助力用户快速搭建专属AI助手。该平台采用全套开源系统&#xff0c;涵盖前端应用、后台管理及小程序功能&#xff0c;并基于MIT协议开放使用。同时&#xff0c;平台集成了本地RAG方案&#xff0c;利用Milvus与Weaviate…

dpkg-architecture命令详解

dpkg-architecture 是 Debian 系系统中用于处理软件包架构相关操作的工具&#xff0c;尤其在软件包构建和交叉编译环境中至关重要。以下是其核心功能及用法的详细说明&#xff1a; ‌一、核心功能‌ ‌架构查询与验证‌ 显示或验证当前系统&#xff08;DEB_HOST_ARCH&#xff…

STM32HAL库,解决串口UART中断接收到的第一个字节数据丢失

1.问题描述&#xff1a; 只有上电后第一次接收到的第一字节数据会丢失&#xff0c;往后再接收也不会存在问题了。 2.先贴出来重写UART中断回调函数 我在接收到第一字节数据后开启定时器中断的&#xff0c;做一个超时处理&#xff0c;每次接收到数据会对定时器计数值清零&…

解决 vxe-table 固定列对不齐,滚动后错位、展开行遮挡的问题,解决渲染空白、边框丢失问题

解决 vxe-table 固定列对不齐&#xff0c;滚动后错位、展开行遮挡的问题&#xff0c;解决渲染空白、边框丢失问题。 解决方法&#xff0c;更新到最新版本就完美解决了&#xff1b;v4 版本更新到 v4.12&#xff0c;v3版本更新到 v3.14 查看官网&#xff1a;https://vxetable.cn…