什么是操作系统的微内核

2023-11-10

传送门 ==>> AutoSAR实战系列300讲「糖果Autosar」总目录
操作系统用来管理系统资源的,而内核是操作系统的核心部分,它还充当计算机的应用程序和硬件之间的桥梁。它是启动时(after the Bootloader)加载的第一个程序。

img

1 CPU运行的内核模式和用户模式

某些指令只有在内核模式下才能执行,这些指令称为特权指令。 They allow the implementation of special operations whose execution by the user program could interface with the functioning of the operating system or activity of another user program.例如,管理内存保护的指令。

  • 操作系统在内核中执行时将 CPU 置于内核模式,因此该内核可以执行一些特殊操作。
  • 当用户程序正在执行时,操作系统将 CPU 置于用户模式,因此用户程序无法与操作系统程序交互。
  • 用户级指令不需要特殊权限。Example are ADD,PUSH,etc.

从用户模式到内核模式的转换

CPU运行的模式可以扩展到两个以上,它需要more than a single mode bit CPUs that support virtualization use one of these extra bits to indicate when the virtual machine manager, VMM, is in control of the system。VMM 比普通用户程序有更多的权限,但没有kernel那么多。

系统调用通常以软件中断的形式实现,这会导致中断处理程序将控制权转移到适当的中断处理程序【该处理程序是操作系统的一部分】,在进程中将模式位切换到内核模式。中断处理程序准确检查产生了哪个中断,检查附加参数(通常通过寄存器传递)是否合适,然后调用适当的内核服务例程来处理系统调用请求的服务。

用户程序尝试执行非法指令(特权或不存在的指令),或访问禁止的内存区域,也会产生软件中断,被中断处理程序捕获,控制权转移到操作系统,操作系统发出适当的错误消息,可能会将数据转储到日志(核心)文件以供以后分析,然后终止有问题的程序。

2 什么是微内核

微内核是内核的分类之一。作为一个内核,它管理所有系统资源。但是在微内核中,用户服务内核服务是在不同的地址空间中实现的。用户服务保存在用户地址空间,内核服务保存在内核地址空间,这样也减少了内核的大小和操作系统的大小。

img

它提供最少的进程和内存管理服务。客户端程序/应用程序与运行在用户地址空间的服务之间的通信是通过消息传递建立的。操作系统不受影响,因为用户服务和内核服务是隔离的,因此如果任何用户服务失败,它不会影响内核服务。因此,它增加了微内核的优势之一。它很容易扩展,即如果要添加任何新服务,它们将被添加到用户地址空间,因此不需要在内核空间中进行修改。它还具有便携性、安全性和可靠性。

3 微内核架构

由于内核是操作系统的核心部分,所以它只用于处理最重要的服务。因此在这个架构中,只有最重要的服务在内核中,其余的操作系统服务在系统应用程序中。因此,用户能够与系统应用程序中的那些不那么重要的服务进行交互。微内核单独负责操作系统中最重要的服务,例如:

  • 进程间通信
  • 内存管理
  • CPU调度

