【计组OS】I/O方式笔记总结

                                                                            苏泽 

“弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家


目录

IO方式:程序查询方式

工作原理

程序查询方式的详细流程:

1. 初始化阶段

2. 发送I/O命令

3. 循环检查状态

4. 数据传输

5. 继续查询

6. 操作完成

为什么如此效率低下!?

特点

优点

缺点

应用场景

与其他I/O方式的比较

IO方式:中断方式

什么是中断方式?

中断方式的工作原理

中断方式的优势

中断方式的组成部分

应用

向量中断

其实说白了就是个地址罢了 别被名字吓到了

I/O方式:中断方式的中断处理流程

1. 中断请求

2. 中断判优

3. 响应条件

4. 中断隐指令

5. 查询中断服务程序的入口地址

6. 中断处理

7. 恢复现场

8. 中断返回

做个总结吧


IO方式:程序查询方式

程序查询方式是一种基本的I/O操作方式,它依赖于CPU不断检查(查询)I/O设备的状态,以确定设备是否准备好进行数据传输。以下是对程序查询方式的详细讲解:

工作原理

  1. 查询状态:CPU通过发送查询指令来检查I/O设备的状态,判断设备是否准备好接收或发送数据。

  2. 等待设备就绪:如果设备尚未准备好,CPU将继续执行查询,直到设备状态表明它可以接受或发送数据。

  3. 数据传输:一旦设备就绪,CPU将启动数据传输过程,读取或写入数据。

程序查询方式的详细流程:

1. 初始化阶段

  • 在I/O操作开始之前,CPU初始化I/O设备,设置好相关的控制信息,如设备地址等。

2. 发送I/O命令

  • CPU向I/O设备发送读取或写入命令,告知设备即将进行的操作类型。

3. 循环检查状态

  • CPU通过程序不断查询I/O设备的状态,检查设备是否已经准备好进行数据传输。这一步骤是程序查询方式的核心,也是效率较低的原因。(这里有另外一种查询方式:定时查询 就不是一直忙等 而是过一会过来询问准备好没有)

4. 数据传输

  • 一旦I/O设备状态表明它已经准备好,CPU便开始数据的读取或写入操作。

5. 继续查询

  • 在数据传输完成后,CPU继续循环检查设备状态,以确保数据已正确传输,或准备下一次数据传输。

6. 操作完成

  • 当所有数据传输任务完成后,CPU停止查询,结束I/O操作。

为什么如此效率低下!?

刚刚第三步说了cpu一直在忙等 但是他为什么会这样 原因是因为 IO设备的数据寄存器是易失性的,只要在他准备好之后 不马上传输 数据就会消失!!!这是很重要的特点 大题基本上就是靠这个知识点去想的  选择题也是靠他来排除选项

特点

  • 简单性:程序查询方式的实现相对简单,不需要额外的硬件支持。
  • CPU资源占用:由于CPU需要不断查询设备状态,这可能导致CPU资源的浪费,尤其是在设备响应较慢时。

优点

  • 实现容易:不需要复杂的硬件支持,适用于简单的I/O操作。

缺点

  • 效率低:在设备响应时间较长的情况下,CPU的查询操作可能导致效率低下。
  • CPU利用率低:由于CPU需要不断查询,可能无法执行其他任务,降低了CPU的利用率。

应用场景

程序查询方式通常用于对实时性要求不高、I/O设备速度较慢的场景。

与其他I/O方式的比较

与中断方式和DMA(Direct Memory Access)方式相比,程序查询方式在数据传输效率和CPU资源利用上存在劣势。中断方式允许I/O设备在准备好时通知CPU,而DMA方式允许数据在不经过CPU的情况下直接在内存和I/O设备之间传输,这两种方式都能更有效地利用CPU资源。

IO方式:中断方式

在计算机系统中,I/O(输入/输出)操作是连接外部设备与CPU的重要桥梁。中断方式是实现高效I/O操作的一种机制。

