您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第5章 操作系统设备管理
第5章设备管理5.1概述5.2数据传送控制方式5.3缓冲技术5.4设备分配技术5.5I/O进程控制本章学习目标数据传送的4种方式:程序直接控制方式、中断控制方式、DMA方式及通道控制方式缓冲技术的概念及4种常见的缓冲技术:单缓冲、双缓冲、环形缓冲及缓冲池设备分配的概念及3种设备分配技术:独享分配、共享分配及虚拟分配I/O进程控制5.1概述5.1.1设备类型5.1.2设备管理的任务和功能5.1.3设备控制块(DCB)返回首页5.1.1设备类型1.按操作特性分类2.按传输的信息特点分类3.按系统和用户的观点分类1.按操作特性分类按这种方法可把外部设备分为存储设备和输入/输出(I/O)设备。存储设备是计算机用来存储信息的设备,如磁盘、光盘、磁带等;I/O设备包括输入设备和输出设备两类。输入设备的作用是将外部带来的信息输入计算机,如键盘、鼠标等。输出设备的作用是将计算机加工好的信息输出到外部,如显示器,打印机等。2.按传输的信息特点分类按这种方法可将外部设备分为字符设备和块设备。字符设备处理的信息是以字符为单位组织的,如打印机、键盘等。块设备处理的信息是以块为单位组织的,如磁带、磁盘等。3.按系统和用户的观点分类按这种观点可将外部设备分为系统设备和用户设备两种。系统设备是指操作系统生成时已登记在系统中的标准设备,如键盘、磁盘等。用户设备是指操作系统生成后,用户定义的非标准设备,如绘图仪,游戏手柄等,这时需要用户安装设备驱动程序。返回本节5.1.2设备管理的任务和功能1.设备管理的任务2.设备管理的功能1.设备管理的任务提高设备的利用率设备独立性(1)独立于同类设备的具体设备号。(2)独立于设备类型。字符编码的独立性设备处理的一致性2.设备管理的功能(1)监视系统中所有设备的状态。(2)设备分配。(3)设备控制是设备管理的另一功能,它包括设备驱动和设备中断处理,具体的工作过程是在设备处理的程序中发出驱动某设备工作的I/O指令后,再执行相应的中断处理。返回本节5.1.3设备控制块(DCB)1.DCB结构2.设备转换表1.DCB结构表5.1DCB的结构设备名设备属性设备状态设备在I/O总线上的地址等待队列指针2.设备转换表对设备的请求最终要转换成对设备的I/O操作,系统可以通过操作码检索“设备转换表”找到相应的设备地址。该转换表包含设备特定的I/O例行程序地址,不具备相应操作的设备在其例行程序地址上要填“-1”返回本节5.2数据传送控制方式5.2.1程序直接控制方式5.2.2中断控制方式5.2.3DMA方式5.2.4通道控制方式返回首页5.2.1程序直接控制方式程序直接控制方式是指由程序直接控制内存或CPU和外围设备之间进行信息传送的方式。通常又称为“忙—等”方式或循环测试方式。在数据传送过程中,必不可少的一个硬件设备是I/O控制器,它是操作系统软件和硬件设备之间的接口,它接收CPU的命令,并控制I/O设备进行实际的操作。返回本节5.2.2中断控制方式(1)将允许启动和允许中断的控制字写入设备控制中,启动该设备进行输入操作。(2)该进程放弃处理机,等待输入的完成。(3)当输入完成时,输入设备通过中断请求线向CPU发出中断请求信号。(4)将等待输入完成的那个进程唤醒,进入就绪状态,并返回到被中断的进程继续执行。(5)操作系统进程调度程序选中提出的请求并得到获取数据的进程,该进程从约定的内存特定单元中取出数据继续工作。返回本节5.2.3DMA方式DMA方式的特点是:(1)数据传送的基本单位是数据块。(2)所传送的数据是从设备送内存,或者相反。(3)仅在传送一个或多个数据块的开始和结束时,才需中断CPU,请求干预,整块数据的传送是在DMA控制器控制下完成的。图5.1DMA控制器与其他部件的关系CPU主存DMA控制器I/O设备返回本节5.2.4通道控制方式每条通道指令应包含以下的内容:(1)操作码:它规定指令所执行的操作,如读、写等。(2)内存地址:标明数据传送时内存的首址。(3)计数:表示传送数据的字节数。(4)通道程序结束位R0,表示通道程序是否结束。R0=1表示本条指令是最后一条指令。(5)记录结束标志R1,表示所处理记录是否结束。图5.2通道方式的数据传送结构返回本节5.3缓冲技术5.3.1缓冲的引入5.3.2单缓冲5.3.3双缓冲5.3.4环形缓冲5.3.5缓冲池返回首页5.3.1缓冲的引入1.缓和处理机和I/O设备间速度不匹配的矛盾2.减少对CPU的中断次数3.提高CPU和I/O设备之间的并行性返回本节5.3.2单缓冲单缓冲是操作系统提供的最简单的一种缓冲形式。每当一个进程发出一个I/O请求时,操作系统便在主存中为之分配一缓冲区,该缓冲区用来临时存放输入/输出数据。单缓冲方式由于只有一个缓冲区,这一缓冲区在某一时刻能存放输入数据或输出数据,但不能既是输入数据又是输出数据,否则在缓冲区中的数据会引起混乱,所以此缓冲区可以认为是临界资源,不允许多进程同时访问它。返回本节5.3.3双缓冲解决外设之间并行工作的最简单的办法是设置双缓冲。输入时将数据送往缓冲区buffer1,然后进程从buffer1中提取数据进行计算,输出时将数据送往缓冲区buffer2,输出设备从buffer2中取出数据慢慢输出,与此同时输入设备又可以将数据送往buffer1,进程从buffer1中提取数据进行计算。输入设备和输出设备可能并行工作。返回本节5.3.4环形缓冲环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来,每个缓冲区中有一个指向下一个缓冲的指针,最后一个缓冲区的指针指向第一个缓冲区,这样n个缓冲区就成了一个环形。此外,系统中有个缓冲区链首指针指向第一个缓冲区。环形缓冲区结构如图5.3所示。图5.3环形缓冲区结构返回本节5.3.5缓冲池1.缓冲池的组成2.缓冲池的工作方式1.缓冲池的组成缓冲池中的缓冲区一般有以下三种类型(如图5.5~5.5所示):空闲缓冲区装输入数据的缓冲区装输出数据的缓冲区图5.4缓冲区队列缓冲区图5.5缓冲池的工作缓冲区2.缓冲池的工作方式收容输入提取输入收容输出提取输出返回本节5.4设备分配技术5.4.1独享设备的分配5.4.2共享设备的分配5.4.3虚拟设备的分配与Spooling技术返回首页5.4.1独享设备的分配所谓独享设备是指这类设备被分配给一个作业后,被这个作业所独占使用,其他的任何作业不能使用,直到该作业释放该设备为止。常见的独享设备有行打印机、光电输入机等。针对独享设备,系统一般采用静态分配方式。静态分配方式实现简单,而且绝对不会发生死锁,但采用静态分配方式进行设备分配时会造成设备的利用率不高。返回本节5.4.2共享设备的分配1.先来先服务2.优先级高者优先返回本节5.4.3虚拟设备的分配与Spooling技术1.虚拟设备的分配2.Spooling技术3.Spooling系统的组成4.Spooling系统的特点图5.6Spooling系统的组成返回本节5.5I/O进程控制5.5.1用户进程的输入输出请求5.5.2设备驱动程序5.5.3中断处理程序的处理过程返回首页5.5.1用户进程的输入输出请求用户进程的输入输出请求包括:申请进行I/O操作的逻辑设备名要求的操作、传送数据的长度和起始地址等。典型的用户进程的输入输出请求可通过下述通用的系统调用命令来实现:doio(dev,mode,bmount,bddr)其中:dev执行I/O的逻辑设备名;mode操作的类型,如读、写等;bmount传输的数目;bddr表示数据传送的地址。返回本节5.5.2设备驱动程序1.设备驱动程序的功能2.设备驱动程序的处理过程1.设备驱动程序的功能(1)实现逻辑设备到物理设备的转换。(2)检查I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。(3)发出I/O命令,启动相应的I/O设备,完成相应的I/O操作。(4)及时响应中断请求,并根据中断类型调用相应的中断处理程序进行处理。2.设备驱动程序的处理过程(1)将逻辑设备转换为物理设备。(2)I/O请求的合法性检查。(3)检查设备的状态。(4)传送参数。(5)启动I/O设备。返回本节5.5.3中断处理程序的处理过程1.唤醒被阻塞的驱动程序进程2.保护被中断进程的现场3.分析中断原因、转入相应的设备中断处理程序4.进行中断处理5.恢复被中断进程的现场返回本节本章小结本章从设备的分类、设备管理的任务和功能出发,对设备和中央处理器之间的数据传送的控制方式、缓冲技术、设备分配技术、I/O进程控制以及设备驱动程序进行了比较充分的介绍和讨论。常见的设备和CPU之间数据传送的控制方式有4种,它们是直接控制方式、中断控制方式、DMA方式和通道控制方式。程序直接控制方式比较简单而且不需要多少硬件支持,但CPU和外设只能串行工作且CPU要花大量的时间进行循环测试。返回首页针对设备分配,介绍了动态分配及静态分配。就设备的3种类型:独享设备、共享设备及虚拟设备介绍了独享分配、共享分配及虚拟分配,还介绍了设备分配的两种常见的算法,然后介绍的是Spooling技术。I/O进程控制是对整个I/O操作的控制,包括对用户进程I/O请求命令的处理,启动通道指令或驱动程序进行真正的I/O操作,以及分析中断原因、响应中断等。设备驱动程序是驱动物理设备和DMA控制器或I/O控制器等直接进行I/O操作的子程序集合。它们负责设置相应设备有关寄存器的值、启动设备进行I/O操作,指定操作的类型和数据的流向等。
本文标题:第5章 操作系统设备管理
链接地址:https://www.777doc.com/doc-3195501 .html