4 微内核的优势

  • 该内核的体系结构很小且孤立,因此可以更好地运行。
  • 系统的扩展更容易,它只是简单地添加到系统应用程序中而不干扰内核。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是操作系统的微内核 的相关文章

  • window系统消失的c盘,实际占用与显示占用相差好多G

    问题 C盘一直显示的红色提醒 我c盘实际占用的空间只有33 1GB 而我的c盘总共大小是59 9GB 显示的剩余大小是1 35GB 也就是说我占用了58 11 和c盘的总文件大小相差了25GB 那么消失的25GB去了哪里 我百度过这个问题
  • fork之后子进程到底复制了父进程什么

    fork之后子进程到底复制了父进程什么 发表于2015 4 3 9 54 08 2161人阅读 分类 操作系统 include
  • 6.OS运行机制(补充)

    中断
  • 计算机网路基础 - 一些基本概念与网络结构

    1 基本概念 计算机网络 通信技术 计算机技术 是两项技术紧密结合的产物 通信系统的基础模型 计算机网络 是指将地理位置不同 具有独立功能的多台计算机及其外部设备 通过通信线路连接 在网络操作系统 网络管理软件及网络通信协议的管理和协调下
  • 小白学协程笔记2-c语言实现协程-2021-2-10

    文章目录 前言 一 c语言中协程切换方式 二 使用setjmp 和 longjmp实现协程切换 1 setjmp和longjmp函数简介 2 协程实现 三 使用switch case实现协程切换 1 switch case小技巧 2 协程实
  • Linux系统的安装(在VM虚拟机上安装CentOS 7)

    工具准备 物理计算机一台 配置要求 操作系统 win10 64位 大家基本上都是 硬盘可用容量 20G以上 内存容量 4G以上 虚拟机安装包 VMware workstation full 12 5 下载链接 点我下载 提取码 9gha C
  • windows下命令行修改系统时间;修改系统时间的软件

    找了很久 都没有找到 还找了关键词 dos下修改系统时间 因为看到linux下修改系统时间是用hwclock 命令写入主板芯片 而我由于某些原因想自动化修改系统时间 所以找windows下修改系统时间的软件 没有找到 有一个 意天禁止修改系
  • linux 如何创建卷组

    1 创建一个物理卷 Pvcreate dev sd1 dev sd2 dev sd3 dev sd4 2 用刚才创建的物理卷创建一个卷组 Vgcreate 卷组名 dev sd1 dev sd2 dev sd3 dev sd4 3 创建逻辑
  • 计算机领域中随处可见的抽象

    想要管理多种具体的东西 那么需要遵守每种东西的规范 如果想要提供一种通用模式来对这些具体的东西统一管理 需要使用一种古老的技术 抽象 抽象是将多种具体的东西 管理时需要遵守的规范 的共同点抽取出来 放入到更高一层的抽象层 在抽象层不定义或少
  • Linux网络安全-Zabbix入门(一)

    一 基本概念 1 监控目的 运行情况 提前发现问题 2 监控资源类别 公开 tcp udp 端口 私有 cpu 磁盘 监控一切需要监控的东西 只要能够想到 能够用命令实现的都能用来监控 如果想远程管理服务器就有远程管理卡 比如Dell id
  • RTX线程通信之——线程标志

    文章目录 Thread Flags 概念 RTX线程标志API 案例 LED灯同步闪亮 小结 参考资料 Thread Flags In a real application we need to be able to communicate
  • Client-Server问题

    1 实验内容与要求 需要创建客户Client和服务器Server两个进程 它们通过管道进行通信 Client进程派生3个生产者线程 一个管道线程 共享一个20个slots的缓冲区 每个生产者线程随机产生一个数据 打印出来自己的id 进程 线
  • 操作系统PV操作及读者写者问题

    操作系统PV操作及读者写者问题 目录 1 信号量 2 P V操作原语可描述为以下式子 3 解释 4 互斥模式原理 5 同步模式原理 6 读者写者问题 1 信号量 PV操作与信号量的处理有关 信号量是表示资源的实体 是一个与队列有关的整型变量
  • [架构之路-185]-《软考-系统分析师》-3-操作系统基本原理 - 文件索引表

    目录 一 文件的索引块 二 索引分配表 三 索引表的链接方案 四 多层索引 五 混合索引分配 一 文件的索引块 存放在目录中的文件 并非是文件的真实内容 目录中记录了文件的索引块是几号磁盘块 文件对应的索引表是存放在指定的磁盘块中的 二 索
  • 使用inet_ntop转换IPv6地址时在macOS和linux上的行为不一样

    下面这段python代码在macOS和linux时运行的结果是不同的 import socket ip socket inet pton socket AF INET6 1 2 3 0 5 6 7 8 print socket inet n
  • 内存管理——分页分段

    一 分页存储管理 1 页面与页框 1 页面 将一个进程的逻辑地址空间分成若干个大小相等的片 称为页面或页 并为各页加以编号 2 页框 相应于页面 把内存空间分成和页面相同大小的若干个存储块 称为 物理 块或页框 frame 3 页内碎片 在
  • Anaconda 安装 Python 库(MySQLdb)的方法-(转)

    安装python库的过程中 最重要的地方就是版本需要兼容 其中操作系统为64位 Python为2 X 64位 下载安装文件的时候也要注意版本匹配 其中文件名中包含的cp27表示CPython 2 7版本 cp34表示CPython 3 4
  • 操作系统常见面试题

    1 什么是进程 Process 和线程 Thread 有何区别 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动 进程是系统进行资源分配和调度的一个独立单位 线程是进程的一个实体 是CPU调度和分派的基本单位 它是比进程更小的能
  • 【操作系统】王道考研 p42 段页式管理方式

    段页式管理方式 知识总览 分段 分页管理方式中最大的优缺点 关于段式管理会产生外部碎片 ps 分段管理中产生的外部碎片也可以用 紧凑 来解决 只是需要付出较大的时间代价 分段 分页 段页式管理 示意图 先分段 后分页 段页式管理的逻辑地址结
  • 八股文打卡day20——操作系统(3)

    面试题 线程同步的方式有哪些 我的回答 多线程同时访问和修改某个数据的话 会造成数据的不一致和冲突问题 所以就需要线程同步 线程同步的方式有 1 互斥锁 互斥锁就是 当一个资源被访问和操作时 会对这个资源加锁 把这个资源锁定 其他线程不能对