什么是中断方式?

中断方式是一种允许I/O设备在需要时主动通知CPU进行服务的机制。这种方式使得CPU不必在每次I/O操作时都持续检查设备状态,从而可以更高效地利用CPU资源。

中断方式的工作原理

  1. 中断请求:当I/O设备需要CPU服务时,它会向CPU发送一个中断请求信号。

  2. 中断判优:如果CPU当前没有处理更高优先级的中断,它会根据中断请求的优先级来决定是否立即响应。

  3. 响应条件:CPU响应中断的条件包括:中断请求已被提出,CPU允许中断且中断功能未被屏蔽,且当前没有执行更高优先级的任务。

  4. 中断隐指令:一旦决定响应中断,CPU会执行一系列隐含指令,包括保存当前任务的状态,切换到中断服务程序。

  5. 中断处理:中断服务程序执行具体的I/O操作,完成后会恢复CPU的状态,使CPU可以回到被中断的任务。

中断方式的优势

  • CPU资源的高效利用:CPU无需在每次I/O操作期间不断检查设备状态,可以执行其他任务。
  • 实时性:中断机制可以快速响应外部设备的服务请求。
  • 灵活性:可以根据中断请求的优先级灵活处理多个I/O设备。

中断方式的组成部分

  • 中断请求:I/O设备向CPU发出的请求信号。
  • 中断判优:硬件电路决定的优先级判断机制。
  • 中断服务程序:处理中断请求的程序代码。
  • 中断隐指令:CPU在响应中断时自动执行的指令序列。

应用

键盘 鼠标 打印机等等

向量中断

这里的“向量”可以理解成 就像c语言里面的指向那样的作用 所以就用了“向量”一词

其实说白了就是个地址罢了 别被名字吓到了

I/O方式:中断方式的中断处理流程

中断方式是计算机系统中一种高效的I/O操作机制,允许I/O设备在需要时主动通知CPU进行服务。以下是中断处理流程的详细步骤:

1. 中断请求

  • 当I/O设备需要CPU服务时,它向CPU发出中断请求信号。

2. 中断判优

  • 如果CPU当前没有处理更高优先级的中断,它会根据中断请求的优先级来决定是否立即响应。

3. 响应条件

  • CPU响应中断的条件包括:
    • 中断源提出中断请求。
    • CPU允许中断并且中断功能未被屏蔽。
    • 一条指令执行完毕且没有更紧迫的任务。

4. 中断隐指令

  • 一旦决定响应中断,CPU会执行一系列隐含指令,包括:
    • 保存断点:记录当前CPU的状态,以便中断处理完毕后能恢复执行。
    • 引出中断服务程序:切换到处理该中断的程序。
    • 完成关中断:在中断服务程序执行期间,可能需要暂时关闭中断,以避免新的中断请求干扰当前处理。

5. 查询中断服务程序的入口地址

  • 中断向量用于查询中断服务程序的入口地址,以便CPU能够跳转到正确的中断处理代码。

6. 中断处理

  • 执行中断服务程序,进行必要的I/O操作。

7. 恢复现场

  • 中断服务程序完成后,CPU需要恢复之前保存的状态,以便能够从中断点继续执行。

8. 中断返回

  • 中断处理完毕后,CPU返回到被中断的任务继续执行。

做个总结吧


另外,利用了工作之余的一点点时间,整理了一套考研408的知识图谱,

我根据这一套知识图谱打造了这样一个408知识图谱问答系统

里面的每一个回答都是根据考研408的考点回复的

目前暂时只接入了微信,如果大家对这个问答系统感兴趣的话可以在我的主页里找到我的微信号

找我拉进测试群免费体验哦


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

reactor和proactor模型

Reactor模型是非阻塞的同步IO模型。在主线程中也就是IO处理单元中,只负责监听文件描述符上是否有事件发生,有的话就立即将事件通知工作线程,将socket可读可写事件放入请求队列,交给工作线程处理。 总而言之就是主线程监听有事件发…

