- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.3 输入/输出软件组织 5.3.1 输入/输出软件的层次结构 输入/输出软件的设计目标就是将软件组织成一种层次结构,底层的软件用来屏蔽输入/输出硬件的细节,从而实现上层的设备无关性(即设备独立性,将在5.3.4节介绍),高层软件则主要为用户提供一个统一、规范、方便的接口。 为了实现这个目标,操作系统把输入/输出软件组织分成以下层次: 中断处理程序、设备驱动程序、与设备无关的I/O软件、用户层的输入/输出软件。 图5.5列出了这四个层次以及每层软件的主要功能,其中箭头表示控制流。 5.3.2 中断处理程序 在设备控制器的控制下,I/O设备完成了I/O操作后,控制器便向CPU发出一个中断请求,CPU响应后便转向中断处理程序。 无论是哪种I/O设备,其中断处理程序的处理过程大体相同(如图5.6所示),主要有以下几个阶段: ① 检查CPU响应中断的条件是否满足 如果有来自于中断源的中断请求,并且CPU允许中断,则CPU响应中断的条件满足;否则中断处理无法进行。 5.3.3 设备驱动程序 不同类型的设备应有不同的设备驱动程序,所谓设备驱动程序是指驱动物理设备和DMA控制器或I/O控制等直接进行I/O操作的子程序集合。 设备驱动程序主要负责启动指定设备,即负责设置与相关设备有关的寄存器的值,启动设备进行I/O操作,指定操作的类型和数据流向等。 其具体处理过程是:用户进程发出I/O请求→系统接受这个I/O请求→设备驱动程序具体完成I/O操作→I/O完成后,用户进程重新开始执行。 图5.7是I/O请求处理过程示意图。 5.3.4 与设备无关的I/O软件 1. 设备无关性的概念 为了提高操作系统的可扩展性和适应性,人们提出了设备无关性(即设备独立性)的概念。 其含义是:用户编写的应用程序独立于具体使用的物理设备,即使设备更换了,应用程序也不用改变。 为了实现设备独立性而引入了逻辑设备和物理设备的概念。 所谓逻辑设备是实际物理设备属性的抽象,它并不局限于某个具体设备。 优点: ① 使得设备分配更加灵活。 ② 可以实现I/O重定向。 所谓I/O重定向是指可以更换I/O操作的设备而不必改变应用程序。 2. 与设备无关的软件 设备驱动程序是一个与硬件(或设备)紧密相关的软件,为了实现设备独立性,就必须在驱动程序之上设置一层与设备无关的软件。 其主要功能如下: ⑴ 向用户层软件提供统一接口。 ⑵ 设备命名。 ⑶ 设备维护。 ⑷ 提供一个独立于设备的块。 ⑸ 对独占设备的分配与回收。 ⑹ 缓冲管理。 ⑺ 差错控制。 5.3.5 用户层的I/O软件 用户层的I/O软件是I/O系统软件的最上层软件,负责与用户和设备无关的I/O软件通信,即它面向程序员,当接收到用户的I/O指令后,把具体的请求发送到设备无关的I/O软件,进行进一步的处理。 它主要包含用于I/O操作的库例程和SPOOLing(Simultaneous Peripheral Operations On-Line,即在联机情况下实现的同时外围操作)系统 * 硬件 中断处理程序 设备驱动程序 设备无关类软件 用户程序 层次 I/O请求 I/O应答 I/O功能 进行I/O调用 格式化I/O SPOOLing 命名 保护 阻塞 缓冲 分配 建立设备寄存器 检查状态 当I/O结束时,唤醒驱动程序 执行I/O操作 图5.5 I/O系统的层次结构 判断中断响应条件 关中断 保存被中断现场 分析中断原因,转入中断处理程序 执行中断处理程序 恢复现场 开中断 返回中断点 中断请求 图5.6 中断处理过程 ②CPU响应中断后立即关中断 如果CPU响应中断,则它立即关中断,使其不能再次响应其它中断。 ③保存被中断进程的CPU环境 ④分析中断原因,转入相应的设备中断处理程序 ⑤执行中断处理程序 ⑥恢复被中断进程的CPU现场 ⑦开中断,CPU继续执行 …… …… print(…); …… write(…); 文件操作 写文件 (文件系统) 设备驱动 终端输出 (文件管理) I/O完成中断处理 …… 用户空间 核心空间 系统调用处理 操作系统程序 图5.7 I/O请求处理过程示意图 下面简要说一下此过程,其中重点叙述设备驱动程序的处理过程。 ⑴用户进程发出I/O请求。 ⑵执行到与I/O请求相对应的系统调用后,转去执行操作系统的核心程序,此时进程的状态由用户态转到核心态。 ⑶设备驱动程序是控制设备动作(如设备的打开、关闭、读、写等)的核心模块,,用来控制设备上数据的传输。 一般来说,设备驱动程序接受来自上层与设备无关软件的抽象请求,并
您可能关注的文档
- 路漫漫其修远兮吾将上下而求索46.ppt
- 路由协议原理和配置46.ppt
- 路由器及其基本配置46.ppt
- 路由器的初始化配置.ppt
- 路由选择的基本知识.ppt
- 路虎发现加装电动踏板效果实拍.ppt
- 路面结构力学分析46.ppt
- 跳蚤市场的调查报告46.ppt
- 践行文明公约从我做起46.pptx
- 踏莎行讲解演示文稿46.ppt
- 益瘿散结方含药血清对甲状腺乳头状癌TPC-1细胞增殖及有氧糖酵解的影响.docx
- 中国2020—2024年突破性治疗药物程序使用情况分析.docx
- 知柏地黄汤化裁方对性早熟模型雌鼠Kiss-1_GPR54_GnRH及MKRN3轴的影响.docx
- 药品不良反应应急预案培训试题.docx
- 环泊酚注射液在不同输液溶媒中的配伍稳定性及不同输液器具中相容性考察.docx
- 基于AHM-TOPSIS法评价药学服务对成人ICU中右美托咪定注射液使用合理性的影响.docx
- 房屋市政工程生产安全重大事故隐患判定标准试题.docx
- 大学生安全教育试题及答案.docx
- 山药的质量控制现状及质量标志物预测分析.docx
- 益脑复健方改善缺血性中风后神经损伤的作用机制.docx
最近下载
- 2025年秋期新课标人教版四年级上册数学全册教案(核心素养教案)(230页).docx
- 农机合作社培训.pptx VIP
- 2024年秋季新人教版道德与法治七年级上册全册教案.docx
- 六三制新青岛版六年级科学下册全一册全部课件(共计22课时).pptx VIP
- 2025秋统编版小学道德与法治五年级上册教学计划及进度表(2025-2026学年第一学期).docx VIP
- NB∕SH∕T 0821-2010路用阻燃改性沥青.pdf VIP
- 2025年医院感染控制方案(5篇) .pdf VIP
- 《汽车电工电子基础》教案完整版.pdf VIP
- 功能条线_摩擦震动焊接D.pptx VIP
- 《中国的气候 》课件.ppt VIP
文档评论(0)