操作系统课程讲解.ppt
- 文档编号:1724747
- 上传时间:2022-10-23
- 格式:PPT
- 页数:80
- 大小:886KB
操作系统课程讲解.ppt
《操作系统课程讲解.ppt》由会员分享,可在线阅读,更多相关《操作系统课程讲解.ppt(80页珍藏版)》请在冰豆网上搜索。
第五章设备管理,5.1I/O系统5.2I/O控制方式5.3缓冲管理5.4设备分配5.5设备处理5.6磁盘存储器管理,5.1I/O系统,5.1.1I/O设备,1.I/O设备的类型,1)按传输速率分类按传输速度的高低,可将I/O设备分为三类。
第一类是低速设备,这是指其传输速率仅为每秒钟几个字节至数百个字节的一类设备。
属于低速设备的典型设备有键盘、鼠标器、语音的输入和输出等设备。
第二类是中速设备,这是指其传输速率在每秒钟数千个字节至数万个字节的一类设备。
典型的中速设备有行式打印机、激光打印机等。
第三类是高速设备,这是指其传输速率在数百千个字节至数十兆字节的一类设备。
典型的高速设备有磁带机、磁盘机、光盘机等。
2)按信息交换的单位分类可将I/O设备分成两类。
第一类是块设备(BlockDevice),这类设备用于存储信息。
由于信息的存取总是以数据块为单位,故而得名。
它属于有结构设备。
典型的块设备是磁盘,每个盘块的大小为512B4KB。
磁盘设备的基本特征是其传输速率较高,通常每秒钟为几兆位;另一特征是可寻址,即对它可随机地读/写任一块;此外,磁盘设备的I/O常采用DMA方式。
第二类是字符设备(CharacterDevice),用于数据的输入和输出。
其基本单位是字符,故称为字符设备。
3)按设备的共享属性分类这种分类方式可将I/O设备分为如下三类:
独占设备。
(2)共享设备。
(3)虚拟设备。
2.设备与控制器之间的接口,图5-1设备与控制器间的接口,5.1.2设备控制器,1.设备控制器的基本功能,接收和识别命令2)数据交换3)标识和报告设备的状态4)地址识别5)数据缓冲6)差错控制,2.设备控制器的组成,图5-2设备控制器的组成,5.1.3I/O通道,1.I/O通道(I/OChannel)设备的引入,实际上,I/O通道是一种特殊的处理机。
它具有执行I/O指令的能力,并通过执行通道(I/O)程序来控制I/O操作。
但I/O通道又与一般的处理机不同,主要表现在以下两个方面:
一是其指令类型单一,这是由于通道硬件比较简单,其所能执行的命令,主要局限于与I/O操作有关的指令;再就是通道没有自己的内存,通道所执行的通道程序是放在主机的内存中的,换言之,是通道与CPU共享内存。
2.通道类型,1)字节多路通道(ByteMultiplexorChannel),图5-3字节多路通道的工作原理,2)数组选择通道(BlockSelectorChannel),字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道的形成。
这种通道虽然可以连接多台高速设备,但由于它只含有一个分配型子通道,在一段时间内只能执行一道通道程序,控制一台设备进行数据传送,致使当某台设备占用了该通道后,便一直由它独占,即使是它无数据传送,通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放该通道。
可见,这种通道的利用率很低。
3)数组多路通道(BlockMultiplexorChannel)数组选择通道虽有很高的传输速率,但它却每次只允许一个设备传输数据。
数组多路通道是将数组选择通道传输速率高和字节多路通道能使各子通道(设备)分时并行操作的优点相结合而形成的一种新通道。
它含有多个非分配型子通道,因而这种通道既具有很高的数据传输速率,又能获得令人满意的通道利用率。
也正因此,才使该通道能被广泛地用于连接多台高、中速的外围设备,其数据传送是按数组方式进行的。
3.“瓶颈”问题,图5-4单通路I/O系统,图5-5多通路I/O系统,5.1.4总线系统,图5-6总线型I/O系统结构,1.ISA和EISA总线1)ISA(IndustryStandardArchitecture)总线这是为了1984年推出的80286型微机而设计的总线结构。
其总线的带宽为8位,最高传输速率为2Mb/s。
之后不久又推出了16位的(EISA)总线,其最高传输速率为8Mb/s,后又升至16Mb/s,能连接12台设备。
2)EISA(ExtendedISA)总线到80年代末期,ISA总线已难于满足带宽和传输速率的要求,于是人们又开发出扩展ISA(EISA)总线,其带宽为32位,总线的传输速率高达32Mb/s,同样可以连接12台外部设备。
2.局部总线(LocalBus),VESA(VideoElectronicStandardAssociation)总线2)PCI(PeripheralComponentInterface)总线,5.2I/O控制方式,5.2.1程序I/O方式,在程序I/O方式中,由于CPU的高速性和I/O设备的低速性,致使CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费。
在该方式中,CPU之所以要不断地测试I/O设备的状态,就是因为在CPU中无中断机构,使I/O设备无法向CPU报告它已完成了一个字符的输入操作。
图5-7程序I/O和中断驱动方式的流程,5.2.2中断驱动I/O控制方式,在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作。
仅当输完一个数据时,才需CPU花费极短的时间去做些中断处理。
可见,这样可使CPU和I/O设备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。
例如,从终端输入一个字符的时间约为100ms,而将字符送入终端缓冲区的时间小于0.1ms。
若采用程序I/O方式,CPU约有99.9ms的时间处于忙等待中。
采用中断驱动方式后,CPU可利用这99.9ms的时间去做其它事情,而仅用0.1ms的时间来处理由控制器发来的中断请求。
可见,中断驱动方式可以成百倍地提高CPU的利用率。
5.2.3直接存储器访问DMAI/O控制方式,1.DMA(DirectMemoryAccess)控制方式的引入,该方式的特点是:
数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块;所传送的数据是从设备直接送入内存的,或者相反;仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。
可见,DMA方式较之中断驱动方式,又是成百倍地减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。
2.DMA控制器的组成,图5-8DMA控制器的组成,为了实现在主机与控制器之间成块数据的直接交换,必须在DMA控制器中设置如下四类寄存器:
(1)命令/状态寄存器CR。
用于接收从CPU发来的I/O命令或有关控制信息,或设备的状态。
(2)内存地址寄存器MAR。
在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。
(3)数据寄存器DR。
用于暂存从设备到内存,或从内存到设备的数据。
(4)数据计数器DC。
存放本次CPU要读或写的字(节)数。
3.DMA工作过程,图5-9DMA方式的工作流程,5.2.4I/O通道控制方式,1.I/O通道控制方式的引入,I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。
同时,又可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。
例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定的I/O任务。
2.通道程序,操作码。
(2)内存地址。
(3)计数。
(4)通道程序结束位P。
(5)记录结束标志R。
5.3缓冲管理,5.3.1缓冲的引入,缓和CPU与I/O设备间速度不匹配的矛盾。
(2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制。
(3)提高CPU和I/O设备之间的并行性。
图5-10利用缓冲寄存器实现缓冲,5.3.2单缓冲和双缓冲,1.单缓冲(SingleBuffer),图5-11单缓冲工作示意图,2.双缓冲(DoubleBuffer),图5-12双缓冲工作示意图,图5-13双机通信时缓冲区的设置,5.3.3循环缓冲,1.循环缓冲的组成,图5-14循环缓冲,2.循环缓冲区的使用,Getbuf过程。
(2)Releasebuf过程。
3.进程同步,Nexti指针追赶上Nextg指针。
(2)Nextg指针追赶上Nexti指针。
5.3.4缓冲池(BufferPool),1.缓冲池的组成,1.缓冲池的组成对于既可用于输入又可用于输出的公用缓冲池,其中至少应含有以下三种类型的缓冲区:
空(闲)缓冲区;装满输入数据的缓冲区;装满输出数据的缓冲区。
为了管理上的方便,可将相同类型的缓冲区链成一个队列,于是可形成以下三个队列:
(1)空缓冲队列emq。
(2)输入队列inq。
(3)输出队列outq。
2.Getbuf过程和Putbuf过程,ProcedureGetbuf(type)beginWait(RS(type);Wait(MS(type);B(number)KG-*3=Takebuf(type);Signal(MS(type);endProcedurePutbuf(type,number)beginWait(MS(type);Addbuf(type,number);Signal(MS(type);Signal(RS(type);end,3.缓冲区的工作方式,图5-15缓冲区的工作方式,5.4设备分配,5.4.1设备分配中的数据结构,1.设备控制表DCT,图5-16设备控制表,2.控制器控制表、通道控制表和系统设备表,图5-17COCT、CHCT和SDT表,5.4.2设备分配时应考虑的因素,1.设备的固有属性,独享设备。
(2)共享设备。
(3)虚拟设备。
2.设备分配算法,先来先服务。
(2)优先级高者优先。
3.设备分配中的安全性,安全分配方式2)不安全分配方式,5.4.3设备独立性,1.设备独立性(DeviceIndependence)的概念为了提高OS的可适应性和可扩展性,在现代OS中都毫无例外地实现了设备独立性,也称为设备无关性。
其基本含义是:
应用程序独立于具体使用的物理设备。
为了实现设备独立性而引入了逻辑设备和物理设备这两个概念。
在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。
因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能,这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念。
在实现了设备独立性的功能后,可带来以下两方面的好处。
1)设备分配时的灵活性2)易于实现I/O重定向,2.设备独立性软件,1)执行所有设备的公有操作这些公有操作包括:
对独立设备的分配与回收;将逻辑设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序;对设备进行保护,禁止用户直接访问设备;缓冲管理,即对字符设备和块设备的缓冲区进行有效的管理,以提高I/O的效率;差错控制。
由于在I/O操作中的绝大多数错误都与设备无关,故主要由设备驱动程序处理,而设备独立性软件只处理那些设备驱动程序无法处理的错误。
2)向用户层(或文件层)软件提供统一接口无论何种设备,它们向用户所提供的接口应该是相同的。
例如,对各种设备的读操作,在应用程序中都使用read;而对各种设备的写操作,也都使用write。
3.逻辑设备名到物理设备名映射的实现,逻辑设备表2)LUT的设置问题,图5-18逻辑设备表,5.4.4独占设备的分配程序,1.基本的设备分配程序,分配设备2)分配控制器3)分配通道,2.设备分配程序的改进,增加设备的独立性2)考虑多通路情况,5.4.5SPOOLing技术,1.什么是SPOOLing为了缓和C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程 讲解
![提示](https://static.bdocx.com/images/bang_tan.gif)