设备管理教学课件PPT 101页

  • 1.55 MB
  • 2022-04-29 14:34:25 发布

设备管理教学课件PPT

  • 101页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'第七章设备管理7.1概述7.2I/O控制方式7.3缓冲技术7.4其它技术7.5设备分配2021/7/23第七章设备管理 7.1概述7.1.1设备的分类7.1.2设备管理的目标7.1.3设备管理的功能7.1.4设备管理数据结构2021/7/23第七章设备管理 7.1.1设备的分类1、按传输速率分低速设备:每秒几个到数百字节。如Modem中速设备:每秒数千到数万字节。如打印机高速设备:每秒数百K到数兆。如磁盘、磁带2021/7/23第七章设备管理 2、按信息交换的单位分类字符设备:I/O传输的单位是字节,如打印机、modem等。特征:速率较低、中断驱动。块设备:I/O传输的单位是块,如磁盘、磁带。特征:速率高(几兆)、可随机访问任一块、DMA方式驱动。2021/7/23第七章设备管理 3.按资源管理方式分类独占型设备:在任一段时间内最多有一个进程占用它,字符设备及磁带机属独占型设备。即临界资源。共享型设备:多个进程对它的访问可以交叉进行,除磁带机外的块设备属共享设备虚拟设备:在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚拟设备2021/7/23第七章设备管理 7.1.2设备管理的目标1、设备独立性所谓设备独立性:用户在编制程序时,使用逻辑设备名,由系统实现从逻辑设备到物理设备(实际设备)的转换。用户能独立于具体物理设备而方便的使用设备。2021/7/23第七章设备管理 两种类型的设备独立性独立于同一类设备中的某台具体设备。如果一个系统中有若干台相同的设备,用户编程时不指定使用哪一个具体的设备,而仅说明要使用哪一类设备,系统根据当前这一类设备的具体状况给用户分配一台具体的设备。用户不用关心他所使用的到底是哪一台设备。2021/7/23第七章设备管理 独立于不同类型的设备。例如有一程序要求输入信息,可以从各种不同类型的输入设备上给程序输入数据,则称该程序是独立于不同类型的输入设备的。又如在MS-DOS系统中,程序的I/O操作不必指出在哪台设备上进行,一般情况下是从键盘上输入数据,而在显示器上输出数据。但用户可以做一次联机操作命令Ctrl+P,则输出数据可以在打印机上打印出来。2021/7/23第七章设备管理 2、提高设备利用率提高设备的使用效率是操作系统设备管理的重要目标。为达到此目标除了要合理分配和使用外部设备外,还应努力提高设备同CPU的并行程度。与此有关的技术有:通道技术和缓冲技术。2021/7/23第七章设备管理 »I/O系统概述I/O特点–CPU与I/O的速度差别很大,导致如下情况I/O的性能成为系统性能的瓶颈操作系统变得庞大、复杂I/O设备种类繁多、物理特性差距甚大»»»数据传输率数据表示方式传输单位出错条件–I/O技术实用是学习和深入理解OS的有效途径快2021/7/23第七章设备管理 3、设备的统一管理外设的种类繁多,特性各异,主要差别反映在以下几个方面:速度:不同的设备处理和传递信息的速度差别甚大,如键盘每秒钟只能处理几个或几十个字符,而磁盘的处理速度可达几十MB/S传递单位:有的设备以字符为单位传递信息,如键盘。有的以字符块为单位传递信息,如磁盘。2021/7/23第七章设备管理 操作方法和特性:各种设备都有自己的特性和操作方法,如卡片机中的卡片不能倒退,磁带机可反绕,磁盘可随机存取。出错条件:各种设备的出错条件不同,有的可能产生奇偶错,打印机可能产生无纸错等。2021/7/23第七章设备管理 设备管理程序力图隐蔽上述各种设备的差别,向用户提供统一的设备使用接口,这会给系统的设计带来困难,但方便了用户。如UNIX系统把外设作为特别文件处理,把设备看作文件,用操作文件的方法来操作设备,这极大地方便了用户。这种设备管理方法无疑是个重大的突破。2021/7/23第七章设备管理 7.1.3设备管理的功能1、监视系统中所有设备的状态一个计算机系统中存在着许多设备,在系统运行期间这些设备都在处理各自所承担的工作,并处于各种不同的状态,系统要有效地管理和使用这些设备就必须监视它们的工作状态。系统为每个设备设置设备控制块DCB结构,在DCB中登记了设备的状态信息,系统是经过对DCB的查询来监视设备的活动的。2021/7/23第七章设备管理 2、设备的分配在多用户或多进程的环境中,每个用户在完成各自的任务时总是要使用外设,为用户或进程分配设备是设备管理的主要功能之一。设备分配包括:设备分配策略、分配的方式、分配技术和选择用户的算法。2021/7/23第七章设备管理 3、I/O控制I/O控制是设备管理的另一功能,它包括设备驱动和设备中断处理。2021/7/23第七章设备管理 I/O硬件组成原理I/O系统层次I/O硬件组成–控制器+设备本身–I/O设备(机械部分)–设备控制器(电子部分)2021/7/23第七章设备管理 I/O硬件组成原理设备控制器–插在电路板上的一块芯片或一组芯片–主要功能接收OS的命令(如,从设备读数据,并完成数据的处理)实际I/O设备本身–设备接口与设备控制器接口实际设备接口隐藏在设备控制器中OS看到的是控制器的接口2021/7/23第七章设备管理 I/O硬件组成原理设备控制器DeviceController、adapter设备与主机间的连接和通信数模信号的转换命令的接收和识别数据的交换设备状态的理解和报告两类接口(CPU/设备)2021/7/23第七章设备管理 7.1.4设备管理数据结构设备控制块(DCB)DCB是设备管理的重要数据结构,在这个结构中较全面地反映了每台设备的特性、连接和使用的状态等信息。当一台设备进入系统时必须创立相应的DCB2021/7/23第七章设备管理 DCB的内容设备标识符:系统有许多设备,为区别起见为每台设备取个名,这个名叫设备标识符。设备属性:反映设备的相应特性和类型设备I/O总线地址:设备和CPU是通过I/O总线连接起来的,它在总线上有个地址。设备状态:指设备当时所处的状态。等待队列指针:等待使用该设备的进程组成等待队列,这里存放等待队列的队首指针。2021/7/23第七章设备管理 图示2021/7/23第七章设备管理 7.2I/O控制方式7.2.1循环测试I/O方式7.2.2I/O中断方式7.2.3DMA方式7.2.4通道方式2021/7/23第七章设备管理 7.2.1循环测试I/O方式早期,I/O控制器是OS同硬件之间的接口。它有两个寄存器:数据缓冲寄存器、控制寄存器。控制寄存器有几个重要的信息位:启动位、完成位、忙位。CPU外部设备控制逻辑电路控制寄存器I/O控制器数据寄存器2021/7/23第七章设备管理 工作过程以输入为例1、把启动位置12、反复测试完成位,为0转2,为1转33、把数据从数据缓冲区中读走。浪费大量CPU时间2021/7/23第七章设备管理 7.2.2I/O中断方式I/O控制器能发中断。工作过程:1、把启动位置1,本进程(A)变为等待状态,转进程调度,调度另一进程B。2、输入完成时,控制器发出中断,中断B,通过中断进入中断处理程序。3、在中断处理程序中把数据缓冲寄存器中的数取走,放入内存特定位置M,唤醒等待进程A,中断返回到B的断点继续执行。4、在以后的某个时刻OS调度要求输入的进程A。A从M取数处理。2021/7/23第七章设备管理 分析同前相比,CPU利用率大大提高。缺点:每台设备每输入输出一个字节的数据都有一次中断。如果设备较多时,中断次数会很多,使CPU的计算时间大大减少。为减少中断对CPU造成的负担,可采用DMA方式和通道方式。2021/7/23第七章设备管理 7.2.3DMA方式j控制器功能更强,除有中断功能外,还有一个DMA控制机构。在DMA控制器的控制下,设备同主存之间可成批交换数据,不用CPU干预。2021/7/23第七章设备管理 工作过程1、当进程要求输入时,把要求传送的内存始址(M)和要传的字节数送入DMA的内存地址寄存器和传送字数寄存器2、把启动位置1。设备开始工作。进程(A)挂起。调度另一进程(B)3、一批数据输入完成后,DMA中断B,转向中断处理程序。4、中断处理程序唤醒A,返回B的断点继续执行。5、以后OS调度A运行时,A从M处取数据处理。2021/7/23第七章设备管理 DMA方式与中断的主要区别中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理大大减少了CPU进行中断处理的次数中断方式的数据传送是由CPU控制完成的而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的2021/7/23第七章设备管理 CPU向控制器发出启动DMA通知和有关参数控制器向内存发出询问请求访问内存(读、写)计数器减1结束否发中断NYDMA的实现流程2021/7/23第七章设备管理 7.2.4通道方式I/O系统结构在大型计算机系统中较为典型的I/O系统结构是主机、通道、控制器和外部设备。2021/7/23第七章设备管理 外部设备通常由机械的和电子的两部分组成,电子部分构成控制器,也叫适配器。一个控制器可交替地控制几台同类设备,例如一个磁盘控制器可以控制两台磁盘驱动器。在没有通道的计算机系统中,中央处理机是通过控制器控制I/O操作的。2021/7/23第七章设备管理 1、总线的基本概念:在计算机系统内各种子系统,如CPU、内存、I/O设备等之间,构建公用的信号或数据传输通道这种可共享的传输通道称为总线总线技术2021/7/23第七章设备管理 总线的分类CPU-内存总线I/O总线数据总线地址总线控制总线(非本课程范围)2、总线的分类2021/7/23第七章设备管理 微型计算机总线的种类和发展PC/XT总线ISA总线MCA总线EISA总线VESA总线PCI总线USB总线…...(过时)1394总线SCSI总线2021/7/23第七章设备管理 ISA(工业标准结构)ISA基于PC/AT总线,是由IEEE(美国电气电子工程师协会)1987年正式确立的标准。ISA槽是一个黑色的62+36线插槽。ISA工作频率定在8.33MHz,数据传输率为8.33MB/s。随着系统工作频率的迅速提高,其配用的扩展卡也逐渐被淘汰,现在最新的主板已开始取消ISA槽。2021/7/23第七章设备管理 PCI(外围部件互连)1993年Intel发表PCI2.0版,PCI开始走进主板。PCI有32位和64位两种,32位PCI槽124线,64位槽188线,目前常用的是32位插槽。PCI槽的时钟频率为33.3MHz,32位PCI的数据传输率为133MB/s,大大高于ISA。所以PCI问世后迅速成了扩展总线的主流,流行的扩展卡也都转移到PCI上,如显示卡、声卡、网卡、MODEM卡等等。2021/7/23第七章设备管理 AGP(加速图形端口)1996年Intel公司在PCI的基础上专为显示卡接口提出AGP标准。AGP使用32位数据总线,工作频率为66.6MHzAGP1x的数据传输率可达266MB/s,AGP2x在一个时钟周期的上升沿和下降沿各传输一次资料,其数据传输率可达到533MB/s,而AGP4x的理论传输率为1.066GB/s。2021/7/23第七章设备管理 为使中央处理机从繁忙的I/O处理中摆脱出来,现代大、中型计算机系统中设置了专门的处理I/O操作的处理机,并把这种处理机称为通道。通道在CPU的控制下独立地执行通道程序,对外部设备的I/O操作进行控制,以实现内存与外设之间成批的数据交换。通道=I/O处理机2、通道概念2021/7/23第七章设备管理 当完成CPU交给的任务后,向CPU发出中断信号,请求CPU的处理。这样就使得CPU基本上摆脱了I/O操作的处理工作,提高了CPU与设备之间的并行程序,从而提高了整个计算机系统的效率。2021/7/23第七章设备管理 3、通道指令和通道程序通道有它自己的指令系统,用这些指令编写的程序叫通道程序,通道只能执行通道程序,不可能执行用户进程。通道程序保存在内存中通道程序是由通道指令组成,一个通道可以分时的方式执行几道程序。每道程序控制一台外部设备,因此每道通道程序称为子通道。2021/7/23第七章设备管理 4、通道的种类字节多路通道:字节多路通道是以字节为基本传输单位,当一子通道控制的某台外设交换了一个字节后,就转向下一个子通道,以控制下一台设备传送一个字节。这就实现了子通道的循环轮转,以达到多路控制的目的,字节多路通道主要用来控制低速、并且以字节为基本传送单位的设备。如打印机。2021/7/23第七章设备管理 2021/7/23第七章设备管理 数据选择通道:这种通道一次执行一个通道程序,控制一台设备连续地传送一批数据,当一个程序执行完后,才转向下一个程序,它的优点是传输速度高,缺点是一次只能控制一台设备进行I/O操作。它主要用来控制高速外设。如磁盘。选择通道2021/7/23第七章设备管理 数据多路通道:这种通道是上述两种通道的折中,可以分时的方式执行多道程序,每道程序可传送一组数据。它主要用于中速设备的控制。如磁带机。在一大型系统中可以同时存在这三种类型的通道以便控制各种不同类型的设备。2021/7/23第七章设备管理 5、通道的工作过程某进程在运行过程中,若提出了I/O请求,则通过系统调用进入操作系统,系统首先为I/O操作分配通道和外设,然后按I/O请求生成通道程序并存入内存,把起始地址送入通道的首地址寄存器(CAW),接着CPU发出启动通道的指令。2021/7/23第七章设备管理 中央处理机启动通道后,通道的工作过程为:根据CAW,从内存取出通道指令,送入通道控制字寄存器(CCW),并修改CAW,使其指向下一条通道指令。执行CCW中的通道指令,进行实际的I/O操作,执行完毕后,如果还有下一条指令,则返回前一步,否则转下一步。发出中断信号通知CPU通道程序已执行完成。2021/7/23第七章设备管理 6、瓶颈问题产生的原因:通道不足解决问题的方法:增加设备到主机之间的通路2021/7/23第七章设备管理 7.3缓冲技术7.3.1引言7.3.2常用的缓冲技术2021/7/23第七章设备管理 缓冲技术为什么要缓冲?(以字符设备为例)–a)问题:对于每个到来的字符,都必须启动用户进程–b)改进:在用户空间提供一个包含n个字符的缓冲区,并执行读入n个字符的读操作–b)问题:当一个字符到来时,若缓冲区被分页而调出内存,则必须锁定,过多锁定带来可用页面数降低,系统性能下降–c)改进:内核空间创建一个缓冲区2021/7/23第七章设备管理 缓冲技术缓冲技术–缓和CPU与I/O设备之间速度的不匹配矛盾–提高CPU与I/O设备之间的并行程度–减少对CPU的中断频率,放宽对中断响应时间的限制企图将数据传输速度比较低的I/O设备(如,文件存储设备)改造成存取速度比较高的存储空间–代价:占用一部分内存空间用以构成缓冲存储区以及存放缓存管理程序–以内存空间换取时间的技术(借用了硬件设计中的高速缓冲存储器的思想)2021/7/23第七章设备管理 缓冲技术缓存技术的效果取决于–在一段时间内各进程对同一信息存储的时间间隔很短,那么缓存中信息被重用的可能性就会增加,此时缓存技术的效果就显著–缓冲存储区的数量(在内存容量允许的情况下,适当增加数量效果会提高)–缓冲管理算法(UNIXLRU算法)–物理块读、写技术(读同步,预先读/读异步,写异步/延迟写)2021/7/23第七章设备管理 缓冲技术缓冲区的分类–按设置方式硬缓冲:设备中设置,由硬件实现软缓冲:内存中设置,作为数据缓冲–按使用方式专用缓冲:专为某一设备而设置,它为某设备所专用,如键盘缓冲区通用缓冲:为多个设备所共享–按组织方式单缓冲双缓冲循环缓冲缓冲池内核空间中的缓冲区2021/7/23第七章设备管理 缓冲技术实现–预先读–延迟写单缓冲双缓冲2021/7/23第七章设备管理 1、单缓冲最简单的一种缓冲形式。当进程发出一I/O请求时,OS为之分配一缓冲区。对于输入:设备先将数据送入缓冲区,OS再将数据传给进程。对于输出:进程先将数据传入缓冲区,OS再将数据送出到设备。2021/7/23第七章设备管理 思考单缓冲能加快进程的执行速度吗?2021/7/23第七章设备管理 2、双缓冲技术为了加快输入输出速度,引入双缓冲技术。原理:设置两个缓冲区buf1和buf2。读入数据时,首先输入设备向buf1填入数据,然后进程从buf1提取数据,在进程从buf1提取数据的同时。输入设备向buf2中填数据。当buf取空时,进程又从buf2中提取数据,与此同时输入设备向buf1填数。如此交替使用两个缓冲区,使CPU和设备的并行操作的程度进一步提高。2021/7/23第七章设备管理 3环形缓冲技术当生产和消费数据的速度基本匹配时,双缓冲能获得较好效果。但若两者速度相差甚远时,效果不太理想。但随着缓冲区的数量增加,使情况有所改善。因此引入环形缓冲技术。2021/7/23第七章设备管理 环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来。系统中有个缓冲区链首指针,指向第一个缓冲区,每个缓冲区中有一个指向下一个缓冲区的指针,最后一个缓冲区中的指针指向第一个缓冲区,从而形成环形缓冲区链。系统可循环使用这些缓冲区。环形缓冲区用于输入(输出)时,还要有两个指针IN和OUT。2021/7/23第七章设备管理 IN指向可接收数据的空闲缓冲区的首址,OUT指针指向装好数据且未取走的缓冲区首址。系统初启时,指针被初始化为IN和OUT与首指针START相等,即START=IN=OUT。对于输入信息而言,设备接收信息时,信息输入到IN指向的缓冲区,当一个缓冲区装满后,IN指针指向下一个空闲缓冲区;当从缓冲区中提取信息时,提取由OUT指向的缓冲区中的信息,提取完毕,将OUT指针指向下一个装满信息的缓冲区。2021/7/23第七章设备管理 系统必须考虑到这种方案的约束条件,即IN<>OUT(初始状态除外)。从设备输入信息的操作和提取信息的操作共用环形缓冲时有一定的同步关系:OUT