期末考试结束,老师该如何私发成绩?

随着期末考试的落幕,校园里又恢复了往日的宁静。然而,对于老师们来说,这并不意味着工作的结束,相反,一系列繁琐的任务才刚刚开始。 成绩单的发放,就是其中一项让人头疼的工作。家长们焦急地等待着孩子的考试…

可视化作品集(08):能源电力领域

能源电力领域的可视化大屏,有着巨大的用武之地,不要小看它。 监控能源生产和消耗情况: 通过可视化大屏,可以实时监控能源生产和消耗情况,包括发电量、能源供应情况、能源消耗情况等,帮助管理者及时了解能…

14-39 剑和诗人13 - 顶级大模型测试分析和建议

​​​​​ 随着对高级语言功能的需求不断飙升,市场上涌现出大量语言模型,每种模型都拥有独特的优势和功能。然而,驾驭这个错综复杂的生态系统可能是一项艰巨的任务,开发人员和研究人员经常面临选择最适合其特定需求的模型的挑战。…

React中的useMemo和memo

引言 React是一个声明式的JavaScript库,用于构建用户界面。在开发过程中,性能优化是一个重要的方面。useMemo和memo是React提供的工具,用于帮助开发者避免不必要的渲染和计算,从而提升应用性能。 问题背景 在React应用中&#…

Golang | Leetcode Golang题解之第214题最短回文串

题目&#xff1a; 题解&#xff1a; func shortestPalindrome(s string) string {n : len(s)fail : make([]int, n)for i : 0; i < n; i {fail[i] -1}for i : 1; i < n; i {j : fail[i - 1]for j ! -1 && s[j 1] ! s[i] {j fail[j]}if s[j 1] s[i] {fail[i…

【密码学】密码学中的四种攻击方式和两种攻击手段

在密码学中&#xff0c;攻击方式通常指的是密码分析者试图破解加密信息或绕过安全机制的各种策略。根据密码分析者对明文、密文以及加密算法的知识程度&#xff0c;攻击可以分为以下四种基本类型&#xff1a; 一、四种攻击的定义 &#xff08;1&#xff09;唯密文攻击(COA, C…

MySQL学习(7):4种常用函数

1.字符串函数 mysql中内置了很多字符串函数&#xff0c;常用的几种如下&#xff1a; concat(s1,s2,s3...)字符串拼接&#xff0c;将s1,s2,s3...拼接成一个字符串 lower(s1) 将字符串s1全部转为小写upper(s1)将字符串s1全部转为大写lpad(s1,5,*) 如果字符串s1不足5位&#xff…

对BSV区块链的曼达拉网络通俗易懂的解释

​​发表时间&#xff1a;2023年6月15日 BSV区块链正在引入“曼达拉”升级&#xff0c;使BSV区块链网络的拓扑结构能够适配Teranode&#xff0c;适配这个可以大幅扩容的节点软件。BSV区块链上曼达拉网络的概念并不会改变整个系统的核心规则&#xff1b;相反&#xff0c;它能够引…

vue3使用方式汇总

1、引入iconfont阿里图库图标&#xff1a; 1.1 进入阿里图标网站&#xff1a; iconfont阿里&#xff1a;https://www.iconfont.cn/ 1.2 添加图标&#xff1a; 1.3 下载代码&#xff1a; 1.4 在vue3中配置代码&#xff1a; 将其代码复制到src/assets/fonts/目录下&#xff1…

Python打开Excel文档并读取数据

Python 版本 目前 Python 3 版本为主流版本&#xff0c;这里测试的版本是&#xff1a;Python 3.10.5。 常用库说明 Python 操作 Excel 的常用库有&#xff1a;xlrd、xlwt、xlutils、openpyxl、pandas。这里主要说明下 Excel 文档 .xls 格式和 .xlsx 格式的文档打开和读取。 …

