1.4、操作系统的运行机制和体系结构

news2025/1/16 13:41:03

整体框架

image-20230112230200249

1、运行机制

image-20230112230054721

1.1、什么是指令

image-20230112220849674

简单来说,“指令” 就是处理器(CPU)能识别、执行的最基本命令

比如:加法指令就是让 CPU 进行加法运算


1.2、特权指令&非特权指令

新的问题:

有的指令 “人畜无害” 。

  • 比如:加、减、乘、除这些普通的运算指令。

有的指令有很高的权限。

  • 比如:内存清零指令。如果用户程序可以使用这个指令,就意味着一个用户可以将其他用户的内存数据随意清零,这样做显然是很危险的。

image-20230112221347317


1.3、用户态&内核态

问题:CPU 如何判断当前是否可以执行特权指令?

image-20230112221603087

1.4、内核程序&应用程序

image-20230112221808649

2、操作系统的内核

2.2、内核

问题:操作系统中的哪些功能应该由内核程序实现呢?

例如:我们安装完 Windows 操作系统后,会发现操作系统提供了多种多样的功能,

  • 比如 “记事本”、“任务管理器”。

    然而,这些功能并不是必不可少的。即使没有“任务管理器”,我们仍然可以使用计算机。

image-20230112223503598


内核 \color{red}内核 内核是计算机上配置的底层 软件 \color{red}软件 软件,是操作系统最基本、最核心的部分。

实现操作系统内核功能的那些程序就是 内核程序 \color{red}内核程序 内核程序

image-20230112224127790

3、操作系统的体系结构

3.1、大内核&微内核

image-20230112224733300

例如:有的内核划分如下所示:

image-20230112224509911


类比

操作系统的体系结构问题与企业的管理问题很相似。

内核 \color{red}内核 内核就是企业的 管理层 \color{red}管理层 管理层,负责一些重要的工作。

  • 只有管理层才能执行 特权指令 \color{red}特权指令 特权指令,普通员工只能执行 非特权指令 \color{red}非特权指令 非特权指令
  • 用户态 \color{red}用户态 用户态 核心态 \color{red}核心态 核心态之间的 切换 \color{red}切换 切换相当于普通员工和管理层之间的 工作交接 \color{red}工作交接 工作交接

大内核 \color{red}大内核 大内核:企业初创时体量不大,管理层的人会负责大部分的事情。

  • 优点是效率高;
  • 缺点是组织结构混乱,难以维护。

微内核 \color{red}微内核 微内核:随着企业体量越来越大,管理层只负责最核心的一些工作。

  • 优点是组织结构清晰,方便维护;
  • 缺点是效率低。

4、整体框架

image-20230112230146509

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/162264.html

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

相关文章

【NI Multisim 14.0操作实例——最小系统电路】

目录 序言 🥝1.设置工作环境 🥝 2.设置原理图图纸 🥝 3.设置图纸的标题栏 🥝 4.增加元件 🥝 5.放置电阻 🥝 6.放置无极性电容 🥝 7. 放置可变电容 🥝 8. 放置电感 &#x…

概论_第3章_两个随机变量的函数的分布__卷积公式

前面, 我详细介绍了 一个随机变量函数的概率分布 ,本文开始介绍 两个随机变量的函数。注意, 不能写成 两个随机变量函数, 那就会误认为 两个函数,本文主要介绍两个连续型随机变量的函数, 至于离散型&#x…

网络通信原理——数据传输、OSI模型与TCP/IP、3种数据交换技术

数据传输过程 参考:https://blog.csdn.net/qq_37954088/article/details/80355000、https://baike.baidu.com/item/ARP/609343?fraladdin 基本概念 网络通信的协议体系模型:理想模型OSI(Open System Interconnection);常用模型TCP/IP OS…

C/C++ 字符指针指向字符串的几种方法

字符指针指向字符串的方法 由于字符串在内存中连续存储的特点,可以使用指针进行操作,并且指针必须是字符型的。通常将指针指向字符串的首地址,利用指针的后移可以指向后续字符。 字符指针指向字符串一般有三种的方法: &#xff0…

【MySQL进阶】多版本并发控制——MVCC

【MySQL进阶】多版本并发控制——MVCC 文章目录【MySQL进阶】多版本并发控制——MVCC一:MVCC 原理1:版本链2:ReadView 简介3:访问记录的规则4:READ COMMITTED —— 每次读取数据前都生成一个 ReadView5:REP…

vue入门到精通(四)

