资源预览内容
第1页 / 共65页
第2页 / 共65页
第3页 / 共65页
第4页 / 共65页
第5页 / 共65页
第6页 / 共65页
第7页 / 共65页
第8页 / 共65页
第9页 / 共65页
第10页 / 共65页
亲,该文档总共65页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第六章 设备管理,在现代计算机系统中,为了实现与外界间的信息交往,更好地方便用户使用计算机,一般都配置了一系列各种类型的外围设备,例如:键盘,打印机,显示器,磁带机,卡片机,磁盘,磁鼓等。这些外围设备,由于其构造和物理特性各异,故在应用方式上风格各不相同,在管理方法上也有决然差别。,学习目标 :,掌握:缓冲技术,设备分配和SPOOLING系统; 理解:设备分类,设备管理的任务和功能 了解:I/O进程控制,设备驱动程序,6.1 概述,6.1.1 设备类型 6.1.2 设备管理的任务和功能6.1.3 设备控制器和I/O通道,I/O系统,实现信息输入、输出和存储的系统。包括: I/O设备 总线 设备控制器 I/O通道 I/O处理机,设备类型,在计算机系统中,除了作为操作处理时使用的CPU以及存储信息时用的存储器之外,还有一类比较重要的硬件资源I/O设备。I/O设备是计算机与外界进行信息交换的装置,因此,在各种类型的计算机中都配置有一定数量的I/O设备,这些设备可以从不同的角度进行分类。常见的有下列几种:,1按操作特性分类 存储设备 输入/输出(I/O)设备,2按传输速率分类 低速设备 每秒几字节至数百字节 如:键盘、鼠标器、语音的输入和输出中速设备 每秒数千字节至数万字节 如:行式打印机、激光打印机 高速设备 每秒数百千字节以上 如:磁带机、磁盘机、光盘机等。,3按信息组织方式分类 块设备(Block Device) 用于存储信息 属有结构类型 如:磁盘,盘块大小为512B-4KB 磁盘设备的基本特征是其传输速率较高,通常 每秒钟为几兆位;可寻址,即对它可随机地读、 写任一块。 磁盘设备的I/O常采用DMA方式。 字符设备(Character Device) 用于数据的输入和输出 属无结构类型 种类多,如交互终端、打印机等。 基本特征是其传输速率较低,通常为几个字节至 数千个字节;另一特征是不可寻址,即输入/输出 时不能指定数据的输入源地址及输出的目标地址 输入/输出时,常采用中断驱动方式。,4按资源分配角度分类 独占设备(Independence Device ) 指在一段时间内只允许一个用户(进程)访问的设备,即临界资源。多数是一些慢速设备,如打印机等。 共享设备(Share Device) 一次可以允许多个作业同时进行访问的设备。各作业在执行期间内,可以交替分时地对共享设备进行占用。它是一个作业还未撤离设备,另一个作业便可使用的设备。常见的有磁盘等。 虚拟设备(Virtual Device): 严格来讲,虚拟设备是一种设备管理的技术。采用该技术可以使慢速独占设备的使用方式变为共享设备的使用方式,以利于独占设备使用效率的提高。,设备管理的任务和功能,1设备管理的任务按用户的要求控制I/O设备工作,完成用户所希望的I/O操作,以减轻用户编制程序的负担;基本任务 按照一定的算法把I/O设备分配给该设备提出请求的进程,保证系统正常工作; 充分有效地使用I/O设备,尽可能提高这些设备的并行操作速度。,2设备管理的功能 设备管理属于操作系统中最烦琐、最具复杂性的部分。为了有效的提高系统中设备的效率,在设备管理中不仅涉及了I/O中断、缓冲及通道技术,而且还包括了各种类型设备的分配、启动以及虚拟设备等多方面的管理。,为实现目标要求,作为设备管理系统,应具备以下功能: 1)完成设备的分配和回收。对类型不相同的设备,采取不同的分配策略将设备及其它相关的硬件分配给申请设备的进程,对当前不能分配资源的进程,应将它们排到对应的等待队列中。进程使用完设备后,系统应及时收回。2)实现缓冲区的管理。CPU的运行速度往往高于外设的处理速度,为了缓解两者间的矛盾,使外设与CPU在处理速度上尽量匹配,系统通过设置缓冲区来完成此任务。缓冲区的分配、回收及管理工作由设备管理部分实现。,3)控制I/O设备的启动。在计算机中,为保证设备调用的灵活性和可靠性,并使用户负担减轻,设备的启动由系统自己完成,不允许用户直接启动设备。4)进行I/O事件的中断处理。具有通道的计算机系统中,I/O操作的控制是由通道执行通道程序来实现的。通道与CPU的协调操作依靠I/O中断信号来指挥,当I/O中断信号出现时,设备管理负责I/O中断事件的处理。,5)管理共享设备的驱动调度。共享设备在使用上允许多个作业交替启动占用不同的区域,故对它们不能预分配,用时才分。这使分配变为什么时候为谁服务的问题,即驱动调度问题。6)提供虚拟设备。为提高独占设备的利用率,用共享设备模拟独占设备,使独占设备的使用变为共享使用。为达到此目的,在设备管理中提供了一个SPOOLING系统。,设备控制器和I/O通道,1设备控制器 处于CPU和I/O设备之间,它接收从CPU发来的命令,并控制I/O设备工作,使CPU从繁杂的设备控制事务中解脱出来。 设备应能接收和识别来自CPU的各种命令,实现CPU与控制器,控制器和设备之间的数据交换,记录设备的状态供CPU查询,还应能识别它所控制的每个设备的地址。 所以,设备控制器应设置: 控制器寄存器存放接收的命令和参数; 数据寄存器存放传输的数据; 状态寄存器存放设备的状态;,设备控制器,是CPU与I/O设备的接口分成两大类: 用于控制字符设备的控制器; 用于控制块设备的控制器。微型机和小型机中的控制器常做成印制电路卡形式,称接口卡。,设备控制器的功能,接收和识别命令数据交换标识并报告设备的状态地址识别数据缓冲差错控制,设备控制器的组成,设备控制器与处理机接口设备控制器与设备接口I/O逻辑,与处理机接口,三类信号线: 数据线、地址线、控制线两类寄存器: 数据寄存器、控制/状态寄存器,与设备接口,一个接口连接一台设备每个接口中含有数据、地址、控制信号控制器的I/O逻辑根据处理机发的地址信号选择设备接口。,I/O逻辑,通过一组控制线与处理机交互。处理机利用它向控制器发送I/O命令。I/O逻辑对收到的命令进行译码。,设备控制器的组成,寄存器,2I/O通道,引入通道的目的:为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备,设备与设备之间的并行工作能力。 I/O通道是种特殊的处理机。它具有执行I/O指令的能力。并通过执行通道程序来控制I/O操作。 与一般处理机不同。表现在两个方面: 指令类型单一、即由于通道硬件比较简单。其所能执行的指令主要为与I/O有关的指令; 通道没有自己的内存。与CPU共享内存。,通道类型,根据信息交换方式分三种类型: 字节多路通道 数组选择通道 数组多路通道,字节多路通道,子通道的数量从几十到几百。每个子通道连接一台I/O设备。子通道按时间片轮转方式共享主通道。第一个子通道控制其I/O设备完成一个字节的交换后,便立即腾出字节多路通道(主通道),让给第二个子通道使用,依次类推,所有通道轮转一周后重返回。只要扫描每个子通道的速度足够快,而连接到子通道上的设备的速率较小时,不丢数据连接低速或中速设备时,便不丢失信息。,数组选择通道,数据传输速率较高可以连接多台高速设备一段时间内只能执行一道通道程序控制一台设备进行数据传送。利用率很低。,数组多路通道,通常连接中高速设备结合前两者的优点,缓冲技术,6.4.1 缓冲的引入6.4.2 缓冲的种类 6.4.3 缓冲池,缓冲技术可提高外设利用率,尽可能使外设处于忙状态;但有一个限制:进程的I/O请求不能超过外设的处理能力。,缓冲的引入,引入缓冲的主要目的有以下几点。1缓和处理机和I/O设备间速度不匹配的矛盾 例如一个程序,它时而进行长时间的计算而没有输出,时而又阵发性把输出送到打印机。由于打印机的速度跟不上CPU,而使得CPU长时间的等待。如果设置了缓冲区,程序输出的数据先送到缓冲区暂存,然后由打印机慢慢地输出。这时,CPU不必等待,可以继续执行程序。实现了CPU与I/O设备之间的并行工作。事实上,凡在数据的到达速率与其离去速率不同的地方,都可设置缓冲,以缓和它们之间速度不匹配的矛盾。众所周知,通常的程序都是时而计算,时而输出的。,2减少对CPU的中断次数 如果I/O操作每传送一个字节就要产生一次中断,那么设置了n个字节的缓冲区后,则可以等到缓冲区满才产生中断,这样中断次数就减少到1/n,而且中断响应的时间也可以相应的放宽。3提高CPU和I/O设备之间的并行性 缓冲的引入可显著提高 CPU和设备的并行操作程度,提高系统的吞吐量和设备的利用率。,缓冲的种类,根据系统设置的缓冲器的个数,可把缓冲技术分为: 单缓冲 双缓冲 多缓冲 缓冲池,1. 单缓冲,单缓冲是操作系统提供的最简单的一种缓冲形式。每当一个进程发出一个I/O请求时,操作系统便在主存中为之分配一缓冲区,该缓冲区用来临时存放输入/输出数据。,单缓冲是在系统的CPU与外设之间只设立一个缓冲区,输入与输出操作全部经该缓冲区来完成。当输入设备占用缓冲区时,输出设备必须处于等待状态;而当输出设备正在缓冲区将数据取走时,输入设备也必须等待,其工作方式是串行完成的。此时,缓冲区成了可共享的临界资源,必须互斥占用,不可能实现并行工作。,2. 双缓冲,解决外设之间并行工作的最简单的办法是设置双缓冲。在双缓冲方案中,具体的做法是为输入或输出操作设置两个缓冲区。,当输入或是输出时,外设先占用一个缓冲区,等当该缓冲区满后,再转去占用另一个缓冲区,同时第一个缓冲区中的数据可被取走,缓冲区可以释放,当另一个缓冲区满后,设备又可转过来占用被释放的缓冲区。这样交替占用的缓冲区,可以使CPU与外设间的并行度进一步提高。,双缓冲方式和单缓冲方式相比,虽然双缓冲方式能进一步提高CPU和外设的并行程度,并能使输入设备和输出设备并行工作,但是在实际系统中很少采用这一方式,这是因为在计算机系统中的外设很多,又有大量的输入和输出,同时双缓冲很难匹配设备和CPU的处理速度。为此,必须使用多缓冲或是缓冲池结构来解决并行问题。,3多缓冲及缓冲池管理 双缓冲技术提高了I/O设备的并行度,但由于在计算机系统中,CPU的速度总是比外设快得多,真正要实现CPU与外设的并行操作,双缓冲技术还不能达到要求,为此,在计算机中都采用多缓冲或缓冲池结构。,多缓冲是把主存中的多个缓冲区组织成两部分,一部分用于做输入缓冲区,另一部分作为输出缓冲区。缓冲池则是将多个缓冲区连接成一个完整的区域,其中每个区既可以作为输入又可以作为输出用。多缓冲及缓冲池是系统中的共享资源,可供各进程使用,由系统统一分配和管理。它的使用必须互斥地进行。,设备的分配与回收,当某进程向系统提出I/O请求时,设备分配程序按一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主机和设备间信息交换。,设备分配策略 由于在多道程序系统中,进程数多于资源数,引起资源的竞争。因此,要有一套合理的分配原则,考虑的因素:I/O设备的固有属性I/O设备的分配算法设备分配的安全性与设备的无关性,1)独占设备的分配,要考虑充分发挥效率,避免由于不合理的分配策略造成死锁,在设备分配中起作用的分配方式主要有两种:静态分配与动态分配。 静态分配:用户作业执行之前,由系统一次性分配给该作业所要求的全部设备、控制器和通道。 一旦分配之后,这些设备、控制器和通道就一直为该作业所占有,直到该作业撤消。 优点:不会出现死锁 缺点:设备的使用效率低,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号