操作系统教材第6版——个人笔记3

news2024/11/16 3:21:01

2.1 处理器

2.1.1 处理器与寄存器

处理器部件的简单示意

用户程序可见寄存器

  • 可以使程序员减少访问主存储器的次数,提高指令执行的效率
  • 所有程序可使用,包括应用程序和系统程序
  • 数据寄存器:又称通用寄存器
  • 地址寄存器:索引、栈指针、段地址等寄存器

控制与状态寄存器

  • 用于控制处理器的操作;主要被具有特权的操作系统程序使用,以控制程序的执行
  • 程序计数器PC:存储将取指令的地址
  • 指令寄存器IR:存储最近使用的指令
  • 条件码CC:CPU为指令操作结果设置的位,标志正/负/零/溢出等结果 标志位:中断位、中断允许位、中断屏蔽位、处理器模式位、内存保护位、…,等

程序状态字PSW

  • PSW既是操作系统的概念,指记录当前程序运行的动态信息,通常包含: 程序计数器,指令寄存器,条件码 中断字,中断允许/禁止,中断屏蔽,处理器模式,内存保护、调试控制 PSW也是计算机系统的寄存器 通常设置一组控制与状态寄存器 也可以专设一个PSW寄存器

2.1.2 指令与处理器模式

机器指令

  • 机器指令是计算机系统执行的基本命令,是中央处理器执行的基本单位
  • 指令由一个或多个字节组成,包括操作码字段、一个或多个操作数地址字段、以及一些表征机器状态的状态字以及特征码
  • 指令完成各种算术逻辑运算、数据传输、控制流跳转

指令执行过程

  • CPU根据PC取出指令,放入IR,并对指令译码,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行
  • 一种指令执行步骤如下: #取指-解码-执行
  • 取指:根据PC从存储器或高速缓冲存储器中取指令到IR
  • 解码:解译IR中的指令来决定其执行行为
  • 执行:连接到CPU部件,执行运算,产生结果并写回,同时在CC里设置运算结论标志;跳转指令操作PC,其他指令递增PC值

指令执行周期与指令流水线

特权指令与非特权指令

  • 特权指令:只能被操作系统内核使用的指令 #特权只有系统内核用
  • 非特权指令:能够被所有程序使用的指令 #非特权所有程序可以用

处理器模式

  • 设置处理器模式实现特权指令管理 一般设置0、1、2、3等四种运行模式,建议分别对应:0OS内核、1系统调用、2共享库程序、3用户程序等保护级别
  • 0模式可以执行全部指令;3模式只能执行非特权指令;其他每种运行模式可以规定执行的指令子集
  • 操作系统常用的处理器模式
  • 一般来说,现代操作系统只使用0和3两种模式,分别对应于内核模式和用户模式 #目前os只用0内核3用户

处理器模式的切换

  • 中断、异常或系统异常等事件导致用户程序向OS内核切换,触发:用户模式→内核模式
  • 程序请求操作系统服务
  • 程序运行时发生异常
  • 程序运行时发生并响应中断 #程序请求系统服务、运行异常、中断
  • OS内核处理完成后,调用中断返回指令(如Intel的iret)触发:内核模式→用户模式

2.2 中断管理

2.2.1 中断

中断的概念

  • 中断是指程序执行过程中,遇到急需处理事件时,暂时中止CPU上现行程序的运行,转去执行相应的事件处理程序,待处理完成后再返回原程序被中断处或调度其他程序执行的过程 #程序进行中中断现行程序处理另一个程序再返回原程序被中断处
  • 中断是激活操作系统的唯一方式

中断、异常与系统异常

  • 狭义的中断指来源于处理器外的中断事件,即与当前运行指令无关的中断事件,如I/O中断、时钟中断、外部信号中断等
  • 异常指运行指令引起的中断事件,如地址异常、算术异常、处理器硬件故障等
  • 系统异常指执行陷入指令而触发系统调用引起的中断事件,如请求设备、请求I/O、创建进程等

2.2.2 中断源

处理器硬件故障中断事件

  • 由处理器、内存储器、总线等硬件故障引起的中断事件
  • 处理原则为:保护现场,停止设备,停止CPU,向操作员报告,等待人工干预 #硬件故障解决=保现+停机+停cpu+报告+人工

