第五章设备管理.ppt
《第五章设备管理.ppt》由会员分享,可在线阅读,更多相关《第五章设备管理.ppt(101页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章第五章 设备管理设备管理5.1 I/O5.1 I/O系统系统5.2 I/O5.2 I/O控制方式控制方式5.3 5.3 缓冲管理缓冲管理5.4 5.4 设备分配设备分配5.5 5.5 设备处理设备处理5.6 5.6 磁盘存储器管理磁盘存储器管理设备管理的目标和任务1.按照用户的请求,控制设备的各种操作,完成I/O设备与内存之间的数据交换(包括设备分配与回收;设备驱动程序;设备中断处理;缓冲区管理),最终完成用户的I/O请求2.向用户提供使用外部设备的方便接口,使用户摆脱繁琐的编程负担逻辑设备与物理设备、屏蔽硬件细节(设备的物理细节,错误处理,不同I/O的差异性)3.充分利用各种技术(通道
2、,中断,缓冲等)提高CPU与设备、设备与设备之间的并行工作能力,充分利用资源,提高资源利用率(并行性、均衡性)设备管理的目标和任务(续)4.保证在多道程序环境下,当多个进程竞争使用设备时,按一定策略分配和管理各种设备,使系统能有条不紊的工作5.与设备无关性(设备独立性)5.1 I/O系统一、I/O设备1.I/O设备类型按传输速率分(高速、低速、中速)按信息交换的单位分(块设备、字符设备)按共享属性分(独占设备、共享设备、虚拟设备)2.设备与控制器之间的接口 I/O设备一般由机械和电子两部分组成,机械部分是设备本身(物理装置);电子部分叫做设备控制器或适配器。在小型和微型机中,它常采用印刷电路卡
3、插入计算机中(接口),完成设备与主机间的连接和通讯。5.1 I/O系统二、设备控制器控制一个或多个I/O设备,是CPU和I/O设备之间的接口。可编址的设备基本功能:接受识别命令数据交换标识和报告设备的状态地址识别数据缓冲差错控制当控制器接受一条命令后,可独立于CPU完成指定操作,CPU可以转去执行其它运算。命令完成时,控制器产生一个中断,CPU响应中断,控制转给操作系统。CPU通过读控制器寄存器中的信息,获得操作结果和设备状态控制器与设备之间的接口常常是一个低级接口。例如磁盘,可以按每个磁道8扇区,每个扇区512个字节进行格式化。然而,实际从驱动器出来的却是一连串的位流,以一个头标(pream
4、ble)开始,然后是一个扇区的4096位(5128),最后是检查和或错误校验码(ErrorC一C:ECC)。头标是在对磁盘格式化时写上的,它包括柱面和扇区数,扇区的大小和类似的一些数据控制器的任务是把串行的位流转换为字节块,并进行必要的错误修正。首先,控制器按位进行组装,然后存入控制器内部的缓冲区中形成以字节为单位的块。在对块验证检查和并证明无错误时,再将它复制到主存中5.1 I/O系统设备控制器的组成设备控制器与处理机的接口设备控制器与设备的接口I/O逻辑定义:通道是独立于CPU的专门负责数据输入/输出传输工作的处理机,对外部设备实现统一管理,代替CPU对输入/输出操作进行控制,从而使输入,
5、输出操作可与CPU并行操作。通道又称输入输出处理机,术语“通道”专指专门用来负责输入输出工作的处理机(简称处理机)。比起中央处理机来,通道是一个比功能较弱、速度较慢、价格较为便宜的处理机。但“通道”一词在微型机中常指与或与处理机相连设备的单纯的数据传送通路,它并不具有处理机的功能。通道指令单一,不具有自己的内存。5.1 I/O系统5.1 I/O系统 1.引入通道的目的为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备,设备与设备之间的并行工作能力 2.通道类型字节多路通道:通常按字节交叉的方式工作,适用于低速设备。数据选择通道:按成组方式进行数据传输,适用于高速设备。数组多路通道:综
6、合前二个优点(数据传送率和通道利用率都较高)。主要连接以字节为单位的低速I/O设备。如打印机,终端。字节多路通道以字节为单位传输信息,它可以分时地执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传送信息1)1)字节多路通道字节多路通道主要连接磁盘,磁带等高速I/O设备选择通道是以成组方式工作的,即每次传送一批数据,故传送速度很高。选择通道在一段时间内只能执行一个通道程序,只允许一台设备进行数据传输当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程序 2)2)数组选择通道数组选择通道 数组选择通道选择通道选
7、择通道主要连接高速设备成组多路通道结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点。它先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令这样,对于连接多台磁盘机的数组多路通道,它可以启动它们同时执行移臂定位操作,然后,按序交叉地传输一批批数据。数据多路通道实际上是对通道程序采用多道程序设计的硬件实现 3)数组多路通道 通道:执行通道程序,向控制器发出命令,并具有向CPU发中断信号的功能。一旦CPU发出指令,启动通道,则通道独立于CPU工作。一个通道可连接多个控制器,一个控制器可连接多个设备,形成树形交叉连接 主要目的是启动外设时:a 提高了控制器效率 b 提
8、高可靠性 c 提高并行度交叉连接3.通道工作原理 通道相当于一个功能简单的处理机,包含通道指令(空操作,读操作,写操作,控制,转移操作),并可执行用这些指令编写的通道程序5.1 I/O系统通道地址字 CAW:记录通道程序在内存中的地址通道命令字 CCW:保存正在执行的通道指令通道状态字 CSW:存放通道执行后的返回结果通道数据字 CDW:存放传输数据 1)通道运算控制部件用于I/O操作的命令主要有两种:I/O指令:启动通道程序通道命令:对I/O操作进行控制通道命令格式 命令格式一般包括:操作码、数据传输内存地址、特征位、计数器 2)通道命令 CPU:执行用户程序,当遇到I/O请求时,可根据该请
9、求生成通道程序放入内存(也可事先编好放入内存),并将该通道程序的首地址放入CAW中;之后执行“启动I/O”指令,启动通道工作。通道:接收到“启动I/O”指令后,从CAW中取出通道程序的首地址,并根据首地址取出第一条指令放入CCW中,同时向CPU发回答信号,使CPU可继续执行其他程序,而通道则开始执行通道程序,完成传输工作。3)工作原理4.通道与CPU的关系主从关系可并行工作有通信方式作用不同(通道/;计算)5.1 I/O系统5.2 I/O5.2 I/O控制方式控制方式1、程序I/O方式2、中断驱动控制方式3、直接存储器访问DMA 控制方式4、通道控制方式程序程序I/OI/O方式方式1.前提:无
10、中断机构2.过程:CPU在一条启动外设的I/O指令发出后,便检测一台设备的忙闲标志,如果外设的工作没有完成,则标志一直为忙状态,CPU便一直进行循环检测下去,直到标志为不忙为止。3.缺点:CPU和I/O设备速度不匹配,使CPU大部分时间处于等待,因为无中断机构,使设备无法向CPU报告它已完成操作利用中断信号,外设可以将自身操作的状态及时反馈给中央处理CPU,这样,CPU便可以在发出一条I/O指令后,转去继续完成其他任务。而对外设的I/O工作,则转成了由设备控制器来指挥完成。当I/O操作完成后。外设控制控制器自动俄CPU发出中断请求信号。CPU接到I/O中断信号后进行干预,启动I/O中断处理程序
11、执行。中断驱动控制方式中断驱动控制方式直接存储器访问直接存储器访问DMADMA控制方式控制方式1.DMA方式也称为直接存取方式,主要用在块设备的I/O操作中。在DMA方式中,利用总线直接连接外设和内存,由DMA控制器窃取总线占有权,完成外设与内存间的成批数据交换。基本思想是在外围设备和内存之间开辟直接的交换通道。2.DMA方式的特点数据传输的基本单位是数据块(每次至少传送一个数据块在CPU,IO间)传送的数据是从设备直接送入内存的或相反(以前是CPU和控制器寄存器打交)仅在传送一个或多个数据块的开始和结束时才需CPU干预,整块连续的数据的传送是在控制器的控制下完成的。DMA控制器的组成主机和控
12、制器之间的接口命令/状态寄存器CR内存地址寄存器MAR数据寄存器DR数据计数器DC过程:当处理器需要读写一整块数据时,给DMA控制器发送一条命令。包含:是否请求一次读或写,I/O设备的编址,开始读或写的主存编址,需要传送的数据长度等信息处理器发送完命令后就可处理其它事情,DMA控制器将自动管理数据的传送。当这个过程完成后,它会给处理器发一个中断,处理器只在开始传送和传送结束时关注一下就可处理器和DMA传送不完全并行有时会有总线竞争的情况发生在DMA传送时,处理器访问总线速度会变慢DMADMA和中断方式的主要区别和中断方式的主要区别1.中断方式是在数据缓冲寄存器满之后发出中断请求CPU进行中断处
13、理,而DMA方式则是在所要求传送的数据块全部传送完时要求CPU进行中断处理2.中断方式的数据传送是在中断处理时由CPU控制完成的,而DMA方式是在DMA控制器的控制下不经过CPU控制完成的。DMADMA方式的工作过程方式的工作过程独立于中央处理器,专门负责数据I/O传输的处理机它对外设实现统一管理代替CPU对I/O操作进行控制使CPU和外设可以并行工作通道又称为I/O处理机引入通道的目的:为了使CPU从I/O事务中解脱出来同时为了提高CPU与设备、设备与设备之间的并行度通道控制方式通道控制方式通道控制方式(续)通道控制方式(续)通道方式的处理过程(1)某进程要使用I/O设备时,CPU向通道发出
14、指令,指明I/O操作,I/O设备号和调用的通道程序的首址(2)通道接到命令后通过执行通道程序便可完成CPU指定的I/O任务通道程序通道程序操作PR计数内存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE11250720通道和通道和DMADMA方式的比较方式的比较相似之处:以内存为中心,实现设备和内存的直接数据交换。不同之处:1.DMA方式中数据的传送方向、内存始址、传送数据长度都有CPU控制,而通道方式中,由通道进行控制2.DMA方式时,每台设备至少一个DMA控制器,通道方式可以做到一个通道控制
15、多台设备与内存进行交换3.通道方式进一步减少CPU的干预,把对一个数据块为单位的干预减少为对一组数据块的干预,又可实现CPU、I/O和通道三者并行操作。1.1.缓冲技术的引入目的缓冲技术的引入目的 以缓解CPU与外部设备(I/O)之间速度不匹配的矛盾,提高CPU与I/O设备的并行性。提高资源利用率缓冲区:有一定容量、暂存信息的存贮装置。5.3 缓冲技术2.2.缓冲管理的任务:缓冲管理的任务:组织好缓冲区,并提供获得和释放缓冲区的手段2.引入缓冲区的主要原因缓和CPU和I/O设备间速度不匹配的矛盾(即凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。)减少对CPU的中断频率,放宽对CPU中断响
16、应时间的限制提高CPU和I/O设备间的并行性3.引入缓冲区的缺点在系统区要设置相当大的缓冲池才能满足所有的请求。从系统缓冲区传送数据到调用进程缓冲区要花费额外的时间,增加了系统的总开销。1.专用硬件缓冲器:例如:I/O控制器中的数据缓冲寄存器 会增加硬件成本,可在关键的地方采用少量必要的硬件缓冲器2.软件缓冲(内存缓冲):在内存中开辟具有N个单元的专用缓冲区,以便存放输入输出的数据。4.缓冲的实现方法5.几种缓冲技术1)单缓冲2)双缓冲3)循环缓冲(多缓冲)4)缓冲池5.3.1 单缓冲1.每当用户进程发出一个I/O请求时,操作系统便在内存中位置开辟一个缓冲区。2.单缓冲是在系统的CPU与外设之
17、间只设立一个缓冲区。其工作方式是串行完成的。当输入设备占用缓冲区时,输出设备必须处于等待状态;而当输出设备正在缓冲区将数据取走时,输入设备也必须等待,其工作方式是串行完成的。此时,缓冲区成了可共享的临界资源,必须互斥占用,不可能实现并行工作。单缓冲的结构示意图单缓冲的结构示意图cpu缓冲区输入设备输出设备5.3.2 双缓冲(Double Buffer)1.双缓冲技术,即为输入或输出分配两个缓冲区,并让两个缓冲区交替工作,就可以形成并行操作的方式。当输入或是输出时,外设先占用一个缓冲区,等当该缓冲区满后,再转去占用另一个缓冲区,同时第一个缓冲区中的数据可被取走,缓冲区可以释放,当另一个缓冲区满后
18、,设备又可转过来占用被释放的缓冲区。这样交替占用的缓冲区,可以使CPU与外设间的并行度进一步提高。2.和单缓冲相比,能够消除用户等待时间双缓冲的结构示意图双缓冲的结构示意图双缓冲的使用(a)由输入设备向用户进程输入数据由输入设备向用户进程输入数据双缓冲的使用(b)生产者、消费者问题生产者、消费者问题单、双缓冲的比较(单、双缓冲的比较(a a)单、双缓冲的比较(单、双缓冲的比较(b b)5.3.3 循环缓冲1.引入的原因主要解决输入与输出数据不匹配的情况2.循环缓冲的组成多个缓冲按顺序构成环形,先进先出队列的形式,设头尾、指针指向同一个缓冲区。头、尾指针读写时不能相互超越。多个缓冲区多个指针5.
19、3.3 循环缓冲(续)3.循环缓冲区的使用Getbuf过程:Releasebuf过程:4.进程同步nexti(空)指针追赶上nextg(满)指针nextg(满)指针追赶上nexti(空)指针5.3.4 缓冲池 1.特点:供多个进程共享2.缓冲池的组成:三种类型的缓冲区:空缓冲区装满输入数据的缓冲区装满输出数据的缓冲区形成三个队列空缓冲队列emq输入队列inq输出队列outq5.3.4 缓冲池(续)3.Getbuf和Putbuf过程 Procedure Getbuf(type)begin P(RS(Type)P(MS(Type)B(number):=Takebuf(Type);V(MS(Type
20、)end Procedure putbuf(type,number)Begin P(MS(Type)Addbuf(type,number)V(MS(Type)v(RS(Type)End5.3.4 缓冲池(续)4.缓冲区的工作方式收容输入提取输入收容输出提取输出四种类型的工作缓冲区:Hin(收容输入工作缓冲区)Sin(提取输入工作缓冲区)Sout(提取输出工作缓冲区)Hout(收容输出工作缓冲区)5.4 设备分配当某进程向系统提出I/O请求时,设备分配程序按一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主机和设备间信息交换在多通路的系统中,为了满足一个请求,不仅仅是分配一个设备的问题
21、,还应分配相应的控制器和通道,以确保与设备之间能进行通信,在存储器与/设备之间能进行数据的直接存取。设备管理程序对设备进行分配和控制是借助于一些表格;表格中记录了对设备控制所需之信息。它们是设备管理程序实现管理功能的数据结构。5.4.1 设备分配中的数据结构它们是设备管理程序实现管理功能的数据结构。如下表:设备控制表()每个设备一个控制器表()每个控制器一个通道表()每个通道一个系统设备表()整个系统一个设备控制表DCT每个设备一张,记录本设备的情况COCT和CHCT与DCT类似设备类型设备标识符设备状态:等待/不等待 忙/闲指向控制器表的指针重复执行次数或时间设备队列的队首指针系统设备表SD
22、T整个系统一张表,记录系统中所有I/O设备的信息,表目包括:设备类型、设备标识符、驱动程序入口地址、DCT表指针等5.4.2设备分配策略 由于在多道程序系统中,进程数多于资源数,引起资源的竞争。因此,要有一套合理的分配原则 考虑的因素:*I/O设备的固有属性 *I/O设备的分配算法 *设备分配的安全性 *与设备的无关性1.独占、共享、虚拟分配技术独占分配方式:即一个设备分配给某作业后便由该作业独占,直到该作业完成并释放后,其它作业方能使用。大多数低度速设备都属于独占设备。设备得不到充分利用,还可能引起死锁。共享分配方式:如磁盘、磁鼓之类的外存储器,既具有很能大的存储容量,其定位操作的时间又短,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五章 设备管理 第五
限制150内