操作系统-第五章设备管理.ppt
《操作系统-第五章设备管理.ppt》由会员分享,可在线阅读,更多相关《操作系统-第五章设备管理.ppt(81页珍藏版)》请在三一办公上搜索。
1、第五章 设备管理,设备管理是操作系统中负责直接处理硬件设备的部分,它对硬件设备进行抽象,使用户程序通过操作系统完成对I/O设备的操作。基本任务:完成用户提出的I/O请求,提高I/O速率以及改善I/O设备的利用率。,5.1 概述5.1.1 I/O管理的重要性,I/O设备就像计算机系统的五官和四肢2.I/O性能经常成为系统性能的瓶颈(1)CPU性能不等于系统性能 响应时间也是一个重要因素(2)CPU性能越高,与I/O差距越大 弥补:更多的进程(3)进程切换多,系统开销大,3.操作系统庞大复杂的原因之一是:资源多、杂,并发,均来自I/O4.理解I/O的工作过程与结构是理解操作系统的工作过程与结构的关
2、键5.与其他功能联系密切,特别是文件系统,5.1.2 设备的分类,按传输速率:低速(100KB/s)按信息交换单位分类块设备:读写的基本单位是数据块,如磁盘字符设备:读写的基本单位是字符,如键盘按共享属性分类独占设备:在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。(如打印机,磁带等)共享设备:在一段时间内可有多个进程以交叉的方式来共同使用的设备,其资源利用率高。(如硬盘)虚拟设备:在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚拟设备。目的是将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率。,5.1.3 设备管理的目标和
3、任务,按照用户的请求,控制设备的各种操作,完成I/O设备与内存之间的数据交换,最终完成用户的I/O请求完成功能:(1)设备分配与回收 记录设备的状态 根据用户的请求和设备的类型,采用一定的分配算法,选择一条数据通路(2)建立统一的独立于设备的接口(3)完成设备驱动程序,实现真正的I/O操作(4)处理外部设备的中断处理(5)管理I/O缓冲区,2.向用户提供使用外部设备的方便接口,屏蔽了硬件细节(设备的物理细节,错误处理,不同I/O的差异性)使用户摆脱繁琐的编程负担。方便性、友好界面、透明性3.利用各种技术(通道,中断,缓冲等)提高CPU与设备、设备与设备之间的并行工作能力,提高资源利用率 并行性
4、 均衡性(使设备充分忙碌)4.保证在多道环境下,多个进程竞争使用设备时,按一定策略分配和管理各种设备,使系统能有条不紊的工作5.保护 设备传送或管理的数据应该是安全的、不被破坏的、保密的,6.与设备无关性(设备独立性)用户在编制程序时,使用逻辑设备名,由系统实现从逻辑设备到物理设备(实际设备)的转换。用户能独立于具体物理设备而方便的使用设备,用户申请使用设备时,只需要指定设备类型,而无须指定具体物理设备,系统根据当前的请求,及设备分配的情况,在相同类别设备中,选择一个空闲设备,并将其分配给一个申请进程。7.统一性:对不同的设备采取统一的操作方式,在用户程序中使用的是逻辑设备。优点是:设备忙碌或
5、设备故障时,用户不必修改程序改善了系统的可适应性和可扩展性,5.1.4 I/O系统的结构,1.微机I/O系统,2.具有通道的I/O系统结构,总线(BUS)数据总线(data bus)并行传送数据的一组线。64位地址总线(address bus)并行传送地址的一组线。32位控制总线(control bus)传送控制信息中的一组并行线I/O总线(BUS)当总线连接的是CPU和I/O设备时,就称它为I/O总线Intel 80 x86微处理器只使用了32位地址总线中的16 位对I/O设备进行寻址,使用64位数据总线中的8位、16位或32位传送数据。每个I/O设备都通过设备控制器连接到I/O总线上。CP
6、U通过I/O总线的各I/O端口与不同的控制器交换信息,从而访问对应的设备。,PC的I/O体系结构,CPU,I/O BUS,I/O port,I/O Controler,I/O port,I/O设备,I/O端口(I/Oport),每个连接到I/O总线上的设备控制器都有自己的I/O地址集,即一组I/O端口,所以每个设备对应一组端口;在IBM PC体系结构中,I/O地址空间共提供了65,536个8位I/O端口。有四条专用汇编指令允许CPU对I/O端口进行读写。即:in、ins、out和outs在执行指令时,CPU用地址总线选择所请求的I/O端口,用数据总线在CPU和设备控制器之间传送数据。I/O端口
7、还可以被映射到物理地址空间 因此,处理器和I/O设备之间的通信还可直接使用对内存进行操作的汇编指令(例如:mov、and等等),5.1.5 设备控制器,控制器是CPU与I/O设备之间的接口;接收从CPU发来的命令,并控制I/O设备工作。控制器是一个可编址设备,例如PC中硬盘控制器的I/O端口地址。从物理上看,控制器是一块接口卡或主板上的一个功能模块。,设备控制器的组成,设备控制器的功能,地址识别:识别I/O端口地址,使I/O操作与设备对应。接收和识别命令指挥设备执行 接收CPU通过I/O总线发来的命令和参数,存储在控制器中相应的控制寄存器中,并对它进行译码识别,转换成适当的电信号,通过控制器与
8、设备的接口向设备发送,指挥设备执行特定的操作。接收和记录设备的状态 接收从设备发来的电信号,进行转换和解释,变为设备的状态信息,将此结果记录在控制器的状态寄存器上,供CPU了解。数据交换 实现CPU控制器设备的数据交换,从而实现了CPU到设备的数据传递和设备到CPU的数据传递。,5.2 I/O控制方式一、循环I/O测试方式(程序I/O方式)二、程序中断I/O方式三、DMA(直接存储器访问)方式四、通道技术,5.2.1 程序I/O方式,CPUI/OI/O CPUCPU忙等循环检测I/O CPUCPU 内存,5.2.2 中断驱动I/O 控制方式,当某进程要启动某个I/O设备工作时,便由CPU向相应
9、的设备控制器发出一条I/O指令,然后立即返回继续执行原来的任务。设备控制器便按该指令的要求去控制指定的I/O设备。此时,CPU可以去做其它事情与I/O设备并行工作。例如,在输入时,当设备控制器收到CPU 发来的读命令后,便去控制相应的输入设备读数据。数据进入数据寄存器后,设备控制器通过中断控制器和控制总线向CPU发出中断信号,CPU响应中断,读设备控制器状态检查是否出错,若无错,则通过数据总线从设备控制器中读出数据,写入存储器。,CPUI/OI/O CPUI/O CPUCPU 内存,5.2.3 DMA(direct memory access)控制方式,DMA控制方式的引入 中断方式是以字节(
10、字)为单位进行I/O的,每完成一个字节(字)CPU要处理一次中断,这种方法用于块设备效率极低,为了进一步减少CPU对I/O的干预,提高CPU与I/O设备的并行度引入DMA控制方式。DMA方式的特点为:数据传送的基本单位是数据块。数据是直接在设备内存之间传送的。仅在传送一个或多个数据块的开始和结束时才需要CPU对I/O的干预,传送工作本身是由DMA控制器完成的。,DMA控制器的组成主机与DMA控制器的接口数据寄存器(DR)内存地址寄存器(MAR)数据计数器(DC)命令/状态寄存器(CR)DMA控制器与块设备的接口I/O控制逻辑,DMA方式从磁盘读入数据块的工作流程:,DMA工作原理窃取总线控制权
11、 存放输入数据的内存起始地址、要传送的字节数送入 DMA控制器的内存地址寄存器和传送字节计数器;中断允许位和启动位置成1,启动设备。发出传输要求进程进入等待状态,其他进程占据CPU。DMA控制器不断窃取总线控制权,数据不断写入内存。传送完毕,发出中断信号。CPU接到中断信号转入中断处理程序处理。中断处理结束,CPU返回原进程或切换到新的进程。,DMA方式与中断的主要区别 中断方式的数据传送到存储器是由CPU控制完成的。而DMA方式的数据传送到存储器则不经过CPU,由DMA控制器直接完成。中断方式在设备控制器的数据缓冲寄存区满后,发中断请求,CPU进行中断处理将缓冲区数据传送到内存。而DMA方式
12、则是在所要求传送的数据块全部传送到内存结束时,发中断请求,CPU进行中断处理。大大减少了CPU进行中断处理的次数和时间。,通道技术1.定义:通道是独立于CPU的专门负责数据输入/输出传输工作的处理机,对外部设备实现统一管理,代替CPU对输入/输出操作进行控制,从而使输入、输出操作可与CPU并行操作。2.引入通道的目的 为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备,设备与设备之间的并行工作能力,I/O通道的特点I/O通道是一种特殊的处理机具有执行I/O指令的能力通过执行通道程序来控制I/O操作指令类型单一,没有自己的内存,3.通道程序 通过执行通道程序,并与设备控制器共同完成对I
13、/O设备的控制,通道程序的每条指令含如下信息:操作码,内存地址,计数,结束位P,记录结束R 通道可实现CPU、通道和I/O设备三者并行工作。例:,4.分类1)字节多路通道 字节多路通道以字节为单位传输信息,它可以分时地执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传送信息。特点:主要连接以字节为单位的低速I/O设备。如打印机,终端。以字节为单位交叉传输,当一台传送一个字节后,立即转去为另一台传送字节含有许多非分配型子通道(几十到几百),每个子通道连接一台低速或中速字节设备,子通道按时间片轮转方式共享主通道,只要扫描一轮的速率足够
14、快,便不会丢失信息。,2)数组选择通道 数组选择通道是以成组方式工作的,即每次传送一批数据,故传送速度很高。选择通道在一段时间内只能执行一个通道程序,只允许一台设备进行数据传输,当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程序主要连接磁盘,磁带等高速I/O设备可连接多台高速块设备,但由于只含有一个分配型子通道,当某台设备占用了该通道,便由它独占,直到用完释放为止,显然它的利用率低。,3)数组多路通道 它结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点。它先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令主要连接高速设备将以上两种
15、结合,它含有多个非分配型子通道,具有很高的传输速率,又有满意的通道利用率。这样,对于连接多台磁盘机的数组多路通道,它可以启动它们同时执行移臂定位操作,然后,按序交叉地传输一批批数据。数据多路通道实际上是对通道程序采用多道程序设计的硬件实现,4.解决瓶颈问题,交叉连接,5.3 缓冲技术1.缓冲技术的引入 凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。在操作系统中采用缓冲是为了实现数据的I/O操作,以缓解CPU与外部设备之间速度不匹配的矛盾,提高资源利用率缓冲技术减少了I/O设备对处理器的中断请求次数简化了中断机制节省了系统开销,2.缓冲区设置硬缓冲:在设备中设置缓冲区,由硬件实现软缓冲:在
16、内存中开辟一个空间,用作缓冲区3.缓冲区管理 单缓冲:操作系统中设置一个缓冲区 双缓冲:操作系统中为某一设备设置两个缓冲区 循环缓冲:将多个缓冲区组织成循环缓冲 缓冲池:多个缓冲区连接起来统一管理,常采用多缓冲管理,1.单缓冲(Single Buffer)块设备输入时,输入到缓冲区的时间为T,OS将数据从缓冲区传到用户区的时间为M,CPU处理这块数据的时间为C;显然T和C是可以并行的。,字符设备输入输出时,缓冲区用于暂存一行数据。,2.双缓冲(Doubel Buffer)为了加快I/O速度提高设备利用率,又引入了双缓冲机制(缓冲对换 Buffer Swapping);如果CT,块设备可连续输入
17、。,如果要实现两台机器之间同时双向通信,必须在两台机器中都设置两个缓冲区,一个发送一个接收。,3.循环缓冲 I/O进程和计算进程对缓冲区的使用相当于生产者消费者问题,当两者之间速度基本相匹配时,双缓冲能获得较好的效果,但两者之间速度变化很大相差很远时效果不理想;可将多个缓冲组成循环形式。以输入为例,空缓冲区为R,已装满数据的缓冲区为G,正在使用的工作缓冲区为C,使用时要考虑进程的同步:,当计算进程要用缓冲区的数据时调用Getbuf(Nextg)过程,将Nextg指示的缓冲区提供给计算进程使用,并令Current 指针指向它的第一单元,Nextg 移向下一个G。当输入进程要空缓冲区输入数据时调G
18、etbuf(Nexti)过程,将Nexti指示的缓冲区供给输入进程,Nexti下移。,当计算进程把当前缓冲区C中的数据提取完时,调用Releasebuf()过程,将该空缓冲区释放,将其状态该为R。当输入进程把缓冲区装满时,也应调用Releasebuf()过程,将该空缓冲区释放,将其状态该为G。注意:计算进程和输入进程的同步,Nexti 和 Nextg 追赶。,4.缓冲池(Buffer Pool),缓冲池的组成 空缓冲链队列emp:由空缓冲区组成 输入缓冲链队列inq:由装满输入数据的缓冲区组成 输出缓冲链队列out:由装满输出数据的缓冲区组成 4种工作缓冲区 收容输入、提取输入、收容输出、提取
19、输出。从某队列上取下来操作完后再挂到另一队列上对缓冲池队列操作的两个过程 缓冲池中的队列是临界资源要考虑互斥与同步,缓冲区工作方式,提取输出,收容输入,提取输入,收容输出,缓冲池,hin,sin,sout,hout,用户程序,收容输入的工作方式:当输入进程需要输入数据时调用Getbuf(emp,hin)过程,从emp队列首摘下空缓 冲区作为收容输入工作缓冲区hin(2)把数据输入到工作缓冲区hin(3)调用Putbuf(inq,hin),将hin挂到inq队列尾,提取输入工作方式:当计算进程需要提取输入数据时(1)调用Getbuf(inq,sin)过程,从inq队列头摘下缓冲区 作为提取输入工
20、作缓冲区sin(2)计算进程从工作缓冲区sin中提取数据(3)调用Putbuf(emp,sin),将sin挂在emp队列尾,Procedure Getbuf(q,buf);从q队列头摘下缓冲区buf begin Wait(RS(q);信号量RS(q)是队列q的长度 Wait(MS(q);MS(q)是对q操作的互斥信号量 buf:=Takbuf(q);Signal(MS(q);endProcedure Putbuf(q,buf);buf加到q队列的队尾 begin Wait(MS(q);Addbuf(q,buf);Signal(MS(q)Signal(RS(q);end,5.4 设备分配,多道程
21、序环境下 用户进程提出I/O请求,设备分配程序按一定策略把用户所需的设备分配给用户进程。OS是怎样对设备进行分配的?采用了哪些数据结构?,5.4.1 设备分配中的数据结构,具有通道的I/O系统结构,1.系统设备表(SDT),表目1.表目i.,设备类型设备标识符设备状态:忙/闲设备队列的队首指针指向控制器表的指针重复执行次数或时间驱动程序入口,设备控制表DCT,系统设一张系统设备表,记录系统中全部设备的情况,每个设备占一个表目。,2.控制器控制表、通道控制表,COCT,CHCT,每个控制器设一张COCT,每个通道设一张CHCT,控制器标识符控制器状态:忙/闲指向相连通道表的指针控制器队列的首指针
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 第五 设备管理
链接地址:https://www.31ppt.com/p-6575522.html