程序性中断事件

  • 处理器执行机器指令引起的中断事件
  • 除数为零、操作数溢出等算术异常:简单处理,报告用户;也可以由用户编写中断续元程序处理
  • 非法指令、用户态使用特权指令、地址越界、非法存取等指令异常:终止进程
  • 终止进程指令:终止进程
  • 虚拟地址异常:调整内存重新执行指令

自愿性中断事件(系统调用)

  • 处理器执行陷入指令请求OS服务引起的中断事件;又被称作系统调用
  • 请求分配外设、请求I/O、等等
  • 处理流程是:陷入OS,保护现场,根据功能号查入口地址,跳转具体处理程序

I/O中断事件

  • 来源于外围设备,用于报告I/O状态的中断事件
  • I/O完成:调整进程状态,释放等待进程,加入就绪进程队列
  • I/O出错:等待人工干预
  • I/O异常:等待人工干预

外部中断事件

  • 由外围设备发出的信号引起的中断事件
  • 时钟/间隔时钟中断:记时与时间片处理
  • 设备报到与结束中断:调整设备表
  • 键盘/鼠标信号中断:根据信号作出相应反应
  • 关机/重启动中断:写回文件,停止设备与CPU

2.2.3 中断系统1

中断系统

  • 中断系统是计算机系统中响应和处理中断的系统,包括硬件子系统和软件子系统两部分 #中断os=硬件子os+软件子os
  • 断响应由硬件子系统完成
  • 中断处理由软件子系统完成 #断响应

中断响应处理与指令执行周期

中断装置

  • 计算机系统中发现并响应中断/异常的硬件装置称为中断装置
  • 这些中断装置因计算机而异,通常有:
  • 处理器外的中断:由中断控制器发现和响应
  • 处理器内的异常:由指令的控制逻辑和实现线路发现和响应,相应机制称为陷阱
  • 请求OS服务的系统异常:处理器执行陷入指令时直接触发,相应机制称为系统陷阱

中断响应过程

  • 发现中断源,提出中断请求
  • 发现中断寄存器中记录的中断
  • 决定这些中断是否应该屏蔽
  • 当有多个要响应的中断源时,根据规定的优先级选择一个
  • 中断当前程序的执行
  • 保存当前程序的PSW/PC到核心栈
  • 转向操作系统的中断处理程序 #发现源-请求中断-看记录决定屏蔽-多个优先级高先-中断-保存psw/pc-os中断程序

 2.2.3 中断系统2

中断处理程序

  • OS处理中断事件的控制程序, 主要任务是处理中断事件和恢复正常操作

中断处理过程

  • 保护未被硬件保护的处理器状态
  • 通过分析被中断进程的PSW中断码字段,识别中断源
  • 分别处理发生的中断事件
  • 恢复正常操作

中断系统处理流程

2.2.4 多中断的响应与处理

中断屏蔽

  • 当计算机检测到中断时,中断装置通过中断屏蔽位决定是否响应已发生的中断
  • 有选择的响应中断

中断优先级

  • 当计算机同时检测到多个中断时, 中断装置响应中断的顺序,有优先度的响应中断
  • 一种可能的处理次序:
  • 处理机硬件故障中断事件
  • 自愿性中断事件
  • 程序性中断事件
  • 时钟等外部中断事件
  • 输入输出中断事件
  • 重启动和关机中断事件 #不同类型操作系统有不同的中断优先级

中断的嵌套处理

  • 当计算机响应中断后,在中断处理过程中,可以再响应其他中断
  • 操作系统是性能攸关程序系统,且中断响应处理有硬件要求,考虑系统效率和实现代价问题,中断的嵌套处理应限制在一定层数内,如3层
  • 中断的嵌套处理改变中断处理次序,先响应的有可能后处理

多中断的响应与处理

  • 中断屏蔽可以使中断装置不响应某些中断 #可屏蔽
  • 中断优先级决定了中断装置响应中断的次序 #可前后
  • 中断可以嵌套处理,但嵌套层数应有限制 #有限制
  • 中断的嵌套处理改变了中断处理的次序 #可改序

