




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.3输入输出软件组织,5.3.1输入输出软件的层次结构输入输出软件的设计目标就是将软件组织成一种层次结构,底层的软件用来屏蔽输入输出硬件的细节,从而实现上层的设备无关性(即设备独立性,将在5.3.4节介绍),高层软件则主要为用户提供一个统一、规范、方便的接口。为了实现这个目标,操作系统把输入输出软件组织分成以下层次:中断处理程序、设备驱动程序、与设备无关的I/O软件、用户层的输入输出软件。图5.5列出了这四个层次以及每层软件的主要功能,其中箭头表示控制流。,层次,I/O请求,I/O应答I/O功能,进行I/O调用格式化I/OSPOOLing命名保护阻塞缓冲分配建立设备寄存器检查状态当I/O结束时,唤醒驱动程序执行I/O操作,图5.5I/O系统的层次结构,5.3.2中断处理程序,在设备控制器的控制下,I/O设备完成了I/O操作后,控制器便向CPU发出一个中断请求,CPU响应后便转向中断处理程序。无论是哪种I/O设备,其中断处理程序的处理过程大体相同(如图5.6所示),主要有以下几个阶段:检查CPU响应中断的条件是否满足如果有来自于中断源的中断请求,并且CPU允许中断,则CPU响应中断的条件满足;否则中断处理无法进行。,返回中断点,中断请求,图5.6中断处理过程,CPU响应中断后立即关中断如果CPU响应中断,则它立即关中断,使其不能再次响应其它中断。保存被中断进程的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.7I/O请求处理过程示意图,下面简要说一下此过程,其中重点叙述设备驱动程序的处理过程。用户进程发出I/O请求。执行到与I/O请求相对应的系统调用后,转去执行操作系统的核心程序,此时进程的状态由用户态转到核心态。设备驱动程序是控制设备动作(如设备的打开、关闭、读、写等)的核心模块,用来控制设备上数据的传输。,一般来说,设备驱动程序接受来自上层与设备无关软件的抽象请求,并执行该请求。如果请求到来时驱动程序是空闲的,那么它就立即执行该请求;反过来,若它正忙于处理前面的请求,就把新请求放入未完成请求队列中,并尽快予以处理。下面就来介绍一下它的处理过程:将抽象要求转换为具体要求。检查I/O请求的合法性。检查设备状态,发送启动命令,同时传送必要的参数。启动I/O设备。,I/O完成后,由通道(或设备)产生中断信号。CPU接到中断请求后,如果条件符合(中断优先级高于运行程序的优先级),则响应中断,然后转去执行相应的中断处理程序,唤醒因等待I/O完成而睡眠的进程,调度用户进程继续运行。,综上所述,设备驱动程序有如下功能:可将接收到的抽象要求转换为具体要求。接受用户的I/O请求。设备驱动程序将用户的I/O请求排在请求队列的队尾,检查I/O请求的合法性,了解I/O设备的状态,传递有关参数等。取出请求队列中队首请求,将相应设备分配给它。然后启动该设备工作,完成指定的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指令后,把具体的请求发送到设备
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 园林亮化施工方案范本
- 物流安全题库及答案解析
- 威海降噪声屏障施工方案
- 2025年水利水电工程师考试试卷及答案
- 江西新型墙体板施工方案
- 2025广西天峨现代林业投资有限公司招聘高级管理人员1人考试参考试题及答案解析
- 2025年木工职业技能理论知识考试题库(附答案)
- 2025年9月江苏南京市溧水区中医院招聘备案制人员15人考试模拟试题及答案解析
- 2025幼儿事业单位面试试题及答案
- 碎渣机电机大修施工方案
- 葫芦种植技术
- 热敏电阻器配方设计与制备工艺详解
- 监理工程师题库检测试题打印含答案详解【完整版】
- 《英语(第三版)》课件-Unit 3
- 2025-2026学年九年级英语上学期第一次月考 (江苏省连云港专用)原卷
- 2《归园田居》任务式公开课一等奖创新教案(表格式)统编版高中语文必修上册
- GB/T 18380.12-2022电缆和光缆在火焰条件下的燃烧试验第12部分:单根绝缘电线电缆火焰垂直蔓延试验1 kW预混合型火焰试验方法
- GB/T 13912-2020金属覆盖层钢铁制件热浸镀锌层技术要求及试验方法
- GB 12326-2000电能质量电压波动和闪变
- 《空气动力学》配套教学课件
- 安全经验分享食物中毒
评论
0/150
提交评论