




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章设备管理、设备管理的任务是按用户要求访问外部设备,系统按一定的算法分配管理控制,用户无需在意设备的实际地址和控制指令。 尽可能提高输入输出设备的利用率,如主机和外围设备,外围设备和外围设备之间的真正并行工作能力,发挥设备管理的功能,实现分配设备的控制和真正的输入输出操作,管理输入输出缓冲器,在一些大系统中实现虚拟设备技术,5.1 I/O系统,5 . I/O设备的类型(1)根据使用特性存储:的设备,也称为外部存储器或备份存储器的输入输出设备,可分为输入设备、输出设备和交互设备。 (2)按速度分类:低速设备:键盘中速设备:打印机高速设备:磁盘。5.1 I/O系统,(3)按信息交换单位分类:块
2、设备:磁盘、高地址字符设备:打印机、低地址字符设备(4)按设备共享属性分类:垄断:关键资源共享:磁盘虚拟:自身垄断了一些属性2、设备和控制器之间的接口,3种信号: (1)数据信号:双向,有缓冲器(2)控制信号:控制器发送到设备,请求相关操作(3)完成的状态信号:设备被发送到控制器,后者被“显示”,控制器、CPU 控制逻辑、数据、状态、控制、5.1 I/O系统、5.1.2设备控制器、1、功能:接收CPU命令,控制I/O设备的操作,并释放CPU。 适当的Register对指令(“指令寄存器”)数据交换CPU控制器的存储数据寄存器的设备状态的理解和报告设备控制器应用“状态寄存器”地址,识别CPU通过
3、“地址”与设备通信,设备控制器控制的设备地址及其数据缓冲器错误控制,5.1.2设备控制器,2,设备控制器和构成CPU的接口信号线:数据线(独立地址,存储器地址),地址线,控制线设备控制器和设备的接口I/O逻辑:在其控制下执行引入5.1.3 I/O通道、1、通道的特殊I/O指令的处理器可与CPU共享存储器,并具有独特总线。 引入目的,释放CPU对I/O的组织管理。 CPU只需向通道发送I/O命令,通道就可以通过调用内存中的相应通道程序来完成任务。5.1.3 I/O信道、2、类型字节复用信道:(图5-3 )各子信道以时间片旋转方式共享信道,适用于低、中速设备。 数组选择通道:没有子信道,只有主信道
4、,某一时间被某个设备独占,适合高速设备。 然而,信道不共享,并且利用率低。 数组复用信道:综合了前面两种信道类型的优点。5.1.3 I/O通道、3、通道“瓶颈”问题:价格低廉的解决方案:复合方式、5.1.4总线系统、微机I/O系统、isa/eisa本地总线: VESA/PCI。 5.2 I/O控制方式、4阶段:程序I/O中断I/ODMA控制信道控制。 趋势减少主机对I/O控制的参与并释放CPU。 5.2.1程序I/O (繁忙待机方式)、查询方式: CPU花费成本,I/O状态(图5-7a) CPU资源浪费非常大。 例如,99.9ms 0.1ms=100ms是5.2.1,99.9很忙等,5.2.2
5、中断I/O,向I/O发出命令来执行其他任务。 I/O中断由CPU转发相应的中断处理程序。 例如,数据读取结束后以中断方式通知CPU,CPU从I/O存储器完成数据,5.2.3 DMA方式用于块设备,导入中断I/O,每次完成时“字节”传送CPU产生中断。 DMA:DMA控制器直接控制总线传输数据块。 DMA控制器已从I/O内存完成。 DMA控制器构成一组寄存器控制逻辑。 CR (指令/状态寄存器) DR (数据寄存器) MAR (存储器地址寄存器) DC (计数器寄存器) DMA动作进程(例):5.2.4 I/O通道控制方式,DMA方式:要读取多个单独块,还需要什么? 通道方式: CPU只提供(1
6、)通道程序的开头地址即可。(2)访问I/o设备时,通道程序完成一个块的操作,5.3缓冲管理、目的:组织管理、分配、释放buffer 5.3.1引入1.CPU与I/o设备之间的速度不匹配矛盾减轻。 例如,减少对计算打印缓冲器打印的2.cpu的中断频率,例如缓冲器越大,缓冲器全信号的发生频率越低。 3 .一个数据块的数据处理时间: Max(C,T) M用户进程什么时候被阻止,因为它提高了CPU和I/O的并行性,5.3.2单缓冲区,c和t可以并行,m和c或m和t不能并行? 5.3.2双缓冲,效率提高了。 系统处理一块数据的时间相当于MAX(C,t )收发可以同时向双向传输的时间。 (图513 )、图
7、5-13双通信时的缓冲器的设定、5.3.3循环多缓冲器、类型: R:空气缓冲器g :完全缓冲器c :当前的缓冲器nexttg :指示下一个应取得的数据的buf nexti :下一个空的buf . getbuf :提供支持next TG的缓冲区以指示环路多缓冲区的使用,设置当前指针,Nextg=(Nextg 1)Mod N提供支持nextti的缓冲区,将nextti设置为完全,next ti=。 如果modnreleasebuf:变满,则变更为g,如果c为空,则变更为r,循环多缓冲器的同步问题,Nexti追上nexttg :表示输入速度输出速度,全部buf满时,输入进程下一个直通5.3.4缓冲池
8、,缓冲池:系统提供的通用缓冲器一,配置:可以用于输入和输出的通用缓冲池必须至少包含以下三种缓冲器。 满足输入数据的缓冲器输出数据满足的缓冲器。 三个队列:空缓冲队列emq输入队列inq输出队列outq的四个工作缓冲器: hin :容纳输入数据sin :提取输入数据hout :容纳输出数据sout :提取输出数据,2、4个工作模式,1 .容纳输入I,/,o,I,/,o,用户进程,1,2,hin,hout,emq,outq,4,3,5.3缓冲区管理,1.hin=getbuf(emq ); putbuf(inq,hin) 2.sin=getbuf(inq )计算putbuf(emq,sin )3.
9、hout=getbuf (emq ) putbuf (outq,hout) 4.sout=getbuf(outq )输出等待(毫秒(类型) ); b (数字) :=take buf (类型)信号(ms (类型) ); end,Putbuf(type) Begin wait(MS(type ) ); addbuf (类型,编号); 信号(毫秒(类型) ); 信号(RS (type ) ); end,5.4I/O软件,5.4.1 I/O软件的设计目标和原则提高了系统效率,提高了通用性,用户1 )不需要了解具体设备,实现的细节2 )统一命名,以逻辑名称访问设备3 )错误的处理,接近硬件屏蔽设备之间的
10、差异5 )设备的分配和释放垄断设备和共享设备6) I/O控制方式,为顶层软件提供了统一的操作界面,在I/O软件下与硬件有着密切的关系,与用户直接对话,与流程管理、内存、文件管理等I/O软件已经采用分层结构,将系统中的设备操作和管理软件分成几层,各层利用其下层的服务,完成输入输出功能的一部分子功能,截断这些功能实现的细节,为上层提供服务。 5.4.1 I/O软件的设计目标和原则,(1)用户层软件:实现与用户交互的界面,用户可以直接调用与用户层提供的I/O操作有关的库函数,操作设备。 (2)设备独立性软件:实现与设备驱动器的集成接口、设备命名、设备保护、设备分配和释放等,同时提供设备管理和数据传输
11、所需的存储空间。 (3)设备驱动程序:与硬件直接相关,具体实现系统向设备发出的操作指令,使I/O设备工作的驱动程序。(4)中断处理程序:保存中断进程的CPU环境,转移到相应的中断处理程序进行处理,处理结束后返回中断进程的现场返回中断处理。 I/O设备的控制广泛采用中断驱动方式进行过程上下文的切换、处理中断信号源的测试、设备状态的读取、过程状态的修改等。 中断处理程序的处理步骤: 1个块的驱动(程序)进程2保护中断进程的CPU环境,处理器状态字PSW和程序计数器(PC) 3分析中断原因,在相应的设备处理程序4的中断处理中中断是正常还是异常结束,5恢复中断程序的现场,保存在中断堆栈的现场信息中的流
12、程:设备启动I/O完成中断CPU调用中断处理程序,5.4.2中断处理程序,图5-17中断现场保护图,图5-18中断处理流程o必须检查操作是否发生错误,向上级软件报告,最终向调用方报告这次I/O的执行情况。 I/O进程和设备控制器之间的通信程序的主要任务是:接收来自上位软件的抽象I/O请求,例如read或write命令,将其转换为具体的请求,然后发送到设备控制器,启动设备执行因为驱动程序与硬件密切相关,所以在某些情况下,您可能需要在不同的设备上配置驱动程序,而在两种非常类似的设备上配置驱动程序。 5.4.3设备驱动程序(设备驱动程序)、1设备驱动程序的功能(1)从设备独立性软件接收命令和参数,并
13、将命令中的抽象请求转换为具体请求。 (2)检查用户I/O请求的有效性,了解I/O设备的状态,传递参数,设定设备的工作方式。 (3)发出I/o命令。 如果设备处于空闲状态,请立即启动I/O设备,并完成指定的I/O操作。如果设备处于繁忙状态,请将请求者的请求块置于设备队列中等待。 (4)及时响应来自控制器或信道的中断请求,并根据该中断类型调用并处理适当的中断处理程序。 (5)在设置了频道的计算机系统中,驱动器应该可以根据用户的I/O要求自动地构成频道程序。 2设备处理方式(1)的目的是为每个类设置进程,并对该类的设备执行I/O操作。 (2)在整个系统上配置I/O进程,以执行系统中所有设备的I/O操
14、作。 您还可以配置输入和输出进程,以单独处理系统中所有设备的I/o操作。 (3)不设定专用的设备处理过程,只设定与各种设备对应的设备处理程序(模块),调用用户进程或系统进程。 3设备驱动程序的特征(1)驱动程序主要是指请求I/O的过程和设备控制器之间的通信和转换程序。 (2)驱动程序与设备控制器和I/O设备的硬件特性密切相关,因此必须为不同类型的设备配置不同的驱动程序。 (3)驱动器与I/O设备所采用的I/O控制方式密切相关。 (4)因为驱动程序与硬件密切相关,所以其中的一部分必须用汇编语言写。 (5)司机同意允许再入。 (6)驱动程序不允许系统调用。 1 )将抽象的请求转换为具体的请求;2
15、)检查i/o请求的合法性;3 )读取设备的状态并检查;4 )传送必要的参数;5 )设定工作模式;6 )启动i/o设备驱动程序并发行i/o命令,是基本的通常,I/O操作需要很多工作,盘块内的数据的读取/写入等时间,此时,驱动器(程序)进程会阻塞自己直到中断出现为止,并使其醒来。 4设备驱动程序的处理过程,第一设备独立性的概念的基本意义是与:应用程序具体使用的物理设备独立。应用程序使用逻辑设备名称来请求设备类型。如果系统实际运行,则还必须使用物理设备名称。 系统需要将逻辑设备名转换为物理设备名的功能。 5.4.4设备独立性软件,2设备独立性软件在驱动程序上设置软件,称为设备独立性软件。 设备独立性
16、软件的主要功能: (1)执行所有设备的公开操作。 如果将逻辑设备名映射到物理设备名,包括分配和回收:的独立设备,则可以找到相应的物理设备驱动程序,保护设备,并禁止用户直接访问设备的缓冲器管理错误控制将独立于设备的逻辑块(2)映射到3实现逻辑设备名到物理设备名的映射1 )逻辑设备表(LUT、logical unit表)设置了逻辑设备表,用于将应用程序中使用的逻辑设备名映射到物理设备名。 在用户进程第一次请求设备时完成映射,为LUT生成项,并在分配进程中通过LUT获得逻辑名称,以及物理设备及其驱动器条目。 LUT的设置(1)整个系统需要LUT表:不重复逻辑名称,(通常用于单用户系统) (2)每个用户有一个LUT表。 可以重复/限制用户在某些设备上的使用。 优点:在设备分配更灵活的逻辑设备和物理设备之间可以设置很多映射关系。 提高了物理设备的共享性和使用的灵活性。 例如,某个逻辑名称可对应于这种设备而提升均衡性和容错性。 一些逻辑名称可对应于一个装置,且可增加共享性。 I/O重定向很容易。 不改变程序,只改变LUT表的映射关系。 一般来说,大多数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届甘肃省张掖市二中高一物理第二学期期末经典模拟试题含解析
- 2024杭州师范大学辅导员招聘笔试真题
- 初探“翻转课堂”在传统课程中的教学效率应用研究
- 2025年地理信息大数据合作协议书
- 2025年淮南市潘集区科技工业信息化局招聘笔试考试试题【答案】
- 2025年廊坊香河县招聘教师考试笔试试题【答案】
- 2025年山东青岛西海岸新区教育和体育系统专项公费师范生招聘考试试题【答案】
- 2025年车辆监控调度项目建议书
- 2025年丙二酮项目合作计划书
- 2025年数字模拟混合输出仪表通讯模板合作协议书
- 2026届高三语文一轮复习教学计划
- 公司摄影小组活动方案
- 银行 舆情培训 课件
- 小儿重症专科进修汇报
- 宁城职教中心实习实训基地项目可行性论证报告
- DB14-T 3403-2025 灌木林地造林技术规程
- 2025广西中医药大学赛恩斯新医药学院教师招聘考试试题
- 京东居家客服面试题及答案
- 制造业中数字孪生技术的市场推广策略研究
- JJF(赣) 028-2024 气相分子吸收光谱仪校准规范
- (王瑞元版本)运动生理学-课件-2-第二章-骨骼肌机能
评论
0/150
提交评论