多重中断处理-顺序

  • X、Y两个中断同时发生
  • 先响应X
  • 因Y被屏蔽,继续处理X
  • 再响应并处理Y #同时发生 某个被屏蔽不响应 响应并处理未屏蔽 再处理屏蔽

多重中断处理-嵌套

  • X、Y两个中断同时发生
  • 根据中断优先级,先响应X
  • 因未屏蔽Y,再响应并处理Y
  • Y处理完成后,再处理X #同时发生 优先级优先响应 响应并处理未屏蔽 再处理优先响应

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

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

相关文章

妙手ERP接入TEMU美国本土店,支持高效产品刊登、订单管理、库存管理

​​​​​​​ 众所周知,拼多多向来是低价卷王,而TEMU完美继承了拼多多的基因,靠着全托管模式一路狂奔,两年多便扩展至全球60个国家与地区,市场规模预计达到450亿美元,吸引着越来越多的卖家入驻。 在平台…

32C3-2模组与乐鑫ESP32­-C3­-WROOM­-02模组原理图、升级口说明

模组原理图: 底板原理图: u1 是AT通信口,wiif-tx wifi-rx 是升级口,chip-pu是reset复位口,GPIO9拉低复位进入下载模式 ESP32-WROOM-32 系列硬件连接管脚分配 功能 ESP32 开发板/模组管脚 其它设备管脚 下载固件…

Unity DOTS技术(八)状态组件

文章目录 一,简介二.实例 一,简介 因为在ECS中没有回调,因而无从得知组件是否被销毁.所以我们需要使用ISystemStateComponentData. 什么时ISystemStateComponentData状态组件? 当物体被销毁时ISystemStateComponentData组件不会被销毁.因而我们可以在组件被销毁时在该组件中…

搭建大型分布式服务(三十八)SpringBoot 整合多个kafka数据源-支持protobuf

系列文章目录 文章目录 系列文章目录前言一、本文要点二、开发环境三、原项目四、修改项目五、测试一下五、小结 前言 本插件稳定运行上百个kafka项目&#xff0c;每天处理上亿级的数据的精简小插件&#xff0c;快速上手。 <dependency><groupId>io.github.vipjo…

Clo3D导出服装动画,使用Unity3D展示

1.前言 Clo3D是一款应用于时装行业的3D服装设计软件,其强大的布料模拟算法可在3D空间中实现设计、制版、试衣和走秀,大幅提升数字作品逼真度和制作效率。为了让服装动画效果展示在Unity3D上模拟效果&#xff0c;需要Clo3D模拟出逼着的衣服动画。总体流程为Clo3D - Mixamo -Blen…

废酸再生工艺的稳定性强优势

废酸再生工艺&#xff0c;作为现代工业中一项重要的环保技术&#xff0c;其核心目的是将工业生产过程中产生的废酸进行回收、处理和再利用&#xff0c;以实现资源的节约和环境的保护。这一工艺不仅有助于减少废酸对环境的污染&#xff0c;还能为企业带来显著的经济效益。 一、废…

idea实用快捷键(持续更新...)

文章目录 1、快速输入try/catch/finally2、选中多个光标3、实现接口4、方法参数提示5、查看某个类的子类6、弹出显示查找内容的搜索框 1、快速输入try/catch/finally CtrlAltT 2、选中多个光标 ShiftAlt单机多选 End可以全部到行尾&#xff0c;Home则可以全部回到行首 3、实现接…

MySQL的增删改查2

文章目录 1. 数据库约束1.1 约束类型1.2 NOT NULL约束1.3 UNIQUE唯一约束1.4 DEFAULT默认值约束1.5 PRIMARY KEY主键约束1.6 FOREIGN KEY外键约束1.7 CHECK约束 2. 新增3. 查询3.1 聚合查询3.1.1 聚合函数3.1.2 GROUP BY子句3.1.3 HAVING 3.2 联合查询3.2.1 内连接3.2.2 外连接…

慧天卓特:2024年“一带一路”之哈萨克斯坦旱情监测案例分析(FYDI)

引言 联合国防治荒漠化公约组织指出&#xff1a;中亚约有1200万人生活在干旱风险高的地区&#xff0c;面积约为4000万公顷。位于亚洲中部的哈萨克斯坦共和国&#xff08;简称哈萨克斯坦&#xff09;和中国有着长期友好的睦邻和经贸关系&#xff0c;中国是哈萨克斯坦的主要农产…