随机推荐

  • 剑指 Offer 18. 删除链表的节点

    删除链表的节点 思路 先解决特殊条件 package swordPointingToTheOffer public class Eighteen public static class ListNode int val ListNode n
  • XPT2046程序例程(STM32F103C8T6)

    一 前言 本例程是使用XPT2046 AD转换IC采集电位器的数值 并通过串口调试助手打印数据 所使用的是库函数进行编写 二 XPT2046 概述 一 功能说明 XPT2046是一款4线制电阻屏控制器 内含12位分辨率125KHz转换速率逐
  • Review操作系统

    操作系统由什么组成 什么是阻塞IO和非阻塞IO 用户态到内核态怎么切换 中断的原因 进程间的通信方式 同一个机器之间的进程通信哪种最有效 select epllo 2 为什么要分页 你对操作系统内存页有什么了解 为什么要有虚拟内存 有什么用
  • JavaScript学习之ES6学习之Promise

    简介 主要介绍Promise新特性的概念和使用 概念 Promise是ES6引入的异步编程的新解决方案 语法上Promise是一个构造函数 用来封装异步操作 也就是回调函数
  • 面试笔记(四)---怎么去除url地址的参数

    javascript 删除 url 中指定参数 并返回 url 前言 在之前写了一篇博文 javascript 操作 url 中 search 部分方法函数 在这篇博文里面 我们通过写好的函数可以对url中的各种参数进行查询 设置 唯独 忘
  • Android自动调整字体大小的TextView

    文章目录 一 前言 二 设置 TextView 文本自动调整大小 2 1 默认缩放 2 2 按粒度缩放 2 3 按预设定值缩放 三 使用支持库实现文本自动缩放 一 前言 在应用开发过程中 可能需要这样的场景 一个现实区域有限的TextVie
  • 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part III

    用Cmake build OpenCV后 在VS中查看OpenCV源码的方法 环境VS2022 openCV4 8 0 Part III 用Cmake build OpenCV后 在VS中查看OpenCV源码的方法 环境VS2022 ope
  • python卷积神经网络手写数字识别_TensorFlow.js 卷积神经网络手写数字识别

    源码 demo 调整训练集的大小 观察测试结果的准确性 数据来源 数据来源与 https www kaggle com 中的一道题目 digit recognizer 题目给出42000条训练数据 包含图片和标签 以及28000条测试数据
  • [Python从零到壹] 七.网络爬虫之Requests爬取作者个人博客网站及CSV存储

    欢迎大家来到 Python从零到壹 在这里我将分享约200篇Python系列文章 带大家一起去学习和玩耍 看看Python这个有趣的世界 所有文章都将结合案例 代码和作者的经验讲解 真心想把自己近十年的编程经验分享给大家 希望对您有所帮助
  • PAJ7620U2手势识别——配置手势数据寄存器(6)

    文章目录 前言 一 手势数据寄存器简介 二 配置步骤 1 突发读操作步骤图 2 模块状态转移图绘制 3 模块波形图绘制 4 上板验证 5 参考代码 i2c ctrl 总结 前言 我们已经把所有操作寄存器配置好了 接下来就可以读取手势数据了
  • 把dataframe的一列设为索引

    df set index 列名 inplace True
  • sql语句中左连接left join查询会出现多余重复数据

    在使用左连接查询left join时 有时会出现同等查询条件下单查左表是两条数据 左连接右表后多出两条数据变成4条 根本原因是当左表和右表是1对1关系时 左右表数据匹配 数据条数和左表相同 当左表和右表出现1对多的情况时 左表的一条数据可以
  • Appium的android真机每次启动手机中都会安装Appium settings和Unclock的方法

    一 需要解决的问题 在部分android机型上每次运行最新版的appium desktop都需要安装AppiumSetting以及Unlock 并且安装过程需要用户手动来确认 即使测试机上已经安装了这两个组件 运行appium也会要求安装
  • 每日技巧分享:怎么做视频剪辑

    随着新媒体时代的到来 刷短视频逐渐取代了大家日常的娱乐方式 并且它的种类也非常丰富 有记录生活的vlog 游戏中的精彩瞬间合集 好物测评 亦或是情景短剧等等 但众所周知 呈现在我们眼前的视频是经历过许多道加工程序的 而剪辑就是重中之重 不过
  • 图像分类篇——AlexNet详解

    一 概述 AlexNet是由2012年ImageNet竞赛参赛者Hinton和他的学生Alex Krizhevsky设计的 AlexNet在当年赢得了ImageNet图像分类竞赛的冠军 使得CNN成为图像分类问题的核心算法模型 同时引发了神
  • vue3 excel 导出功能

    1 安装 xlsx 库 npm install xlsx 2 创建导出函数 src utils excelUtils js import as XLSX from xlsx const exportToExcel fileName data
  • 使用AF(三)

    HIHTTPRequestManager h import
  • 卷积神经网络在自然语言处理的应用

    http www csdn net article 2015 11 11 2826192 发 自然语言处理 神经网络 卷积神经网络 图像处理 CNN NLP allowtransparency true frameborder 0 scro
  • [论文阅读] (22)图神经网络及认知推理总结和普及-清华唐杰老师

    娜璋带你读论文 系列主要是督促自己阅读优秀论文及听取学术讲座 并分享给大家 希望您喜欢 由于作者的英文水平和学术能力不高 需要不断提升 所以还请大家批评指正 非常欢迎大家给我留言评论 学术路上期待与您前行 加油 前一篇从个人角度介绍S P2
  • 什么是操作系统的微内核

    文章目录 1 CPU运行的内核模式和用户模式 2 什么是微内核 3 微内核架构 4 微内核的优势 传送门 gt gt AutoSAR实战系列300讲 糖果Autosar 总目录 操作系统用来管理系统资源的 而内核是操作系统的核心部分 它还充