OUC 操作系统第五章 设备管理

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

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

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

资源描述

1第五章设备管理5.1I/O系统5.2I/O控制方式5.3缓冲管理5.4设备分配5.5设备处理5.6磁盘存储器的管理25.1I/O系统1.I/O设备的类型•I/O设备的类型繁多,从OS观点看,其重要的性能指标有:①设备使用特性②数据传输速率③数据的传输单位④设备共享属性……•因而,可以从不同角度对它们进行分类3①按设备的使用特性分类1.存储设备:也称外存或后备存储器、辅助存储器。•该类设备存取速度较内存慢,但容量比内存大得多,相对价格也便宜2.输入/输出设备:分为输入设备、输出设备和交互式设备。•输入设备:键盘、鼠标、扫描仪、视频摄像、各类传感器等。•输出设备:打印机、绘图仪、显示器、数字视频显示设备、音响输出设备等。•交互式设备:集成上述两类设备,利用输入设备接收用户命令,通过输出设备显示执行的结果4②按传输速率分类①低速设备:传输速率仅为每秒钟几个字节至数百个字节•键盘、鼠标器、语音的输入和输出等②中速设备:传输速率在每秒钟数千个字节至数十万个字节•行式打印机、激光打印机等③高速设备:传输速率在数百个千字节至千兆字节•磁盘机、光盘机等5③按信息交换的单位分类①块设备:用于存储信息•由于信息的存取总是以数据块为单位,故而得名•属于有结构设备。典型的块设备是磁盘,每个盘块的大小为512B~4KB•基本特征:速率高,可寻址,DMA方式②字符设备:用于数据的输入和输出。•基本单位是字符,故称为字符设备。•属于无结构类型。•基本特征:速率低,不可寻址,中断驱动方式6④按设备的共享属性分类①独占设备:指在一段时间内只允许一个进程访问的设备,即临界资源•系统一旦把这类设备分配给了某进程后,便由该进程独占,直至用完释放•注意:独占设备的分配有可能引起进程死锁②共享设备:在一段时间内允许多个进程“同时”访问的设备•显然,共享设备必须是可寻址的和可随机访问的设备。典型的共享设备是磁盘③虚拟设备:通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个进程“同时”使用72.设备与控制器之间的接口•通常,I/O设备并不是直接与CPU进行通信,而是与设备控制器通信•在I/O设备中含有与设备控制器的接口,在该接口中有三种类型的信号,各对应一条信号线8缓冲转换器控制逻辑信号数据数据信号线状态信号线控制信号线至设备控制器I/O设备设备与控制器之间的接口9①数据信号线•用于设备和设备控制器之间传送数据信号。•对输入设备而言,外界输入的信号转换成数据,通常先送入缓冲器中,当数据量达到一定的比特(字符)数后,再从缓冲器通过一组数据信号线传送给设备控制器。•对输出设备而言,将从设备控制器经过数据信号线传送来的一批数据先暂存于缓冲器中,经转换后再逐个字符地输出。10②控制信号线•是设备控制器向I/O设备发送控制信号时的通路•信号规定了设备将要执行的操作,如读操作、写操作,或移动磁头等操作③状态信号线•用于传送设备当前状态的信号•设备的当前状态有正在读/写;设备已读/写完成,并准备好新的数据传送113.设备控制器•设备控制器的基本功能①接收和识别命令•CPU向控制器发送多种不同的命令,设备控制器应能接收并识别这些命令。•为此,在控制器中应具有相应的控制寄存器,用来存放接收的命令和参数,并对所接收的命令进行译码。•例如,磁盘控制器可以接收CPU发来的Read、Write、Format等15条不同的命令,而且有些命令还带有参数;•相应地,在磁盘控制器中有多个寄存器和命令译码器等12②数据交换•指实现CPU与控制器之间、控制器与设备之间的数据交换。•对于前者,是通过数据总线,由CPU并行地把数据写入控制器,或从控制器中并行地读出数据;•对于后者,是设备将数据输入到控制器,或从控制器传送给设备。•为此,在控制器中须设置数据寄存器13③标识和报告设备的状态•控制器应记下设备的状态供CPU了解•例如,仅当设备处于发送就绪状态时,CPU才能启动控制器从设备中读出数据•为此,在控制器中应设置一状态寄存器,用其中的每一位来反映设备的某一种状态•当CPU将该寄存器的内容读入后,便可了解该设备的状态14④地址识别•就像内存中的每一个单元都有一个地址一样,系统中的每一个设备也都有一个地址,而设备控制器又必须能够识别它所控制的每个设备的地址。•此外,为使CPU能向(或从)寄存器中写入(或读出)数据,这些寄存器都应具有唯一的地址•控制器应能正确识别这些地址。为此,在控制器中应配置地址译码器15⑤数据缓冲•由于I/O设备的速率较低而CPU和内存的速率很高,故在控制器中必须设置一缓冲器。•在输出时,用此缓冲器暂存由主机高速传来的数据,然后才以I/O设备所具有的速率将缓冲器中的数据传送给I/O设备;•在输入时,缓冲器则用于暂存从I/O设备送来的数据,待接收到一批数据后,再将缓冲器中的数据高速地传送给主机16⑥差错控制•设备控制器兼管对由I/O设备传送来的数据进行差错检测。•若发现传送中出现了错误,便向CPU报告,然后CPU将本次传送来的数据作废,并重新进行一次传送。•这样,便可保证数据输入的正确性17•设备控制器的组成①设备控制器与处理机的接口•用于实现CPU与设备控制器之间的通信。共有三类信号线:数据线、地址线、控制线•数据线通常与两类寄存器相连接①数据寄存器–用于存放从设备送来的数据(输入)或从CPU送来的数据(输出);②控制/状态寄存器–用于存放从CPU送来的控制信息或设备的状态信息18②设备控制器与设备的接口•在一个设备控制器上,可以连接一个或多个设备•相应地,在控制器中便有一个或多个设备接口,一个接口连接一台设备•在每个接口中都存在数据、控制和状态三种类型的信号•控制器中的I/O逻辑根据CPU发来的地址信号去选择一个设备接口19③I/O逻辑•在设备控制器中的I/O逻辑用于实现对设备的控制。•它通过一组控制线与CPU交互,CPU利用该逻辑向控制器发送I/O命令;I/O逻辑对收到的命令进行译码。•每当CPU要启动一个设备时,一方面将启动命令发送给控制器;另一方面又同时通过地址线把地址发送给控制器,由控制器的I/O逻辑对收到的地址进行译码,再根据所译出的命令对所选设备进行控制。20设备控制器的组成数据寄存器控制/状态寄存器数据线I/O逻辑…控制器与设备接口1控制器与设备接口i数据状态控制数据状态控制…地址线控制线CPU与控制器接口控制器与设备接口21•总线系统•在计算机系统中的各部件,如CPU、存储器以及各种I/O设备之间的联系,都是通过总线来实现的。•总线的性能是用总线的时钟频率、带宽和相应的总线传输速率等指标来衡量的。•随着计算机中CPU和内存速率的提高,字长的增加,以及不断地引入新型设备,促使人们对总线的时钟频率、带宽和传输速率的要求也不断提高。•这便推动了总线的不断发展,使之由早期的ISA总线发展为EISA总线、VESA总线,进而又演变成当前广为流行的PCI总线。22总线型I/O系统结构CPU存储器磁盘控制器打印机控制器…其它控制器磁盘驱动器打印机系统总线23•常用的总线①ISA•为在1984年推出的80286型微机设计的总线•总线的带宽为8位,最高传输速率为2Mb/s②EISA•20世纪80年代末期,ISA总线已难于满足带宽和传输速率的要求,于是又开发出扩展ISA(EISA)总线•带宽为32位,总线的传输速率高达32Mb/s,同样可以连接12台外部设备24•多媒体技术的兴起,特别是全运动视频处理、高保真音响、高速LAN,以及高质量图形处理等技术,都要求总线具有更高的传输速率,这时的EISA总线已难于满足要求。于是,局部总线便应运而生•局部总线:指将多媒体卡、高速LAN网卡、高性能图形板等,从ISA总线上卸下来,再通过局部总线控制器直接接到CPU总线上,使之与高速CPU总线相匹配,而打印机、FAX/Modem、CDROM等仍挂在ISA总线上。在局部总线中较有影响的是VESA总线和PCI总线25①VESA•设计思想是以低价位迅速占领市场。•VESA总线的带宽为32位,最高传输速率为132Mb/s。•在20世纪90年代初被推出时,广泛应用于486微机中。•但VESA总线仍存在较严重的缺点,比如,它所能连接的设备数仅为2~4台,在控制器中无缓冲,故难于适应处理器速度的不断提高,也不能支持后来出现的Pentium微机。26②PCI•随着Pentium系列芯片的推出,Intel公司分别在1992年和1995年颁布了PCI总线的V1.0和V2.1规范,后者支持64位系统。•PCI最大传输速率可达132Mb/s。•PCI既可连接ISA、EISA等传统型总线,又可支持Pentium的64位系统,是基于Pentium等新一代微处理器而发展的总线275.2I/O控制方式•I/O控制方式有几个发展阶段①程序控制方式②中断驱动方式③DMA方式④I/O通道控制方式28①程序控制方式•早期的计算机系统中,CPU对设备的控制采取程序控制方式,或称为忙—等待方式。•基本思想1.CPU发出一条I/O指令启动输入设备输入数据时,要同时令状态寄存器中的忙/闲标志busy置1,并循环检查busy的值。2.当busy=1时,表示尚未完成一个字(符)的输入,此时CPU应继续对busy进行检查,直至busy=0,表明已完成数据的输入。3.于是,CPU将数据寄存器中的数据取出,送入内存中,这样便完成了一个字(符)的I/O。4.接着再去启动读下一个数据,并置busy=1。如此反复下去。29②中断驱动方式•现代计算机系统中,都毫无例外地引入了中断机构,因此对I/O设备的控制,广泛采用中断驱动方式•基本思想–进程要启动I/O设备工作时,由CPU向该设备控制器发出一条I/O命令,然后便可立即返回继续执行原来的任务。–设备控制器按照命令要求去控制指定设备。此时,CPU与I/O设备并行操作。–设备处理完数据后,便产生一个中断信号。此时,CPU便转而处理该信号。30•在I/O设备处理每个数据的过程中,由于无需CPU干预,因而可使CPU与I/O设备并行工作。•仅当处理完一个数据时,才需CPU花费极短的时间去做些中断处理。•可见,这样可使CPU和I/O设备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。31③DMA方式•虽然中断驱动方式比程序控制方式更有效,但它仍是以字(节)为单位进行I/O的,每当完成一个字(节)的I/O时,控制器便要向CPU发出一次中断。•换言之,采用中断驱动方式时的CPU是以字(节)为单位进行干预的。如果将这种方式用于块设备的I/O,显然效率极低。•例如,为了从磁盘中读出1KB的数据块,CPU会被中断1K次。•为了进一步减少CPU对I/O的干预而引入了DMA方式•DMA的特点①传输的基本单位——数据块.CPU与I/O设备之间每次传送至少一个数据块②所传送的数据从设备直接送入内存,或者相反③仅在传送一个或多个数据块的开始和结束时,才需CPU干预。传送是在控制器的控制下完成的。•可见,DMA方式较之中断驱动方式,又成百倍地减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行程度。3233•DMA控制器的组成•DMA控制器由三部分组成①主机与DMA控制器的接口②DMA控制器与块设备的接口③I/O控制逻辑DMA控制器的组成DRMARDCCRI/O控制逻辑…主机—控制器接口控制器与块设备接口count内存CPU命令系统总线DMA控制器命令/状态寄存器:接收从CPU发来的I/O命令或有关控制信息,或设备状态内存地址寄存器:存放数据的源/起始目标地址数据寄存器:用于暂存数据数据计数器:存放本次CPU要读或写的字(节)数3435•DMA工作过程–以从磁盘读入数据为例:①从磁盘读入数据块时,CPU将一条读指令送至磁盘控制器的命令寄存器(CR)中。②将数据读入的内存起始目标地址送入内存地址寄存器(MAR)中;将读数据的字(节)数送入数据计数器(DC)中③将磁盘的源地址送至DMA控制器的I/O逻辑中。④然后,启动DMA控制器进行数据传送,以后,CPU便可去处理其它任务。⑤此后,整个数据传送过程便由DMA控制器进行控

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

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

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

×
保存成功