python爬虫入门(三)之HTML网页结构

一、什么是HTML 1、网页的三大技术要素&#xff1a; HTML定义网页的结构和信息&#xff08;骨架血肉&#xff09;CSS定义网页的样式&#xff08;衣服&#xff09;JavaScript定义用户和网页的交互逻辑&#xff08;动作&#xff09; 2、一个最简单的HTML&#xff1a;用<>…

【TB作品】51单片机 Proteus仿真 超声波读取+LCD1602显示仿真12MHZ

实验报告&#xff1a;51单片机 Proteus仿真 超声波读取LCD1602显示仿真 一、实验背景 本实验旨在使用51单片机&#xff08;AT89C51&#xff09;结合超声波传感器HC-SR04和LCD1602液晶显示屏&#xff0c;通过Proteus仿真平台实现超声波测距功能&#xff0c;并将测得的距离显示…

基于Python API的机械臂UDP上报设置及读取

睿尔曼机械臂提供了1个可持续读取机械臂状态的接口&#xff0c;UDP通信状态反馈接口。 该接口提供了json协议、API的读取&#xff0c;设置通信开启之后无需再进行设置即可以固定频率读取。 Python程序源码可从以下网盘地址获取&#xff08;地址永久有效&#xff09;&#xff1…

排序(2)

我们在排序&#xff08;1&#xff09;中说到选择排序的代码&#xff1a; void SelectSort(int* a,int n) {int begin0,endn-1;int minibegin,maxbegin;for(int ibegin1;i<end;i){if(a[i]>a[max]){maxii;}if(a[i]<a[mini]){minii;}begin;--end;}Swap(&a[beign],&a…

【NTN 卫星通信】Starlink基于终端用户的测量以及测试概述

1 概述 收集了一些starlink的资料&#xff0c;是基于终端侧部署在野外的一些测试以及测量结果。 2 低地球轨道卫星网络概述 低地球轨道卫星网络(lsn)被认为是即将到来的6G中真正实现全球覆盖的关键基础设施。本文介绍了我们对Starlink端到端网络特征的初步测量结果和观测结果&…

澳大利亚媒体发稿:怎样用图表提高易读性?-华媒舍

媒体发稿的可读性变得尤为重要。读者们不会再有时间与耐心去阅读文章繁琐的文本&#xff0c;他们更喜欢简洁明了的信息展现形式&#xff0c;在其中图表是一种极为高效的专用工具。下面我们就详细介绍怎么使用图表提高澳大利亚新闻媒体发稿的可读性&#xff0c;以适应读者的需要…

day01:项目概述,环境搭建

文章目录 软件开发整体介绍软件开发流程角色分工软件环境 外卖平台项目介绍项目介绍定位功能架构 产品原型技术选型 开发环境搭建整体结构&#xff1a;前后端分离开发前后端混合开发缺点前后端分离开发 前端环境搭建Nginx 后端环境搭建熟悉项目结构使用Git进行版本控制数据库环…

VSCode使用SSH无需输入密码远程连接服务器

目录 一、密钥生成 1、使用windows11自带的命令行 2、使用putty工具 二、查看密钥 三、设置服务器 这个过程是比较简单的&#xff0c;为了方便后续留用和查看&#xff0c;整理个笔记放着。 一、密钥生成 1、使用windows11自带的命令行 在任一文件夹中&#xff0c;空白处…

2024世界人工智能大会,神仙打架

B站&#xff1a;啥都会一点的研究生公众号&#xff1a;啥都会一点的研究生 AI圈最近又发生了啥新鲜事&#xff1f; 该栏目以周更频率总结国内外前沿AI动态&#xff0c;感兴趣的可以点击订阅合集以及时收到最新推送 B站首秀世界人工智能大会&#xff0c;展示自研AI技术与AIGC…