C++:day3

思维导图 练习题 #include <iostream> using namespace std;class Per { private:string name;int age;int *height;double weight;public:Per(){cout << "Per::无参构造函数" << endl;}Per(string name, int age, int height, double weight) :…

2004NOIP普及组真题 2. 花生采摘

线上OJ&#xff1a; 【04NOIP普及组】花生采摘 核心思想&#xff1a; 1、本题为贪心即可。 2、因为本题严格限制了顺序&#xff0c;所以先把每个节点的花生数量按降序排序。然后逐一判断下一个花生是否需要去采摘即可 3、每一次采摘完&#xff0c;记录耗时 t 以及采集的花…

GPT-4o(OpenAI最新推出的大模型)

简介&#xff1a;最近&#xff0c;GPT-4o横空出世。对GPT-4o这一人工智能技术进行评价&#xff0c;包括版本间的对比分析、GPT-4o的技术能力以及个人感受等。 方向一&#xff1a;对比分析 GPT-4o&#xff08;OpenAI最新推出的大模型&#xff09;与GPT-4之间的主要区别体现在响应…

SSM框架整合,内嵌Tomcat。基于注解的方式集成

介绍&#xff1a; SSM相信大家都不陌生&#xff0c;在spring boot出现之前&#xff0c;SSM一直是Java在web开发中的老大哥。现在虽说有了spring boot能自动整合第三方框架了&#xff0c;但是现在市面上任然有很多老项目是基于SSM技术的。因此&#xff0c;能熟练掌握SSM进行开发…

Python接入淘宝API接口采集商品详情页到手价优惠券信息数据:智能化营销的加速器

在电子商务领域&#xff0c;智能化营销正在成为提高效率和竞争力的关键。淘宝API提供了一套完整的解决方案&#xff0c;帮助商家实现智能化营销&#xff0c;从而提升销售业绩和顾客满意度。 库存管理&#xff1a; 淘宝API使商家能够实时监控库存水平&#xff0c;自动补货&#…

【康耐视国产案例】智能AI相机:深度解析DataMan 380大视野高速AI读码硬实力

随着读码器技术的不断更新迭代&#xff0c;大视野高速应用成为当前工业读码领域的关键发展方向。客户对大视野高速读码器的需求源于其能显著减少生产成本并提升工作效率。然而&#xff0c;大视野应用场景往往伴随着对多个条码的读取需求&#xff0c;这无疑增加了算法的处理负担…

VCAST创建单元测试工程

1. 设置工作路径 选择工作目录,后面创建的 UT工程 将会生成到这个目录。 2. 新建工程 然后填写 工程名称,选择 编译器,以及设置 基础路径。注意 Base Directory 必须要为代码工程的根目录,否则后面配置环境会失败。 这样工程就创建好了。 把基础路径设置为相对路径。 …

LabVIEW储油罐监控系统

LabVIEW储油罐监控系统 介绍了基于LabVIEW的储油罐监控系统的设计与实施。系统通过集成传感器技术和虚拟仪器技术&#xff0c;实现对储油罐内液位和温度的实时监控&#xff0c;提高了油罐监管的数字化和智能化水平&#xff0c;有效增强了油库安全管理的能力。 项目背景 随着…

算法与数据结构高手养成:朴素的贪心法(下)二分答案

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

Plotly的魔力:如何用Python创建令人惊叹的图表?

大家好&#xff0c;在数据分析和可视化领域&#xff0c;图表是不可或缺的工具。它们可以帮助我们更直观地理解数据趋势和模式。今天&#xff0c;我们要介绍的是一个强大的Python库——Plotly&#xff0c;它可以让你轻松创建交互式、漂亮的图表。无论你是数据科学家、分析师&…

计算机网络到底是指什么?

计算机网络是信息技术领域中最为核心和复杂的一部分&#xff0c;它涵盖了众多的技术原理和应用。下面&#xff0c;我们将从技术层面深入探讨计算机网络的相关内容。 一、计算机网络的分层模型 计算机网络的分层模型是网络通信的基石&#xff0c;它将网络通信过程划分为不同的层…