计算机操作系统-第5章设备管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第5章设备管理5.1I/O系统5.2设备分配5.3虚拟设备5.4磁盘存储器管理5.5设备驱动程序5.6WindowsXP的I/O系统5.7缓冲技术5.8WindowsXP的高速缓存管理5.1.1I/O设备5.1.2设备控制器5.1.3I/O控制方式5.1I/O系统计算机的外设种类:存储型设备,又称为辅助存储器,以存储大量信息和快速检索为目标。输入/输出型设备,它们是计算机与外部交换信息的设备。I/O设备按不同的角度分类:按数据传输率分类按信息交换的单位分类按设备的共享属性分类5.1.1I/O设备按数据传输率分类低速设备中速设备高速设备按信息交换的单位分类字符设备块设备5.1.1I/O设备按设备的共享属性分类独占设备共享设备共享设备5.1.1I/O设备设备控制器有以下主要功能:接收和识别CPU或通道发来的命令实现数据交换标识和报告设备的状态。设备地址识别设备控制器必须含有以下三个部分:1、设备控制器与CPU的接口2、设备控制器与设备的接口3、I/O逻辑5.1.2设备控制器I/O设备的控制方式分为四类:循环测试方式中断方式DMA方式通道方式5.1.3I/O控制方式循环测试方式的实现过程:(1)把一个启动位为“1”的控制字写入该设备的控制寄存器,从而启动该设备进行输入操作。(2)CPU反复读取控制寄存器的内容,并测试其中的完成位,若为“0”,则转(2),否则转(3)。(3)把数据缓冲区的数据读入CPU或主存。5.1.3I/O控制方式中断方式的实现过程:要求输入数据的进程将一个启动和中断允许位为“1”的控制字写入设备控制状态寄存器中该进程因等待输入操作的完成而进入等待状态。于是进程调度程序调度另一进程运行5.1.3I/O控制方式中断方式的实现过程(续):当完成了输入工作时,设备向CPU发出中断信号。通过中断进入,CPU转向该设备的中断处理程序中断处理程序先保护现场,然后把输入缓冲寄存器的输入数据转送到指定单元中,同时把该进程唤醒。最后中断处理程序恢复被中断程序的现场,并返回到被中断的进程继续执行5.1.3I/O控制方式DMA的实现过程:当一个进程准备要求输入一批数据时,把要求传送的主存始址和要传送的字节数分别送入DMA控制器的主存地址寄存器和传送字节数计数器。将一个启动位和中断允许位为“1”的控制字写入设备控制状态寄存器中,从而启动设备开始进行数据的成批传送。5.1.3I/O控制方式DMA的实现过程(续):该进程将自己挂起,等待一批数据输入完成,于是进程调度程序调度另一进程运行。当一批数据输入完成时,输入设备完成中断信号以中断正在运行的进程,控制转向中断处理程序。5.1.3I/O控制方式DMA的实现过程(续):中断处理程序首先保护现场,唤醒等待输入完成的进程,然后恢复现场,并返回到被中断的进程继续执行。当进程调度程序调度到要求输入的进程时,该进程按照指定的主存始址和字节数对输入数据进行加工处理。5.1.3I/O控制方式DMA控制器与CPU、主存及I/O设备之间的关系5.1.3I/O控制方式数据缓冲寄存器控制线地址线数据线CPU主存DMA控制器I/O设备控制状态寄存器传送字节数计数器内存地址寄存器通道可分为三种类型:字节多路通道它以字节为单位传输信息,可以分时地执行多个通道程序选择通道该类型通道一次从头到尾执行一个通道程序,只有执行完一个通道程序之后再执行另一个通道程序数组多路通道它以分时的方式执行几个通道程序,每执行一个通道程序的一条通道指令就转向另一通道程序5.1.3I/O控制方式5.2.1设备独立性5.2.2设备分配的原则5.2.3设备分配中的数据结构5.2设备分配设备独立性:指定逻辑设备,使得用户作业和物理设备独立开来,再通过其它途径建立逻辑设备和物理设备之间的对应关系设备独立性带来的好处:用户应用程序与物理的外设无关,系统增减或变更外设时程序不必修改;易于对付输入输出设备的故障,从而提高了系统的可靠性,增加了外设分配的灵活性,能更有效地利用外设资源,实现多道程序设计技术5.2.1设备独立性静态分配和动态分配:静态分配:对独占设备一般采用静态分配,一旦分配给作业或者进程,就由它们独占使用,直至该进程完成或释放该设备分配方法:共享设备采用动态分配方法,需要使用某台设备进行I/O传输时向系统提出要求,系统根据设备情况和分配策略实施分配,一旦I/O传输完成,就释放该设备5.2.2设备分配的原则设备分配算法先来先服务分配算法:当有多个进程对设备提出I/O请求或同一进程要求在同一设备上进行多次传输时,均要形成I设备请求队列。当设备空闲时,它将处理该队列中的第一个I/O请求优先级最高者优先分配算法:根据进程的优先级高低进行排序,即将进程的优先级赋予相应的I/O请求块。5.2.2设备分配的原则设备分配的安全性独占设备:一般在作业调度时就进行分配,而且一旦分配,该独占设备一直为这个作业所占有动态分配:1.不会产生死锁:每当进程以命令形式发出I/O请求后,它便立即进入阻塞状态,直到所提出的I/O请求完成才被唤醒。2.可能产生死锁:仅当进程所请求的设备为另一进程占用时才进入阻塞状态。设备分配程序应先作死锁的检测工作,以避免死锁的发生5.2.2设备分配的原则进行设备分配时所需的数据结构有:设备控制表DCT系统设备表SDT控制器表COCT通道控制表CHCT5.2.3设备分配中的数据结构设备控制表DCT包括以下内容:设备标识符。用来区别设备的。设备类型。反映设备的特性设备地址或设备号。设备状态。指设备是处于工作状态还是空闲中。等待队列指针。等待使用该设备的进程组成等待队列,其队首和队尾指针存放在其中。I/O控制器指针。该指针指向该设备相连接的I/O控制器。5.2.3设备分配中的数据结构系统设备表SDT包括以下内容:DCT指针。该指针指向有关设备的设备控制表。正在使用设备的进程标识。设备类型和设备标识符,其含义与DCT中的相同。控制器表COCT每个控制器都有一张控制器表COCT,它反映I/O控制器的使用状态以及和通道的连接情况等(在DMA方式时,该项是没有的)5.2.3设备分配中的数据结构通道控制表CHCT该表仅在通道控制方式的系统中存在,也是每个通道一张。5.2.3设备分配中的数据结构SDT、DCT、COCT和CHCT之间的关系5.2.3设备分配中的数据结构CHCTCOCTSDT表目1……表目n…………设备类型设备标识符DCT指针获得设备的进程……控制器设备标识符CHCT指针控制器等待队列指针……设备类型设备标识符设备状态:忙/闲COCT指针设备等待队列指针……通道标识符通道状态:忙/闲通道等待队列指针……DCT设备分配程序执行步骤:分配设备分配控制器分配通道5.2.3设备分配中的数据结构5.3.1Spooling技术5.3.2Spooling系统的组成和实现5.3.3Spooling应用实例5.3虚拟设备Spooling技术:SimultaneousPeripheralOperationOnLine:联机的同时外围设备操作,又称作假脱机操作Spooling的特点:提高了I/O的速度。将独占设备改造为共享设备实现了虚拟设备功能5.3.1Spooling技术Spooling系统的组成:5.3.2Spooling系统的组成和实现输入设备输出设备预输入进程缓输出进程输入缓冲区输出缓冲区输出井输入井输入井和输出井:输入井是模拟脱机输入时的磁盘设备,用于暂存I/O设备输入的数据输出井是模拟脱机输出时的磁盘,用于暂存用户程序的输出数据5.3.2Spooling系统的组成和实现输入缓冲区和输出缓冲区:输入缓冲区用来暂存由输入设备送来的数据,以后再传送到输入井输出缓冲区用于暂存从输出井送来的数据,以后再传送给输出设备5.3.2Spooling系统的组成和实现预输入进程和缓输出进程:预输入进程,将用户要求的数据从输入机通过输入缓冲区再送到输入井。当CPU需要输入数据时,直接从输入井读到内存缓输出进程,把用户要求输出的数据先从内存送到输出井。当CPU有空闲时,操作系统调出缓输出进程进行缓输出工作井管理程序:用来控制作业和辅助存储器缓冲区域之间交换信息的程序5.3.2Spooling系统的组成和实现共享打印机网络通信Spooling守护进程5.3.3Spooling应用实例5.4.1磁盘的物理结构5.4.2磁盘调度5.4.3提高磁盘I/O速度的其它方法5.4磁盘存储器管理查找时间Ts:指磁盘机根据柱面号控制磁臂作机械的横向移动,带动读写磁头到达指定柱面所经历的时间Ts=m×n+s启动磁臂的时间s,磁头移动n条磁道,m常数5.4.1磁盘的物理结构搜索延迟Tτ:从磁头号可以确定数据所在的盘,然后等待被访问的信息块旋转到读写头下面所经历的时间5.4.1磁盘的物理结构5.4.1磁盘的物理结构传输时间Tt:指把数据从磁盘读出或向磁盘写入数据所经历的时间Tt=b/rNb为每次所读/写的字节数;r为磁盘每秒钟的转数;N为一条磁道上的字节数5.4.1磁盘的物理结构访问时间Ta:Ta=Ts+Tτ+TtTa=m×n+s+1/2r+b/rN常用的磁盘调度算法(续):先来先服务FCFS:按照进程请求访问磁盘的先后次序进行调度最短查找时间优先算法SSTF先执行查找时间最短的那个磁盘请求扫描算法SCAN:不仅考虑了欲访问的磁道与当前磁道间的距离,更有限考虑的是磁头当前移动的方向5.4.2磁盘调度常用的磁盘调度算法:循环扫描算法CSCAN:克服了分布在远离磁头的请求等待的时间长的缺陷电梯调度算法每次总是选择沿臂的移动方向最近的那个柱分步扫描算法N-Step-SCANN步扫描算法是将I/O请求队列分成若干子队列,每个子队列不超过N个请求,每次选一个子队列进行扫描5.4.2磁盘调度磁盘高速缓存通常为磁盘设置高速缓存,这样能显著减少等待磁盘I/O的时间提前读用户经常采用顺序方式访问文件的各个盘块上的数据,在读当前盘块时已能知道下次要读出的盘块的地址5.4.3提高磁盘I/O速度的其它方法延迟写在执行写操作时,磁盘缓冲区中的数据本来应该立即写回磁盘,但考虑到该缓冲区中的数据不久之后再次被输出进程或其他进程访问虚拟盘指用内存空间去仿真磁盘,又叫RAM盘。该盘的设备驱动程序可以接受所有标准的磁盘操作,但这些操作的执行,不是在磁盘上而是在内存中。操作过程对用户是透明的,即用户不会发现这与真正的磁盘操作有什么不同,而仅仅是快一点5.4.3提高磁盘I/O速度的其它方法5.5.1驱动技术的发展5.5.2设备驱动程序的功能和特点5.5.3设备驱动程序的处理过程5.5设备驱动程序I/O设备及其驱动技术的发展的特点:I/O设备及其接口逐步标准化、智能化和网络化I/O驱动软件编写、控制、修改、更新更加灵活,设备资源的利用率大大提高多媒体技术的发展,丰富了I/O设备的概念,信息设备的引入产生了远程设备的概念管理趋于统一。面向对象理论和编程技术的发展,将I/O设备的概念推向广泛和抽象,形成一种具有输入输出和可配置性的抽象设备5.5.1驱动技术的发展设备驱动程序的功能:接收由I/O进程发来的命令和参数,并将命令中的抽象要求转换为具体要求检查用户I/O请求的合法性,了解I/O设备的状态,传递有关的参数,设置设备的工作方式发出I/O命令及时响应由控制器或通道发出来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。5.5.2设备驱动程序的功能和特点设备处理方式的分类:为每一类设备设置一个进程,专门用于执行这类设备的I/O操作在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作;也可以设置一个输入进程和一个输

1 / 66
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功