操作系统设备管理.ppt
《操作系统设备管理.ppt》由会员分享,可在线阅读,更多相关《操作系统设备管理.ppt(126页珍藏版)》请在课桌文档上搜索。
1、1,2,计算机系统的一个重要组成部分是I/O系统。I/O系统包括:输入设备 输出设备 设备控制器 I/O通道或I/O处理机设备管理的对象主要是:I/O设备 设备控制器 I/O通道,3,设备管理的基本任务是:完成用户提出的I/O请求,提高I/O速率,提高I/O设备的利用率。设备管理的主要功能有:缓冲区管理 设备分配 设备处理 虚拟设备 实现设备独立性设备管理是OS中最繁杂且与硬件最紧密相关的部分。,4,本章总览,OS在 I/O方面的功能是管理和控制 I/O操作 和I/O设备。I/O技术表现出两大相冲突的发展趋势:硬件接口的标准化程度的提高设备类型的更多样化的高速发展 基本的I/O硬件像接口,总线
2、,设备控制器 技术的发展顺应了I/O设备的广泛变化。操作系统内核用各种设备驱动模块来组织 I/O子系统结构。问题:性能和复杂。,5,设备管理的目的和功能,外设管理目的提高效率:提高I/O访问效率,匹配CPU和多种不同处理速度的外设。方便使用:方便用户使用,对不同类型的设备统一使用方法,协调对设备的并发使用。方便控制:方便OS内部对设备的控制:增加和删除设备,适应新的设备类型。,6,设备管理的目的和功能,外设管理功能设备分配和释放:使用设备前,需要分配设备和相应的通道、控制器。设备的访问和控制:包括并发访问和差错处理。I/O缓冲和调度:目标是提高I/O访问效率(主要是磁盘)。,7,8,9,10,
3、11,12,5.1 I/O系统,I/O系统的结构,13,A typical PC bus structure,14,15,5.1.1 I/O设备,I/O设备的类型繁多,从OS观点看,其重要的性 能指标有:数据传输速率、数据的传输单位、设备共享属性等。按传输速率分类 低速设备 典型设备有:键盘、鼠标器、语音输入和输出等。中速设备 典型设备有:行式打印机、激光打印机等。高速设备 典型设备有:磁带机、磁盘机、光盘机等。,1.I/O设备的类型,16,按信息交换的单位分类 块设备:这类设备用于存储信息。属于有结构设备。典型的块设备是磁盘,每个盘块的大小 为 512 B4 KB。传输速率较高,可寻址即对它
4、可随机地读/写任一块;磁盘设备的 I/O 常采用 DMA 方式。字符设备:用于数据的输入和输出。其基本单位是字符,故称为字符设备。按设备的共享属性分类 独占设备 共享设备 虚拟设备,17,设备与控制器之间的接口数据信号控制信号状态信号,2.设备与控制器之间的接口,通常,设备并不直接与CPU进行通信,而是与设备控制器通信。因此,在I/O设备中应含有与设备控制器间的接口。在该接口中有三种类型的信号各对应一条信号线。,18,图5-1 设备与控制器间的接口,控制信号线:作为设备控制器向I/O设备发送控制信号时的通路。该信号规定了设备将要执行的操作:读操作(指由设备向控制器传送数据)写操作(从控制器接收
5、数据),数据信号线:用于在设备和设备控制器之间传送数据信号。输入设备:外界输入的信号经转换器转换后形成的数据,通常先送入缓冲器中,当数据量达到一定的比特数后,再从缓冲器通过一组数据信号线传送给设备控制器。输出设备:将从设备控制器经过数据信号线传送来的一批数据先暂存于缓冲器中,经转换器作适当转换后,再逐个字符地输出。,状态信号线:用于传送指示设备当前状态的信号。设备的当前状态有:正在读(写)设备已读(写)完成,并准备好新的数据传送。,19,5.1.2 设备控制器,设备控制器是计算机中的一个实体,其主要职责是控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。它是CPU与I/O设备间
6、的接口,它接收从CPU发来的命令,并去控制I/O设备工作,使处理机从繁杂的设备控制事务中解脱出来。它是一个可编址的设备,当它仅控制一个设备时,它只有一个唯一的设备地址;若控制多个设备时,则应含有多个设备地址,并使每一个设备地址对应一个设备。,20,5.1.2 设备控制器,它可分为两类:控制字符设备的控制器 控制块设备的控制器 设备控制器的基本功能 书P162接收和识别命令 数据交换设备状态的了解和报告地址识别数据缓冲差错控制,21,设备控制器的组成 由于设备控制器位于CPU与设备之间,它既要与CPU通信,又要与设备通信,还应具有按照CPU所发来的命令区控制设备工作的功能。因此有以下三部分组成:
7、控制器与处理机接口 该接口用于实现CPU与设备控制器之间的通信。控制器与设备接口 可以连接一个或多个设备。在每个接口中都存在数据、控制和状态三种类型的信号。控制器中的I/O逻辑根据处理机发来的地址信号去选择一个设备接口。,22,图5-2 设备控制器的组成,I/O逻辑I/O逻辑用于实现对设备的控制:它通过一组控制线与处理机交互,处理机利用该逻辑向控制器发送I/O命令;I/O逻辑对收到的命令进行译码。每当 CPU要启动一个设备时,一方面将启动命令发送给控制器;另一方面有通过地址线把地址发送给控制器,由控制器的I/O逻辑对收到的地址进行译码,再根据所译出的命令对所选设备进行控制。,23,5.1.3
8、I/O通道,在CPU与I/O设备之间增加了设备控制器后,已能大大减少CPU对I/O的干预,但当主机所配置的外设很多时,CPU的负担仍然很重。为此,在CPU和设备控制器之间又增设了I/O通道。其主要目的是为了建立独立的I/O操作,不仅使数据的传送能独立于CPU,而且I/O操作的组织、管理及结束处理尽量独立,以保证CPU有更多的时间进行数据处理。即设置I/O通道的目的是使一些原来由CPU处理的I/O任务转由通承担,从而把CPU从繁杂的I/O任务中解脱出来。设置了通道后,CPU只需向通道发送一条I/O指令。通道收到该指令后,便从内存中取出本次要执行的通道程序,然后执行该通道程序;仅当通道完成了规定的
9、I/O任务后,才向CPU发中断信号。,24,I/O通道是一种特殊的处理机,具有执行I/O指令的能力。通过执行通道(I/O)程序来控制I/O操作。其指令类型单一主要局限于与I/O操作有关的指令通道没有自己的内存,通道所执行的通道程序是放在主机的内存中的。,25,通道类型,字节多路通道 一种按字节交叉方式工作的通道。它通常含有许多非分配型子通道,其数量从几十到几百个,每一个子通道连接一台I/O设备,并控制该设备的I/O操作。这些子通道按时间片轮转方式共享主通道:当第一个子通道控制其I/O设备完成一个字节的交换后,便立即腾出主通道,让给第二个子通道使用;当所有子通道轮转一周后,重又返回由第一个子通道
10、去使用主通道。这样,只要字节多路通道扫描每个子通道的速率足够快,而连接到子通道上的设备的速率不是太高时,便不致丢失信息。,26,数组选择通道字节多路通道不适合连接高速设备数组选择通道可以连接多台高速设备该通道只含有一个分配型子通道这种通道的利用率很低数组多路通道上面两种通道技术的结合有多个非分配型子通道该通道能被广泛地用于连接多台高、中速的外围设备具有很高的数据传输速率,又能获得令人满意的通道利用率,27,瓶颈问题,通道价格昂贵,通道数量势必减少。这往往又使它成了I/O的瓶颈,从而造成整个系统吞吐量的下降。假设设备1至设备4是四个磁盘,为了启动磁盘4,必须用通道1和控制2;但若这两者已被其他设
11、备占用,必然无法启动磁盘4。,28,瓶颈问题的解决,解决方法:增加设备到主机间的通路而不增加通道。就是把一个设备连接到多个控制器上,而一个控制器又连接到多个通道上。图中的设备1、2、3、4都有四条通往存储器的通路。多通路方式不仅解决了瓶颈问题,而且提高了系统的可靠性。,29,5.1.4 总线系统,总线是许多信号线的集合,它是微型计算机芯片间、各部件间和外部设备间相互进行信息或数据交换的通路。由于计算机内部定向的信息流和数据流在总线中的流动,就形成了计算机的各种操作。常见的系统总线标准有ISA、EISA、PCI等总线,30,总线的主要技术指标,总线数据传输速率单位时间内总线上传送的数据量,即每钞
12、钟传送Mb的最大稳态数据传输率。总线数据传输速率总线的工作频率*总线的位宽/8。总线的带宽 总线的带宽指的是总线能同时传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念。总线的工作频率 总线的工作时钟频率以MHZ为单位,工作频率越高,总线工作速度越快,总线传输速率越高。,31,ISA和EISA总线,80286微机的总线。带宽为8bit,最高传输速率为2Mb/s,可以连接12台外部设备。扩展ISA即EISA总线:带宽16位。传输速率高达32Mb/s,可以连接12台外部设备。,32,局部总线,局部总线是指将多媒体卡,高速LAN网卡,高性能图形板等从ISA总线上卸下来,再通过
13、局部总线控制器直接连接到CPU总线上,使之与高速CPU总线相匹配。局部总线中较有影响的是VESA和PCI总线。VESA:带宽32位。最高传输速率132Mb/s,仅能连接24台设备。PCI:PCI在CPU和外设之间插入一复杂的管理层,用于协调数据传输和提供一致的接口。PCI能支持10种外设,最大传输速率可达132Mb/s。是当前广为流行的总线。,33,5.2 I/O控制方式,I/O控制方式是随着计算机技术的发展而不断发展的。在I/O控制方式的整个发展过程中,始终贯穿的宗旨是:尽量减少主机对I/O控制的干预,把主机从反之的I/O控制事物中解脱出来,以便更多地去完成数据处理任务。早期采用程序控制I/
14、O方式;当在系统中引入中断机制后,便发展为中断驱动方式;随着DMA控制器的出现,又使I/O方式在传输单位上发生了变:即从以字节为单位的传输扩大到以数据块为单位进行传输。从而改善了块设备的I/O性能;通道的引入,又使对I/O操作的组织和数据的传送都能独立进行而无需CPU干预。,34,I/O控制方式,程序控制I/O(programmed I/O)中断驱动方式(interruptdriven I/O)直接存储访问方式(DMA,Direct Memory Access)I/O通道控制方式(channel(channel control),35,程序控制(忙等待或轮询方式),系统中没有中断机构,I/O操
15、作由程序发起,并等待操作完成。数据的每次读写均通过CPU。例如:当主机要通过端口来写出数据时,主机与控制器之间的握手协议如下:缺点:在外设进行数据处理时,CPU只能等待,致使CPU利用率很低。,36,六个步骤,1 主机不断地读取忙位,直到该位被清除;2 主机设置命令寄存器中的写位并向数据输出寄存器中写入一个字(节);3 主机设置命令就绪位;4 当控制器注意到命令就绪位已被设置,则设置忙位;5 控制器读取命令寄存器,并看到写入命令,它从数据输出寄存器中读取一个字(节),并向设备执行I/O操作。6 控制器清除命令就绪位,清除状态寄存器的故障位,以表示设备成功,清除忙位以表示完成。完成一个字节的传输
16、后继续重复上述步骤取更多的数据。,37,中断驱动方式,I/O操作由程序发起,在操作完成时(如数据可读或已经写入)由外设向CPU发出中断,通知该程序。数据的每次读写通过CPU具体过程如右图所示:,38,优点:在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程序。缺点:CPU每次处理的数据量仍是以字(字节)为单位,只适于数据传输率较低的设备。,39,直接存储访问方式(DMA),计算机为了避免用PIO而增加CPU的负担,将一部分任务下放给一个专用的处理器-DMA控制器;DMA控制器的组成,如下图所示:,图5-8DMA控制器的组成,40,DMA工作过程-以磁盘读入数据为例,由程序设置DM
17、A控制器中的若干寄存器值(如内存始址,传送字节数),然后发起I/O操作;而DMA控制器完成内存与外设的成批数据交换;在操作完成时由DMA控制器向CPU发出中断。,图5-9 DMA方式的工作流程,41,DMA方式的优缺点,优点:显著地减少了CPU的干预,由原来的一个字(节)减少到了一块;CPU只需干预该块数据I/O操作的开始和结束,而块内的一批数据读写无需CPU控制,适于高速设备。缺点:在DMA方式下,CPU发出一个I/O命令后,读写完一个连续的数据块时需要相应一次中断。,42,三种I/O控制方式的比较,43,I/O通道控制方式,I/O通道是一种特殊的处理机。它具有执行I/O指令的能力。可以执行
18、由通道指令组成的通道程序,因此可以进行较为复杂的I/O控制。通道程序通常由操作系统所构造,放在内存里。通道程序操作码。内存地址。计数。通道程序结束位P。记录结束标志R。,44,六条指令的简单通道程序,45,通道方式的优点,优点:通道方式是DMA方式的发展,它可进一步减少CPU的干预。可以实现CPU、通道和I/O设备三者的并行操作,更有效地提高整个系统的资源利用率。,46,5.3 缓冲管理,为了缓和CPU与I/O设备速度不匹配的矛盾,提高CPU和I/O设备的并行性,在现代OS中,几乎所有的I/O设备在与处理机交换数据时都用了缓冲区。缓冲管理的主要职责是组织好这些缓冲区,并提高获得和释放缓冲区的手
19、段。,47,缓冲技术缓冲技术可提高外设利用率。原因匹配CPU与外设的不同处理速度减少对CPU的中断次数。提高CPU和I/O设备之间的并行性。,48,缓冲区设置,硬缓冲:在设备中设置缓冲区,由硬件实现软缓冲:在内存中开辟一个空间,用作缓冲区,49,单缓冲(single buffer),一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。,单缓冲工作示意图,50,双缓冲(double buffer),两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。,双缓冲工作示意图,51,循环缓冲(circular buffer),多个缓冲区,CPU和外设的处理速度
20、可以相差较大。可参见“生产者消费者问题”,关键是资源量的增减(空或满的缓冲区数目)而不是生产者和消费者的指针移动。,52,循环缓冲的组成:多个缓冲区,多个指针循环缓冲区的使用:getbuf和releasebuf过程进程同步:nexti指针追赶上nextg指针 nextg指针追赶上nexti指针,53,缓冲池(buffer pool),缓冲区整体利用率高。缓冲区队列空闲缓冲区,输入缓冲区,输出缓冲区,54,过 程,55,Getbuf过程和putbuf过程既可以实现互斥又可保证同步的getbuf过程和putbuf过程Getbuf(type)putbuf(type,number)Wait(RS(ty
21、pe);wait(MS(type);Wait(MS(type);addbuf(type,number);B(number):=takebuf(type);signal(MS(type);Signal(MS(type);signal(RS(type);,56,工作方式,收容输入提取输入收容输出提取输出,57,5.4 I/O软件,I/O软件的总体设计目标是高效率和通用性。通常将I/O软件组成一种层次结构,低层软件用于实现与硬件相关的操作,高层软件主要向用户提供一个接口。每一层具有一个要执行的定义明确的功能和一个与相邻层次定义明确的接口。,58,I/O软件应达到的目标,与具体设备无关统一命名对错误的
22、处理缓冲技术设备的分配和释放I/O控制方式,59,IO软件的基本思想是按分层的思想构成,较低层软件要使较高层软件独立于硬件的特性,较高层软件则要向用户提供一个友好的、清晰的、简单的、功能更强的接口。,I/O软件的组成,60,61,(1)用户进程层执行输入输出系统调用,对IO数据进行格式化,为假脱机输入输出作准备(2)独立于设备的软件实现设备的命名、设备的保护、成块处理、缓冲技术和设备分配(3)设备驱动程序设置设备寄存器、检查设备的执行状态(4)中断处理程序负责IO完成时,唤醒设备驱动程序进程,进行中断处理(5)硬件层实现物理IO的操作,62,每个进程在启动一个IO操作后阻塞 直到IO操作完成并
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 设备管理
链接地址:https://www.desk33.com/p-250596.html