版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章设备管理(1)1内容5.1I/O系统5.2I/O控制方式5.3缓冲管理5.4I/O软件5.5设备分配5.6磁盘存储器的管理25.1I/O系统5.1.1I/O设备设备管理是操作系统最基本、最繁杂的组成部分,且与硬件的关系最密切。1)按设备的使用特性分类存储设备-是计算机系统用以存储信息的主要设备。特点:存取速度较内存慢,但容量比内存大得多,相对价格也便宜。输入/输出设备又具体可分为输入设备、输出设备和交互式设备。1.I/O设备的类型35.1I/O系统2.设备与控制器之间的接口设备控制器是CPU与设备之间的接口,接收CPU的命令,控制设备工作。
主要有三种类型的信号(数据、控制、状态),各对应一条信号线。
设备与控制器间的接口
55.1I/O系统
5.1.2设备控制器1.设备控制器的基本功能接收和识别CPU发出的命令,因此,设备控制器中设有多个寄存器,用来存放命令和参数,同时,还设有命令译码器。实现数据交换,即CPU与控制器之间,控制器与设备之间的数据交换。记录设备的状态,以便CPU启动控制器。为此,在控制器中设置一个状态寄存器。识别设备地址。使CPU能够从设备控制器的寄存器中读写数据。数据缓冲
差错控制
对由I/O设备传送来的数据进行差错检测。65.1I/O系统2.设备控制器的组成1)设备控制器与处理机的接口2)设备控制器与设备的接口3)I/O逻辑该接口用于实现CPU与设备控制器之间的通信。共有三类信号线:数据线、地址线和控制线。数据线通常与数据寄存器、控制/状态寄存器相连接。在控制器中存在一个或多个设备接口,一个接口连接一台设备。在每个接口中都存在数据、控制和状态三种类型的信号。在设备控制器中的I/O逻辑用于实现对设备的控制。它通过一组控制线与处理机交互,处理机利用该逻辑向控制器发送I/O命令;I/O逻辑对收到的命令进行译码。75.1I/O系统
5.1.3I/O通道1.I/O通道(I/OChannel)设备的引入通道(Channel)---也称I/O处理机。
是为了减轻CPU的工作负载,在CPU与设备控制器之间而设置的一种专门用于I/O的简单处理机。2.通道类型按照信息交换方式分为:字节多路通道、数组选择通道、数组多路通道。指令类型单一,只负责I/O操作没有自己的内存,而是和CPU共享内存通道的特点95.1I/O系统中央处理机内存字节多路通道数组多路通道数组选择通道卡片输入机打印机磁盘磁带通道结构105.1I/O系统1)字节多路通道(ByteMultiplexorChannel)用于低、中速设备,含多个非分配型的子通道,子通道按时间片轮转共享主通道。按字节传送,传输速度慢。字节多路通道的工作原理
……控制器A控制器B控制器C控制器N设备A1A2A3B1B2B3C1C2C3…N2N3A1B1C1N1A2B2C2……………子通道A子通道B子通道C子通道N115.1I/O系统3)数组多路通道(BlockMultiplexorChannel)用于连接中、高速设备,是将数组选择通道传输速率高和字节多路通道能使各子通道(设备)分时并行操作的优点相结合而形成的一种新通道。每次控制一台设备连续传输一批数据;当一个设备要求的数据传输都结束后,选择通道才执行下个设备对应的通道程序;传输速度高,主要用于控制高速外设(如磁盘)。数组选择通道的特点135.1I/O系统以循环轮转使用多个子通道,每个子通道能在时间片内传送一组数据;通道利用率较高。主要用于高速、中速设备(如磁带机)的控制。数组多路通道的特点145.1I/O系统
3.“瓶颈”问题由于通道及设备控制器的数量有限,可能造成I/O的瓶颈。单通路I/O系统“瓶颈”现象155.1I/O系统
5.1.4总线系统在计算机系统中的各部件,如CPU、存储器以及各种I/O设备之间的联系,都是通过总线来实现的。
总线的性能是用总线的时钟频率、带宽和相应的总线传输速率等指标来衡量的。1.ISA和EISA总线1)ISA(IndustryStandardArchitecture)总线2)EISA(ExtendedISA)总线2.局部总线(LocalBus)1)VESA(VideoElectronicStandardAssociation)总线2)PCI(PeripheralComponentInterface)总线175.2I/O控制方式本节讨论CPU通过设备控制器来控制数据I/O的方式。设备管理的主要任务之一是控制设备与内存或CPU之间的数据传送,选择控制方式的原则是:保证在足够的传输速度下数据的正确传送。系统开销小。充分发挥硬件资源的能力。常用的I/O控制方式
(1)程序I/O方式
(2)中断控制方式(3)DMA控制方式(4)I/O通道控制方式185.2I/O控制方式5.2.1程序I/O方式程序I/O(ProgrammedI/O)方式,或称为忙—等待方式,即在处理机向控制器发出一条I/O指令启动输入设备输入数据时,要同时把状态寄存器中的忙/闲标志busy置为1,然后便不断地循环测试busy。5.2.2中断驱动I/O控制方式当某进程要启动某个I/O设备工作时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即返回继续执行原来的任务。设备控制器于是按照该命令的要求去控制指定I/O设备。此时,CPU与I/O设备并行操作。195.2I/O控制方式2.DMA控制器的组成DMA控制器由三部分组成:主机与DMA控制器的接口;DMA控制器与块设备的接口;I/O控制逻辑。主机-控制器接口控制器-块设备接口DRMARDCCRI/O控制逻辑CPU内存命令系统总线DMA控制器。。。count磁盘源地址数据215.2I/O控制方式DMA方式的工作流程图
设置CR和DC初值启动DMA传送命令挪用存储器周期传送数据字(节)存储器地址增1DC减1DC=0?N继续执行进程准备传送下一数据字Y请求中断
CPU命令CR内存始址MAR要读数据字数DC磁盘地址I/O控制逻辑3.DMA工作过程225.2I/O控制方式5.2.4
I/O通道控制方式1.I/O通道控制方式的引入I/O通道方式进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。同时,又可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。2.通道程序
通道是通过执行通道程序,并与设备控制器共同实现对I/O设备的控制的。
通道程序是由一系列通道指令(或称为通道命令)所构成的。235.2I/O控制方式由六条通道指令所构成的简单的通道程序。该程序的功能是将内存中不同地址的数据写成多个记录。255.3缓冲管理
5.3.1缓冲的引入1、缓解CPU与外设速度不匹配的问题。2、减少对CPU的中断响应次数,放宽响应时间。3、提高CPU与I/O设备之间的并行性。缓冲技术的基本思想:在内存中开辟一个或多个专用区域(缓冲区),作为CPU与I/O设备间信息的集散地。
5.3.2单缓冲和双缓冲1.单缓冲(SingleBuffer)在单缓冲情况下,每当用户进程发出一I/O请求时,操作系统便在主存中为之分配一缓冲区。265.3缓冲管理
5.3.3循环缓冲1.循环缓冲的组成
循环缓冲即是多个大小相同的缓冲区构成循环队列,有三种缓冲区:空缓冲区(R),满缓冲区(G),正使用的缓冲区(C)。(1)多个缓冲区RRGGGGNextiNextg29(2)多个指针
(例如作为输入的缓冲区可设置三个指针)Nextg---用于指示计算进程下一个可用缓冲区G的指针Nexti---输入进程下次可以使用的空缓冲区R的指针Current---指示计算进程正在使用的缓冲区C的指针RRCGGGNextiCurrentNextg305.3缓冲管理2.循环缓冲区的使用
计算进程和输入进程可利用下述两个过程来使用循环缓冲区。Getbuf过程
计算进程要使用缓冲区中数据时;输入进程要使用空缓冲区装数据时。(2)Releasebuf过程
计算进程把C缓冲区数据提取完毕时,调用Releasebuf释放C,把当前缓冲区改为空缓冲区R;
输入进程把缓冲区装满时,调用Releasebuf将缓冲区释放,并改为G;315.3缓冲管理3.进程同步使用输入循环缓冲,可使输入进程和计算进程并行执行。
Nexti指针追赶上Nextg指针。
输入进程应阻塞,直到计算进程把某个缓冲区中的数据全部提取完,使之成为空缓冲区R,并调用releasebuf过程将它释放时,才将输入进程唤醒。这种情况被称为系统受计算限制。RRGGGGNextiNextg32RRGGGGNextiNextg(2)Nextg指针追赶上Nexti指针
计算进程只能阻塞,直至输入进程又装满某个缓冲区,并调用Releasebuf过程将它释放时,才去唤醒计算进程。这种情况被称为系统受I/O限制。335.3缓冲管理
5.3.4缓冲池1.缓冲池的组成对于既可用于输入又可用于输出的公用缓冲池,其中至少应含有以下三种类型的缓冲区:①空(闲)缓冲区;②装满输入数据的缓冲区;③装满输出数据的缓冲区。将缓冲区连接成三种队列:空缓冲队列(emq)输入缓冲队列(inq)输出缓冲队列(outq)
有四类工作缓冲区:
sin提取输入数据的工作缓冲区
hin收容输入数据的工作缓冲区
sout提取输出数据的工作缓冲区
hout收容输出数据的工作缓冲区342.缓冲区工作方式提取输出收容输入提取输入收容输出缓冲池hinsinsouthout用户程序empinqout收容输入的工作方式:当输入进程需要输入数据时调用Getbuf(emp,hin)过程,从emp队列首摘下空缓冲区作为收容输入工作缓冲区hin(2)把数据输入到工作缓冲区hin(3)调用Putbuf(inq,hin),将hin挂到inq队列尾提取输入工作方式:当计算进程需要提取输入数据时(1)调用Getbuf(inq,sin)过程,从inq队列头摘下缓冲区作为提取输入工作缓冲区sin(2)计算进程从工作缓冲区sin中提取数据(3)调用Putbuf(emp,sin),将sin挂在emp队列尾355.3缓冲管理缓冲区的工作方式
输入输出设备
数据处理程序hinsoutsinhout
…
…
…inqemqoutqputbuf(inq,hin)putbuf(emq,sout)getbuf(inq)getbuf(emq)putbuf(emq,sin)getbuf(outq)getbuf(emq)putbuf(outq,hout)提取输入提取输出收容输入收容输出收容输入getbuf(emq)hinputbuf(inq,hin)提取输入getbuf(inq)sinputbuf(emq,sin)365.3缓冲管理3.Getbuf过程和Putbuf过程为使诸进程能互斥地访问缓冲池队列,可为每一队列设置一个互斥信号量MS(type)。为了保证诸进程同步地使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建福州市侨联招聘1人备考题库附答案详解(综合卷)
- 2026天津市肿瘤医院秦皇岛医院选聘31人备考题库(河北)及参考答案详解(达标题)
- 四川省内江市农业科学院关于2026年公开考核招聘事业单位工作人员的备考题库带答案详解(预热题)
- 2026新疆喀什昆仑建设有限公司招聘3人备考题库附答案详解【完整版】
- 2026重庆建筑工程职业学院招聘非事业编制(合同制)人员1人备考题库(第一批)带答案详解(突破训练)
- 2026广东江门市朝阳社会工作服务中心招聘1人备考题库附参考答案详解(培优a卷)
- 2026上海师范大学附属官渡实验学校招聘1人备考题库带答案详解(完整版)
- 2026扬州平山堂茶业发展有限公司招聘茶饮店劳务派遣人员2人备考题库带答案详解(基础题)
- 2026贵州贵阳观山湖区远大小学教师招聘备考题库含答案详解(预热题)
- 2206江西鹰潭市邮政分公司现面向社会招聘合同用工备考题库附答案详解(培优a卷)
- 【沙利文公司】2024年中国银发经济发展报告
- JT-T-1344-2020纯电动汽车维护、检测、诊断技术规范
- 系统思维与系统决策:系统动力学智慧树知到期末考试答案2024年
- 厂级安全教育培训
- 中国电信安徽公司校园招聘试卷
- 2023学年完整公开课版耐久跑说课
- 足球传球与跑位配合技巧:传跑结合破解对手防线
- 《水泥搅拌桩》课件
- 数独培训课件
- GB/T 470-2008锌锭
- 鲧禹治水课件
评论
0/150
提交评论