计算机操作系统输入输出设备管理.ppt
《计算机操作系统输入输出设备管理.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统输入输出设备管理.ppt(90页珍藏版)》请在三一办公上搜索。
1、1,第五章 设备管理,5.1 I/O系统5.2 I/O控制方式5.3 缓冲管理5.4 设备分配5.5 设备处理5.6 磁盘存储器管理,E-Mail:QQ:531305157,2,引言,计算机系统的一个重要组成部分是I/O系统。在该系统中包括有用于实现信息输入、输出和存储功能的设备和相应的设备控制器,在有的大中型机中,还有I/O通道或I/O处理机。设备管理的主要对象是I/O设备,还可能要涉及到设备控制器和I/O通道。而设备管理的主要任务是完成用户提出的I/O请求,提高I/O速率以及提高I/O设备的利用率。设备管理的主要功能有:缓冲区管理、设备分配、设备处理、虚拟设备以及实现设备独立性等。由于I/
2、O设备不仅种类繁多,而且它们的特点和操作方式往往相差甚大,这就使得设备管理成为操作系统最繁杂且与硬件最紧密相关的部分。,3,5.1 I/O系统,顾名思义,I/O系统是用于实现数据输入、输出及数据存储的系统。在I/O系统中,除了需要直接用于I/O和存储信息的设备外,还需要有相应的设备控制器和高速总线;在有的大、中型计算机系统中,还配置了I/O通道或I/O处理机。本节将介绍:一、I/O设备二、设备控制器三、I/O通道四、总线结构,4,一、I/O设备,1.I/O设备的类型2.设备与控制器之间的接口,5,1.I/O设备的类型,I/O设备的类型繁多,从OS观点看,其重要的性能指标有:数据传输速率、数据的
3、传输单位、设备共享属性等。因而可以从不同角度对它们进行分类:1)按传输速率分类2)按信息交换的单位分类3)按设备的共享属性分类,6,1)按传输速率分类,按传输速度的高低,可将I/O设备分为三类。第一类是低速设备这是指其传输速率仅为每秒钟几个字节至数百个字节的一类设备。属于低速设备的典型设备有键盘、鼠标器、语音的输入和输出等设备。第二类是中速设备这是指其传输速率在每秒钟数千个字节至数万个字节的一类设备。典型的中速设备有行式打印机、激光打印机等。第三类是高速设备这是指其传输速率在数百千个字节至数十兆字节的一类设备。典型的高速设备有磁带机、磁盘机、光盘机等。,7,2)按信息交换的单位分类,按信息交换
4、的单位,可将I/O设备分成两类。第一类是块设备(Block Device)这类设备用于存储信息。由于信息的存取总是以数据块为单位,故而得名。它属于有结构设备。典型的块设备是磁盘,每个盘块的大小为512B4KB。磁盘设备的基本特征是其传输速率较高,通常每秒钟为几兆位;另一特征是可寻址,即对它可随机地读/写任一块;此外,磁盘设备的I/O常采用DMA方式。第二类是字符设备(Character Device)用于数据的输入和输出。其基本单位是字符,故称为字符设备。它属于无结构类型。字符设备的种类繁多,如交互式终端、打印机等。字符设备的基本特征是其传输速率较低,通常为几个字节至数千字节;另一特征是不可寻
5、址,即输入/输出时不能指定数据的输入源地址及输出的目标地址;此外,字符设备在输入/输出时,通常采用终端驱动方式。,8,3)按设备的共享属性分类,这种分类方式可将I/O设备分为如下三类:(1)独占设备。(2)共享设备。(3)虚拟设备。,9,2.设备与控制器之间的接口,数据信号线控制信号线状态信号线,10,二、设备控制器,设备控制器是计算机中的一个实体,其主要职责是控制一个或多个(同类)I/O设备,以实现I/O设备和计算机之间的数据交换。它是CPU和I/O设备之间的接口,它接收从CPU发来的命令,并去控制I/O设备工作,以使处理机从繁杂的设备控制事务中解脱出来。设备控制器是一个可编址的设备,当它仅
6、控制一个设备时,它只有一个唯一的设备地址;若控制器可连接多个设备时,则应含有多个设备地址,并使每一个设备地址对应一个设备。设备控制器的复杂性因不同设备而异,相差甚大,于是可把设备控制器分成两类:一类用于控制字符设备的控制器;一类用于控制块设备的控制器。在微型机和小型机中的控制器,常做成印刷电路卡形式,因而也成接口卡,可将它插入计算机(插槽中)。本小节介绍:1、设备控制器的基本功能2、设备控制器的组成,11,1、设备控制器的基本功能,1)接收和识别命令2)数据交换3)标识和报告设备的状态4)地址识别5)数据缓冲6)差错控制,12,2、设备控制器的组成,1)设备控制器与处理机的接口2)设备控制器与
7、设备的接口3)I/O逻辑,13,三、I/O通道,1、I/O通道(I/O Channel)设备的引入2、通道类型3、“瓶颈”问题,14,1、I/O通道(I/O Channel)设备的引入,设备控制器虽然已大大减少CPU对I/O设备的干预,但当主机所配置的外设很多是,CPU的负担仍然很重。为此,在CPU和设备控制器之间有增设了通道。其主要目的是为了建立独立的I/O操作,不仅是数据的传输能独立于CPU,而且也希望有关对I/O操作的组织、管理及其结束处理也尽量独立,以保证CPU有更多的时间去进行数据处理;或者说其目的是使一些原来由CPU处理的I/O任务转由通道来承担,从而把CPU从繁杂的I/O任务中解
8、脱出来。在设置了通道后,CPU只需要向通道发送一条I/O指令;通道在接收到该指令后,便从内存中取出本次要执行的通道程序;然后执行该通道程序,仅当通道完成了规定的I/O任务后,才向CPU发中断信号。实际上,I/O通道是一种特殊的处理机。它具有执行I/O指令的能力,并通过执行通道(I/O)程序来控制I/O操作。但I/O通道又与一般的处理机不同,主要表现在以下两个方面:一是其指令类型单一,这是由于通道硬件比较简单,其所能执行的命令,主要局限于与I/O操作有关的指令;再就是通道没有自己的内存,通道所执行的通道程序是放在主机的内存中的,换言之,是通道与CPU共享内存。,15,2、通道类型,1)字节多路通
9、道(Byte Multiplexor Channel)2)数组选择通道(Block Selector Channel)3)数组多路通道(Block Multiplexor Channel),16,1)字节多路通道,17,2)数组选择通道,字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道的形成。这种通道虽然可以连接多台高速设备,但由于它只含有一个分配型子通道,在一段时间内只能执行一道通道程序,控制一台设备进行数据传送,致使当某台设备占用了该通道后,便一直由它独占,即使是它无数据传送,通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放该通道。可见,这种通道的
10、利用率很低。,18,3)数组多路通道,数组选择通道虽有很高的传输速率,但它却每次只允许一个设备传输数据。数组多路通道是将数组选择通道传输速率高和字节多路通道能使各子通道(设备)分时并行操作的优点相结合而形成的一种新通道。它含有多个非分配型子通道,因而这种通道既具有很高的数据传输速率,又能获得令人满意的通道利用率。也正因此,才使该通道能被广泛地用于连接多台高、中速的外围设备,其数据传送是按数组方式进行的。,19,3、“瓶颈”问题,20,四、总线结构,总线型I/O系统结构中,系统各部件如CPU、存储器及各种I/O设备之间是通过总线实现联系的。总线的性能是用总线的时钟频率、带宽和相应的总线传输速率来
11、衡量的。总线随着要求的不断提高从早期的ISA总线发展到EISA、VESA,直到当今广为流行的PCI总线。,21,1、ISA和EISA总线,1)ISA(Industry Standard Architecture)总线:这是为了1984年推出的80286型微机而设计的总线结构。其总线的带宽为8位,最高传输速率为2Mb/s。之后不久又推出了16位的(EISA)总线,其最高传输速率为8Mb/s,后又升至16Mb/s,能连接12台设备。2)EISA(Extended ISA)总线:到80年代末期,ISA总线已难于满足带宽和传输速率的要求,于是人们又开发出扩展ISA(EISA)总线,其带宽为32位,总线
12、的传输速率高达32Mb/s,同样可以连接12台外部设备。,22,2、局部总线(Local Bus),1)VESA(Video Electronic Standard Association)总线 2)PCI(Peripheral Component Interface)总线,23,5.2 I/O控制方式,一、程序I/O方式二、中断驱动I/O控制方式三、直接存储器访问DMA I/O控制方式四、I/O通道控制方式,24,一、程序I/O方式,早期的计算机系统中,由于无中断机构,处理及对I/O设备的控制采取程序I/O方式,或称为“忙等待”方式。在程序I/O方式中,由于CPU的高速性和I/O设备的低速性
13、,致使CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费。在该方式中,CPU之所以要不断地测试I/O设备的状态,就是因为在CPU中无中断机构,使I/O设备无法向CPU报告它已完成了一个字符的输入操作。,25,二、中断驱动I/O控制方式,在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作。仅当输完一个数据时,才需CPU花费极短的时间去做些中断处理。可见,这样可使CPU和I/O设备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。例如,从终端输入一个字符的时间约为100ms,而将字符送入终端缓冲区的时间小于0.1m
14、s。若采用程序I/O方式,CPU约有99.9ms的时间处于忙等待中。采用中断驱动方式后,CPU可利用这99.9ms的时间去做其它事情,而仅用0.1ms的时间来处理由控制器发来的中断请求。可见,中断驱动方式可以成百倍地提高CPU的利用率。,26,三、直接存储器访问DMA I/O控制方式,1、DMA(Direct Memory Access)控制方式的引入2、DMA控制器的组成3、DMA工作过程,27,1、DMA控制方式的引入,虽然中断驱动I/O方式比程序I/O方式更有效,但CPU是以字(节)为单位进行干预的,该方式用于块设备的I/O显然是低效的。该方式的特点是:数据传输的基本单位是数据块,即在C
15、PU与I/O设备之间,每次传送至少一个数据块;所传送的数据是从设备直接送入内存的,或者相反;仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。可见,DMA方式较之中断驱动方式,又是成百倍地减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。,28,2、DMA控制器的组成,为了实现在主机与控制器之间成块数据的直接交换,必须在DMA控制器中设置如下四类寄存器:1)命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制信息,或设备的状态。2)内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出
16、时,它存放由内存到设备的内存源地址。3)数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。4)数据计数器DC。存放本次CPU要读或写的字(节)数。,29,3、DMA工作过程,30,四、I/O通道控制方式,1、I/O通道控制方式的引入2、通道程序,31,1、I/O通道控制方式的引入,虽然DMA方式比中断方式已经显著减少了CPU的干预,但CPU每次发出一条I/O指令也只能读/写一个数据块。I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。同时,又可实现CPU、通道和I/O设
17、备三者的并行操作,从而更有效地提高整个系统的资源利用率。例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定的I/O任务。,32,2、通道程序,通道是通过能够执行通道程序,并与设备控制器共同完成对I/O设备的控制的。通道程序是由一系列通道指令(或称为通道命令)所构成的。每条通道指令包含:1)操作码 2)内存地址3)计数4)通道程序结束位P5)记录结束标志R右表是一个六条通道指令构成的简单通道程序。,33,5.3 缓冲管理,一、缓冲的引入二、单缓冲和
18、双缓冲三、循环缓冲四、缓冲池(Buffer Pool),34,一、缓冲的引入,1、缓和CPU与I/O设备间速度不匹配的矛盾。2、减少对CPU的中断频率,放宽对CPU中断响应时间的限制。3、提高CPU和I/O设备之间的并行性。,35,二、单缓冲和双缓冲,1、单缓冲2、双缓冲,36,1、单缓冲,37,2、双缓冲,双缓冲工作原理,双机通信时缓冲区的设置,38,三、循环缓冲,1、循环缓冲的组成2、循环缓冲区的使用3、进程同步,39,1、循环缓冲的组成,40,2、循环缓冲区的使用,1)Getbuf过程2)Releasebuf过程,41,3、进程同步,1)Nexti指针追赶上Nextg指针2)Nextg指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 输入输出 设备管理
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6342510.html