三、vue3组合式API 1、组合式API 1.1 什么是组合式API 组合式 API (Composition API) 是一系列 API 的集合,使我们可以使用函数而不是声明选项的方式书写 Vue 组件。它是一个概括性的术语,涵盖了以下方面的 API: 响应式 API:例…

【安卓学习笔记】Activity的生命周期和加载模式

Activity的生命周期 Activity是安卓应用的重要组成单元之一,其对于安卓的作用类似于Servlet对于Web应用的作用。 整个Activity生命周期的图解如下 具体的生命周期可以总结成如下几个步骤 onCreate():Activity启动后第一个被调用的函数,常用…

1819. 序列中不同最大公约数的数目

插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 题目: 给你一个由正整数组成的数组 nums …

四信5G工业路由器全面支持中国移动研究院5G专网质量探针,满足5G专网高质保障需求

面向工业4.0时代,5G行业应用也在不断拓展,大量的5G专网兴起,“一业带百业”效果显著,截至2022年9月,我国5G行业虚拟专网数量已超过1万张,5G已在全国200余家智慧矿山、1700余家智慧工厂、250余个智慧电网项目…

SOFA Weekly|铜锁探「密」、本周贡献 issue 精选

SOFA WEEKLY | 每周精选 筛选每周精华问答,同步开源进展欢迎留言互动~SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件&#…

Shiro【授权、整合Spirng、Shiro过滤器】

前言 本文主要讲解的知识点有以下: Shiro授权的方式简单介绍与Spring整合初始Shiro过滤器 一、Shiro授权 上一篇我们已经讲解了Shiro的认证相关的知识了,现在我们来弄Shiro的授权 Shiro授权的流程和认证的流程其实是差不多的: 1.1Shiro支…

React相关扩展二(Fragment、Content、useContext、组件优化、render props、错误边界)(十)

系列文章目录 第一章:React基础知识(React基本使用、JSX语法、React模块化与组件化)(一) 第二章:React基础知识(组件实例三大核心属性state、props、refs)(二&#xff0…

本周推荐 | AB实验低响应情景解决实践

推荐语:本文针对AB实验低响应情景下的增量效果不显著问题,提出通过倾向得分匹配方案来衡量策略增量效果的方法,并将相关方案融入一休平台科学评估体系中。文章理论与实践相结合,深入浅出,强烈推荐。——大淘宝技术数据…

9个非常有趣的HTML5 Canvas动画特效合集

HTML5技术正在不断的发展和更新,越来越多的开发者也正在加入HTML5阵营,甚至在移动开发上HTML5的地位也是越来越重要了。HTML5中的大部分动画都是通过Canvas实现,因为Canvas就像一块画布,我们可以通过调用脚本在Canvas上绘制任意形…

计算机视觉OpenCv学习系列:第一部分、绪论

第一部分、绪论第一节、计算机视觉发展历程1.计算机视觉发展历史2.计算机视觉的主要任务3.计算机视觉的应用场景第二节、计算机视觉框架1.早期计算机视觉框架概述2.当前主流的框架与路线3.计算机视觉框架的未来趋势第三节、OpenCV框架1.OpenCV的发展历史2.OpenCV模块架构3.Open…

深入理解Disruptor

Disruptor通过缓存行填充,利用CPU高速缓存,只是Disruptor“快”的一个因素,快的另一因素是“无锁”,尽可能发挥CPU本身的高速处理性能。 1 缓慢的锁 Disruptor作为一个高性能的生产者-消费者队列系统,核心就是通过Ri…

面向对象的好处

提到面向对象的好处,一些人脑中可能会冒出:封装继承多态封装 封装:通过类,为数据和方法,提供统一的上下文 但是,函数名,同样也可以提供上下文,并且可以通过一种叫柯里化的技巧&…

比特位计数[动态规划 || bitCount计数]

二进制计数前言一、二进制计数二、动态规划 & bitCount分治统计1、bitCount分治统计2、动态规划总结参考文献前言 二进制计数可以直接基于分治去快速统计,如果是连续数的二进制计数,可以利用前面已经计算出的状态进行递推求解,即动态规划…

Python NumPy 连接数组

前言NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍Python NumPy 连接数组…

使用Java为何总写出C风格的代码?

“你看你所有代码都是把字段取出来计算,然后,再塞回去。各种不同层面的业务计算混在一起,将来有一点调整,所有代码都得跟着变。” 在实际的开发过程中,有不少人都这么写代码的。Java写的代码应该有Java的风格&#xf…