《设备管理统一模板》PPT课件.ppt_第1页
《设备管理统一模板》PPT课件.ppt_第2页
《设备管理统一模板》PPT课件.ppt_第3页
《设备管理统一模板》PPT课件.ppt_第4页
《设备管理统一模板》PPT课件.ppt_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章 设备管理,I/O接口,磁盘管理,I/O控制方式,缓冲管理,系统总线,6.1 I/O硬件组成,6.1.1 系统总线 1.没有总线的计算机系统 两两部件独立相连,相互通信时双方必须停止其他工作,降低了部件的工作效率; 随着计算机部件的增多,内部连线非常复杂,不利于系统设备的扩展。 2.总线概念 总线是计算机中各个通信模块共享的,用来在这些部件之间传送信息的一组导线和相关的控制和接口部件。,3. 总线的分类(按任务分) CPU内部总线:寄存器之间,寄存器与ALU之间。 系统总线:CPU与主存或I/O设备之间的信息传送线,又称为外总线。 通信总线:计算机系统之间或计算机系统与外部设备之间的信息传送线。,系统总线的结构 1.单总线结构,任何两个部件之间可以直接进行信息交流,提高了计算 机的灵活性和工作效率,但由于总线是临界资源,单总线 会增加总线负载,影响操作速度。,2.双总线结构,CPU和主存之间的数据交换通过专用总线进行,减轻了系统总线的负担。,3.三总线结构,通道又称为I/O处理机,统一管理外部设备,实现主存与外设之间的数据传输,分担了CPU的部分功能。,系统总线的分类(按传输信息内容不同分) 1.地址总线 传送主存单元地址或者I/O设备的端口地址。 2.数据总线 完成总线上各功能部件之间的数据传送。 3.控制总线 传送定时信号和命令信息,以实现对设备的控制和监视。 4.系统总线由多个部件或设备共享,但任何时刻都只能由一个设备向总线发送信息,所以对总线的使用需要协调。,总线的信息传输方式 串行传输:每次传送一位,只需一根数据线。适用于慢速设备,如键盘、鼠标等。 并行传输:每位数据需要一根数据线,多位数据一起传输。 注意:总线和设备接口之间总是以并行方式传送数据,但设备和接口之间可能以并行方式,也可能以串行方式。,6.1.2 I/O设备 设备分类 块设备:磁盘、磁带,块大小512B32KB,通常为512B。块设备的特点是速度快、可随机访问。 字符设备:键盘、行式打印机。特点是速度低、不可寻址、I/O采用中断驱动。,6.1.3 设备控制器,设备控制器或适配器是I/O设备的电子部分,它是CPU与I/O设备之间的接口,它接收从CPU发来的命令,并控制I/O设备工作。通常一台控制器可控制多台同一类型的设备。,设备控制器的组成,设备控制器的主要任务 1)接收和识别命令 2)数据交换 3)了解设备的状态 4)地址识别,6.1.4 设备通道,虽然设备控制器可以对设备进行控制,但当外设很多时,CPU负担过重,为此在CPU与控制器之间增加设备通道,实现对所有外设的统一管理。 设备通道是特殊的处理机 指令单一 没有内存,通道的连接方式,单通路 多通路 设备与计算机之间有多条通道,增加灵活性。 增强可靠性。某通道、控制器坏,也不会影响数据交换。,6.1.5 I/O接口,1.I/O接口 计算机与I/O设备或其他系统之间的逻辑控制部件。,2.I/O接口的基本功能 实现主机与外围设备间的通信和控制; 设备的选择,操作时序的协调,中断请求与批准 实现数据缓冲,使主机与外设的工作速度匹配; 在设备控制器中设置一个或多个数据缓冲寄存器 接收主机的命令,提供设备和接口的状态。 在设备控制器中设置控制/状态寄存器,6.2 I/O控制方式, 发展经历了四个阶段 程序直接控制方式 中断驱动方式 DMA控制方式 通道方式 宗旨:尽量减少主机对I/O控制的干预。,6.2.1 程序直接控制方式,忙等待方式,缺点: CPU与外设只能串行工作。 CPU在一段时间内只能与一台外设交换数据信息。 无法发现和处理由于设备和其它硬件所产生的错误。,6.2.2 中断驱动方式,缺点: 由于数据寄存器只能存放一个字节,造成中断次数过多。 中断次数的急剧增加会造成CPU无法及时响应中断,出现数据丢失现象。,6.2.3 DMA控制方式,中断方式比程序I/O方式有效,但它是以字节为单位进行的,且CPU对I/O的干预频繁。 1.DMA方式的特点 数据传输的基本单位是数据块; 所传送的数据是直接在设备和内存之间进行; 仅在传送一个或多个数据块的开始或结束时,才需CPU干预。,DMA控制器的组成,增加两类寄存器: 内存地址寄存器MAR 数据计数器D,DMA工作过程,当CPU需要从磁盘读数据时,便向磁盘控制器DMA发命令 该命令送命令寄存器CR 将内存地址送内存地址寄存器MAR 本次要读的字节数送数据寄存器DC 启动DMA后,CPU干其他的事情,数据传送在DMA的控制下完成。,6.2.4 通道方式,DMA方式中cpu以数据块为单位干预I/O操作,但进程需要连续操作几个不连续的数据块时,CPU仍需多次干预。 1.通道方式特点 每条CPU发出的I/O指令可以实现对一组数据块的干预; 实现CPU、通道和设备的并行工作,提高资源利用率。,2.通道方式处理过程 通道方式通过通道处理程序,与设备控制器共同实现对I/O设备的控制。其步骤如下: 1)CPU发出指令; 2)通道取出内存中的通道处理程序执行; 3)设备根据通道指令的要求,执行相应操作; 4)通道程序执行结束,向CPU发出中断请求; 5)CPU进行中断处理。,6.3 I/O 设备管理,I/O管理的功能 监视设备的状态 进行设备分配 完成I/O操作 缓冲管理,6.4 I/O系统,用户进程进行I/O操作的步骤 用户进程调用操作系统提供的系统调用命令; 操作系统负责给用户进程分配设备、启动相关设备进行I/O操作; 在I/O操作完成时,用户进程产生中断; 系统响应中断,并进行相应的中断处理。,I/O层次结构,I/O层次结构(续),I/O接口:系统调用,例如C语言中的库函数printf,scanf; I/O管理软件:实现所有设备共享的I/O功能,为用户提供统一接口; 设备驱动程序:接收I/O管理软件的抽象请求,进行与设备相关的具体设备操作,控制设备的打开,关闭,读,写等操作,控制数据在设备上的传输; 中断处理程序:当输入就绪、输出完成或设备出错时,设备控制器向CPU发中断信号,CPU进行相应中断处理,6.5 设备分配,由于外设资源的有限,需解决进程间的外设共享问题,以提高外设资源的利用率。设备分配是对进程使用外设过程的管理。这里有两种作法: 1)在进程间切换使用外设,如键盘和鼠标; 2)通过一个虚拟设备把外设与应用进程隔开,只由虚拟设备来使用设备。,6.5.1 设备分配时应考虑的问题,设备分配的综合原则是合理使用外设(公平和避免死锁),提高设备使用率。 1.设备的固有属性 独享设备:打印机等。进程使用完自己释放,一般不能剥夺; 共享设备:磁盘、网卡等。多个进程并发使用,需合理调度; 虚拟设备:虚拟打印机等。可有多个进程使用,但FCFS。,2.设备分配算法 静态分配:在进程创建时分配,在进程退出时释放; 不会出现死锁; 设备利用率不高; 动态分配:在进程执行过程中根据需要分配,使用结束后释放,算法与进程调度类似,有FCFS 和基于优先级; 需要考虑死锁问题 有利于提高设备利用率,3.设备分配中的安全性(避免死锁) 安全分配方式 进程发出I/O请求后阻塞,完成后唤醒,即进程在I/O时不能在申请其他设备资源,摈弃了“请求保持”条件。优点:不会出现死锁;缺点:进程进展慢。 不安全分配方式 进程发出I/O请求后仍继续运行,又可发出I/O请求,仅当进程所请求的设备已被另一进程占用时,进程才进入阻塞状态。优点:多个设备并行操作;缺点:可能造成死锁。,设备独立性是指用户程序独立于具体使用的物理设备,可以提高操作系统的可适应性和可扩展性。 用户程序使用逻辑设备名请求使用某类设备。 操作系统在分配设备时使用的是物理设备名。 操作系统可以将逻辑设备名转换成物理设备名。 设备独立性增强了设备分配的灵活性,易于实现I/O重定向。,6.5.2 设备独立性(设备无关性),设备独立性的实现 逻辑设备表(Logical Unit Table,LUT),当进程使用逻辑设备名请求I/O设备时,系统为他分配相应的物理设备,并在LUT中建立对相应表项,以便以后使用。LUT的设置: 整个系统一张(单用户系统) 一个用户一张(多用户系统),6.5.3 设备分配中的数据结构,1.系统设备表(SDT, System Device Table) 整个系统内只有一张,反映系统中设备资源的状态,记录所有设备的状态及其设备控制表的入口。SDT表项的主要组成: DCT指针:指向相应设备的DCT; 设备标识; 设备类型:块设备,字符设备或终端设备; 正在使用该设备的进程号。,2.设备控制表(DCT, Device Control Table) 每个设备一张,描述设备特性和状态。反映设备的特性、设备和控制器的连接情况。DCT的内容主要包括: 设备标识:用来区别不同的设备; 设备类型 COCT指针:指向与该设备相连的控制器控制表; 设备状态:工作或空闲状态; 设备等待队列首指针和尾指针;,3.控制器控制表(COCT, COntroller Control Table) 每个设备控制器一张,描述I/O控制器的配置和状态。表项组成: 控制器标识符 控制器忙/闲状态 与控制器连接的通道表指针(CHCT指针) 控制器队列的队首指针 控制器队列的队尾指针,4.通道控制表(CHCT, CHannel Control Table) 每个通道一张,描述通道工作状态。 通道标识符 通道忙/闲状态 通道队列的队首指针 通道队列的队尾指针,6.5.4 设备分配步骤,在进程有I/O请求时,系统根据具体的设备分配算法,按以下步骤分配设备: 1)分配设备 逻辑设备名查找LUT,确定物理设备名查找SDT,找到该设备的设备控制表(DCT)根据DCT中的忙/闲标志位判断设备是否忙忙,则进入阻塞队列;否则,计算分配安全性,安全则分配。 2)分配控制器 根据DCT中的控制器控制表(COCT)指针找到与该设备相连的COCT,并判断其忙闲状态,忙则进入阻塞队列,否则分配控制器。,3)分配通道 根据COCT中的CHCT(通道控制表)指针找到CHCT,并判断其忙闲状态,忙则进入阻塞队列,否则分配通道。 设备分配中应注意的问题: 1)逻辑设备名可能有多个物理设备名与之相对应,在分配设备时需要扫描LUT和SDT,直到遇到第一个空闲的可分配设备为止;只有当所有设备都忙时才阻塞进程; 2)对于通道、控制器和设备的多通路连接情况,再分配控制器和通道时也需要多次检测COCT和CHCT,6.5.5 SPOOLing技术,SPOOLing(Simultaneous Peripheral Operation On Line)技术,又称为假脱机技术或虚拟设备技术,它可以把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。 SPOOLing技术的引入 为缓解CPU和I/O设备速度不匹配问题,用专门的应用程序模仿外围计算机在设备和磁盘间或CPU与磁盘间进行输入和输出操作,从而使得I/O设备可以和CPU并行运行,提高部件的利用率。,1.SPOOLing的系统组成: 输入井和输出井 输入缓冲区和输出缓冲区 输入进程SPi和输出进程SPo,2.SPOOLing系统的特点 优点: 提高了I/O速度:将原先对低速I/O设备的直接操作转换成对高速磁盘的I/O操作,使得程序的虚拟I/O操作时间和实际I/O操作时间分离开来,从而缓解了CPU和I/O设备的速度不匹配问题。 实现对独享设备的共享:由SPOOLing程序提供虚拟设备,可以对独享设备依次共享使用。,3.共享打印机 打印机是一个独享设备,但它可以通过SPOOLing技术虚拟成共享设备。 当用户提出打印请求时,SPOOLing系统为之做两件事: 1)在输出井中申请一空闲盘快区,并将要打印的数据输入其中; 2)申请一张空白的用户请求打印表,将打印内容输入其中,再将该表投入请求打印队列,排队等待打印机; SPOOLing系统可以让多个用户同时感觉打印机在为他服务,从而将一个物理设备虚拟成多个逻辑设备,实现设备的共享,6.6 设备处理,设备处理程序又称为设备驱动程序,它是I/O进程与设备控制器之间的通信程序。 主要功能 接受来自上层软件的抽象I/O请求,并检查请求的合法性; 向有关I/O设备发出控制命令,并启动运行 对等待I/O的进程进行排队; 及时响应中断请求,6.6.1 设备驱动程序,设备驱动程序的设置方式 为每类设备设置一个进程,专门用于执行该类设备的I/O操作。 为整个系统设置一个I/O进程,负责执行系统中各类设备的I/O操作;也可设置一个输入进程和一个输出进程; 不设处理进程,为各类设备设置相应的设备处理程序,供用户或系统进程调用。,设备驱动程序的特点 对I/O管理软件屏蔽I/O设备细节,实现I/O管理软件的设备无关性; 设备驱动程序与硬件紧密相关,是OS底层中和I/O设备相关的一部分; 驱动程序的大部分一般用汇编语言书写; 设备驱动程序与I/O控制方式相关; 设备驱动程序可以动态加载。,设备驱动程序的处理过程 设备处理程序的主要任务是启动指定设备,其处理过程如下: 将抽象要求转化为具体要求。 检查I/O请求的合法性 读出和检查设备的状态 传送参数 设置工作方式 启动I/O设备,6.6.2 中断处理程序,1.中断概念 中断是指在计算机运行期间,CPU暂停当前进程而转去处理其他应用程序的过程。 2.禁止中断 当CPU中PSW的中断允许位被清除时,CPU不能响应中断请求,称为禁止中断或关中断。 3.中断屏蔽 在中断请求产生以后,系统用软件的方式有选择的封锁部分中断,称为中断屏蔽。有些最高优先级中断不能屏蔽,如掉电中断。,4.中断分类 1)硬中断:通过硬件产生中断请求 内中断 处理机和内存内部产生的中断。如;地址非法,除数为零,非法指令等。 外中断 来自处理机和内存外部的中断。如:I/O中断,外部信号中断(键盘输入Esc),各种定时器中断等。 2)软中断 通信进程之间用来模拟硬中断的一种信号通信方式。中断处理程序不一定立刻执行。,5.中断优先级,按中断源的轻重缓急赋予了不同的优先级。如winXP中的中断优先级分为32级 所有线程都运行在中断优先级0/1上 硬件中断的优先级软件中断 PSW中设定中断优先级,判断是否要响应中断。 所有中断源的优先级在设计系统的时候确定,运行中不改变。,Windows的中断优先级,6.中断处理过程,内中断 检查CPU响应中断的条件是否满足(优先级,中断允许位)。 如果CPU响应中断,则必须关中断,使CPU进入不可再次响应中断的状态。 保存被中断进程的现场(PSW,PC,寄存器内容)。 分析中断原因,调用中断处理子程序。 执行中断处理子程序。 退出中断,恢复被中断进程的现场 开中断。,中断现场保护示意图,6.7 磁盘管理,磁盘I/O速度是影响文件系统性能的主要因素,因此,提高磁盘的I/O速度是磁盘管理的主要功能。 影响磁盘性能的因素:数据的结构、磁盘的类型、磁盘访问时间。 提高磁盘I/O速度的主要途径有: 1)选择介质好的磁盘 2)采用好的磁盘调度算法 3)设置磁盘高速缓冲区,1.磁盘结构,一个磁盘含多个盘片。 每个盘片含两面,每面上都有一个读写磁头。 每面含若干个磁道。 每条磁道上存储相同数目的二进制位。 每条磁道又分成若干个扇区,一个扇区相当于一个盘块。 每个盘面同一位置的磁道形成一个柱面。 通过柱面号、磁头号和扇区号可以定位数据。 磁头不动,盘面旋转。,2.磁盘的格式化(低级格式化),低格是指厂商在出厂之前对磁盘进行扇区划分,为每个扇区写入格式控制信息。 高级格式化是指在磁盘上建立文件系统,由操作系统提供的工具实现。,3.磁盘的类型,从不同的角度分类,磁盘可分为:硬盘和软盘,单片盘和多片盘、固定头磁盘和移动头磁盘。 固定头磁盘 每条磁道上都有一个读/写磁头,适用于大容量磁盘。 移动头磁盘 每个盘面仅配一个读/写磁头,磁头在各磁道间移动寻道。任何时刻所有磁头位于离中心距离相同的磁道上形成柱面。例如微机上用的硬盘(也叫温切斯特硬盘)、软盘。,磁盘的I/O访问通常要经历:等待设备、等到通道、寻道、旋转延迟和数据传送5个阶段。 一般磁盘访问时间分为三部分: 寻道时间Ts:磁头从当前位置移动到指定磁道上所经历的时间。 s:启动磁盘时间(磁盘驱动器启动),m:常数=0.3, n:磁道数, Ts:随寻道距离的增大而增大,约5-10ms 旋转延迟时间Tr:磁头找到指定的扇区所经历的时间。 硬盘平均旋转时间一般为3ms,软盘一般为100-200ms,4.磁盘的访问,传输时间Tt:数据从磁盘读出,或向磁盘写入数据所经历的时间。 r:磁盘旋转速度 N:一条磁道上的字节数 b:每次读写的字节数 磁盘访问时间: 磁盘访问时间和每次读取数据的多少有关系,当存取数据相同时,访问时间和数据的组织有一定关系,5.磁盘调度算法,磁盘访问主要的性能差异在于寻道时间,对于多个要求访问磁盘的I/O请求,应有适当的调度算法,使得各进程对磁盘的平均访问时间最小。 1)先来先服务(FCFS) 优点:公平、简单。 缺点:未对寻道时间进行优化,平均寻道时间较长。,2)最短寻道时间优先(SSTF) 先满足寻道时间短的进程。 优点:对寻道时间优化 缺点:“饥饿”现象发生,SSTF调度算法,对SSTF算法进行改造,不仅考虑要访问的磁道与当前磁盘的距离,更优先考虑磁头的当前移动方向,避免了“饥饿”现象,因该算法中磁头的移动规律颇似电梯的运行,故又称“电梯调度算法”。 4)循环扫描(CSCAN) 对SCAN进行改造,固定磁头只能单向移动,解决进程严重延迟现象。,3)扫描算法(SCAN),SCAN和CSCAN,对于SSTF、SCAN、CSCAN均有可能出现磁头在某处停留不动的情况(如进程对某道的访问频率高)称为“磁臂粘着”现象。 N-step-SCAN算法将磁盘请求队列分成若干个长度为N的子队列,用FCFS依此处理这些子队列。在每个队列中用SCAN。 N越大(一个进程一队)SCAN N越小(N=1)FCFS,5)N-step-SCAN扫描算法,将 N-step-SCAN算法简单化为二个队列: 一个队列为:当前已存在的请求磁盘I/O的进程形成的队列。按SCAN算法处理。 另一个队列为:在磁盘扫描期间,新出现的请求磁盘I/O的进程形成的队列,新的请求下次扫描时再处理。,6)FSCAN扫描算法,6.8 缓冲管理,1.缓冲的引入 缓解CPU与I/O设备间速度不匹配的矛盾 减少对CPU的中断频率 提高CPU和I/O设备之间的并行性 协调传输数据大小不一致的设备,2.缓冲的设置 缓冲是在通信过程中,为了缓解通信双方的速度匹配而引入的一个中间层次,其速度与较快的一方接近。按其设置可以分为以下几种: Cache:一种加速内存或磁盘存取的装置,可将慢速磁盘上的数据拷贝至快速的内存进行读写动作, 以提升系统响应的速度。(硬件缓冲) I/O设备或控制器内部的纯硬件缓冲区 内存开辟的缓冲区:I/O设备缓冲区,文件缓冲区 脱机I/O技术和SPOOLing技术,1)单缓冲:内存中的一块区域,设: T:一块数据从磁盘到内存缓冲区所需的时间; M:操作系统将缓冲区数据送入用户区所需时间; C:CPU对数据处理所需时间; 则,系统对整个数据的处理时间为: max(C,T)+M(T+C) (CPU和I/O设备并行工作,通常M远小于T或C),2)双缓冲,块设备使用双缓冲区时,先将数据输入到第一个缓冲区,装满后再输入到第二个缓冲区,可进一步提高I/O设备和CPU的并行工作效率。,3)循环缓冲,当输入、输出的速度基本相匹配时,可使用双缓冲,但若两者的速度相差甚远时可用多缓冲。典型的即生产者和消费者问题。,三种状态的缓冲区: 空闲缓冲区:NextI指向下一个空缓冲区; 已装满数据的缓冲区: NextG指向下一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论