操作系统第6章输入输出系统_第1页
操作系统第6章输入输出系统_第2页
操作系统第6章输入输出系统_第3页
操作系统第6章输入输出系统_第4页
操作系统第6章输入输出系统_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

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

文档简介

6.1I/O系统的功能、模型和接口I/O系统的基本功能隐藏物理设备的细节与设备的无关性提高处理机和I/O设备的利用率对I/O设备进行控制确保对设备的正确共享错误处理第一页,共118页。6.1I/O系统的功能、模型和接口I/O系统的层次结构和模型I/O软件的层次结构第二页,共118页。6.1I/O系统的功能、模型和接口I/O系统中各种模块之间的层次视图第三页,共118页。6.1I/O系统的功能、模型和接口I/O系统接口块设备接口流设备(字符设备)接口网络通信接口第四页,共118页。6.2I/O设备和设备控制器I/O设备组成机械部件即设备本身(物理装置)执行I/O操作电子部件即设备控制器或叫适配器执行I/O控制在小型和微型机中,它常采用印刷电路卡插入计算机主板上的总线插槽通过若干接口寄存器或接口缓冲区与CPU通信第五页,共118页。6.2I/O设备和设备控制器I/O设备可从不同角度对设备进行分类按使用特性分类存储设备输入输出设备按传输速率分类低速设备:每秒几个字节到数百个字节,键盘中速设备:每秒数千个字节到数十千字节,打印机高速设备:每秒数百千个字节到数兆个字节,网卡、磁盘第六页,共118页。6.2I/O设备和设备控制器常用设备、网络以及总线的数据率第七页,共118页。6.2I/O设备和设备控制器按信息交换的单位分类块设备(BlockDevice):设备一次操作的数据传输单位是块常见设备:磁盘、磁带等特征:传输速率高;可寻址;DMA方式字符设备(CharacterDevice):设备一次操作的数据传输单位是字符常见设备:键盘、终端、打印机和鼠标等特征:传输速率低;不可寻址;中断驱动方式第八页,共118页。6.2I/O设备和设备控制器按设备的固有属性分类独占设备:在一段时间内只能由一个进程(用户)使用的设备,属于临界资源,如打印机、磁带机等共享设备:在一段时间内可由多个进程同时使用的设备,如磁盘虚拟设备:通过虚拟技术将一台独占设备改造为共享设备,供若干进程同时使用第九页,共118页。6.2I/O设备和设备控制器设备控制器设备控制器分为两类控制字符设备的控制器控制块设备的控制器第十页,共118页。6.2I/O设备和设备控制器设备控制器的功能接收和识别命令(控制寄存器)数据交换(数据寄存器)设备状态的了解和报告(状态寄存器)地址识别(地址译码器)数据缓冲差错控制操作系统一般只与设备控制器打交道第十一页,共118页。6.2I/O设备和设备控制器设备控制器的组成设备控制器是CPU和I/O设备之间的接口,它接收从CPU发来的命令,并去控制设备工作设备控制器和处理机的接口数据线:与数据寄存器和控制/状态寄存器相连地址线控制线第十二页,共118页。6.2I/O设备和设备控制器设备控制器和设备的接口数据信号控制信号状态信号I/O逻辑CPU启动一个设备时,将启动命令和地址送给控制器控制器的I/O逻辑对收到的命令进行译码再根据译出的命令对所选的设备进行控制(在一个设备控制器中可以有一个或多个设备接口,一个接口连一台设备,控制器中的I/O逻辑根据处理机发来的地址信号,去选择其中的一个设备接口)第十三页,共118页。6.2I/O设备和设备控制器第十四页,共118页。6.2I/O设备和设备控制器内存映像I/O接口电路中有多个寄存器,一个寄存器有唯一的一个地址,每个地址为I/O端口,该地址称为I/O端口地址I/O指令形式与I/O地址相互关联,主要有两种形式I/O独立编址(I/O专用指令)内存映像编址(内存映像I/O模式)第十五页,共118页。6.2I/O设备和设备控制器I/O独立编址(I/O专用指令)分配给端口的地址空间是完全独立的,与内存的地址空间没有关系主机使用专门的I/O指令对端口进行操作优缺点外部设备不占用内存的地址空间程序设计时,易于区分是对内存操作还是对I/O端口操作对I/O端口操作的指令类型少,操作不灵活例子:8086/8088,分配给I/O端口的地址空间64K,只能用IN和OUT指令对其进行读写操作第十六页,共118页。6.2I/O设备和设备控制器内存映像I/O分配给系统中所有端口的地址空间与内存的地址空间统一编址主机把I/O端口看作一个存储单元,对I/O的读写操作等同于对存储器的操作优缺点凡是可对存储器操作的指令都可对I/O端口操作不需要专门的I/O指令I/O端口可占有较大的地址空间占用内存空间第十七页,共118页。6.2I/O设备和设备控制器I/O通道(I/OChannel)I/O通道设备的引入为了把CPU从繁杂的I/O任务中解脱出来,同时为了提高CPU与设备、设备与设备之间的并行工作能力通道的定义I/O通道是一种特殊的处理机,它具有执行I/O指令的能力,并通过执行通道程序来控制I/O操作第十八页,共118页。6.2I/O设备和设备控制器通道特点指令类型单一通道没有自己的内存,通道程序在主机的内存中,即通道与CPU共享内存通道类型字节多路通道数组选择通道数组多路通道第十九页,共118页。6.2I/O设备和设备控制器字节多路通道通道中通常含有许多非分配型子通道,数量从几十个到数百个,每一个子通道连接一台I/O设备这些子通道按时间片轮转方式共享主通道主要连接以字节为单位的低速设备,如打印机,终端以字节为单位传输信息,可以分时地执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传送信息第二十页,共118页。6.2I/O设备和设备控制器字节多路通道的工作原理第二十一页,共118页。6.2I/O设备和设备控制器数组选择通道以成组方式工作,每次传送一批数据,传送速度高在一段时间内只能执行一个通道程序,只允许一台设备进行数据传输。当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程序。这种独占性又使得通道利用率很低主要连接磁盘,磁带等高速I/O设备选择通道第二十二页,共118页。6.2I/O设备和设备控制器数组多路通道结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令。它含有多个非分配型的子通道,既有很高的数据传输率,又能获得令人满意的通道利用率实际上是对通道程序采用多道程序设计的硬件实现主要连接高速设备第二十三页,共118页。6.2I/O设备和设备控制器“瓶颈”问题通道执行通道程序,向控制器发出命令,并具有向CPU发中断信号的功能。一旦CPU发出指令,启动通道,则通道独立于CPU工作但是,由于通道价格贵,通道数量少,往往使之成为I/O的“瓶颈”第二十四页,共118页。6.2I/O设备和设备控制器单通路I/O系统第二十五页,共118页。6.2I/O设备和设备控制器多通路I/O系统解决“瓶颈”问题提高了控制器效率提高可靠性提高并行度第二十六页,共118页。6.3中断机构和中断处理程序中断简介中断CPU对系统内外发生的异步事件的响应过程异步事件是指无一定时序关系随机发生的事件引入中断解决主机与I/O设备并行工作的问题提高系统可靠性实现多机联系方便应用程序,实现实时控制第二十七页,共118页。6.3中断机构和中断处理程序分类中断(外中断)陷入(内中断)I/O中断时钟中断系统调用缺页异常断点指令其他程序性异常(如算术溢出等)广义中断中断(狭义)与陷入的区别——信号的来源不同——中断:与正执行指令无关,可以屏蔽陷入:与正执行指令有关,不可屏蔽第二十八页,共118页。6.3中断机构和中断处理程序中断向量表和中断优先级中断向量表每个中断有一个唯一的中断向量号(通常为中断类型号)中断向量号通常按照从小到大的顺序存放在中断向量表中中断向量表一般存放在主存储器的固定区域中每个表项是一个中断向量,存放了中断向量号和中断处理程序的入口地址中断优先级第二十九页,共118页。6.3中断机构和中断处理程序对多中断源的处理方式中断屏蔽处理一个中断时屏蔽其它所有中断,对任何新中断置之不理,直至本次中断处理完,再检测有无新中断中断嵌套处理一个中断时可以继续响应其它中断第三十页,共118页。6.3中断机构和中断处理程序中断处理过程中断请求中断判优中断响应中断服务中断返回中断硬件中断处理程序中断源(中断事件):引起中断发生的事件中断处理程序:处理中断的程序代码,也称中断例程第三十一页,共118页。6.3中断机构和中断处理程序第三十二页,共118页。6.3中断机构和中断处理程序中断处理程序中断响应CPU在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号开始取下一条指令执行指令检查指令处理中断停止取周期执行周期中断周期不允许中断允许中断第三十三页,共118页。6.3中断机构和中断处理程序保护被中断进程的CPU现场转让相应的中断处理程序中断处理恢复CPU的现场并退出中断第三十四页,共118页。6.3中断机构和中断处理程序第三十五页,共118页。6.4设备驱动程序又称设备处理程序是I/O进程与设备控制器之间的通信程序第三十六页,共118页。6.4设备驱动程序设备驱动程序概述设备驱动程序的功能接收由设备独立性软件发来的命令和参数,并将命令中的抽象要求转换为与设备相关的低层操作序列检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式发出I/O命令及时响应由控制器或通道发来的中断请求,根据中断类型,调用相应的中断处理程序进行处理对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序第三十七页,共118页。6.4设备驱动程序设备驱动程序的特点驱动程序是实现在与设备无关的软件和设备控制器之间通信和转换的程序驱动程序与设备控制器和I/O设备的硬件特性密切相关驱动程序与I/O设备所采用的I/O控制方式密切相关驱动程序的一部分必须用汇编语言书写,目前有很多驱动程序的基本部分已固化在ROM中驱动程序应允许可重入第三十八页,共118页。6.4设备驱动程序设备处理方式为每一类设备设置一个进程,专门用于执行这类设备的I/O操作在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作。也可以设置一个输入进程和一个输出进程,分别处理系统中所有各类设备的输入或输出操作不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序(模块),供用户或系统进程调用第三十九页,共118页。6.4设备驱动程序设备驱动程序的处理过程将抽象要求转换为具体要求对服务请求进行校验检查设备的状态传送必要的参数启动I/O设备第四十页,共118页。6.4设备驱动程序对I/O设备的控制方式分为四类使用轮询的可编程I/O方式(程序I/O方式)使用中断的可编程I/O方式(中断驱动方式)直接存储器访问方式(DMA方式)I/O通道控制方式第四十一页,共118页。6.4设备驱动程序使用轮询的可编程I/O方式向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态传送完?CPU出错完成未就绪下条指令未完I/O→CPUCPU→内存I/O控制器置状态寄存器busy=1按规定指令控制设备进行I/O设备清error位表示I/O成功;清busy位表示I/O结束第四十二页,共118页。6.4设备驱动程序缺点CPU将大量的时间花费在循环等待上,CPU效率极差外设不能合理利用整个系统的效率很低现在已较少使用这种方式作为I/O的数据传输控制第四十三页,共118页。6.4设备驱动程序使用中断的可编程I/O方式第四十四页,共118页。向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态传送完?CPU出错完成下条指令未完I/O→CPUCPU→内存I/O控制器置状态寄存器busy=1按规定指令控制设备进行I/O设备清error位表示I/O成功;清busy位表示I/O结束中断CPU做其它事6.4设备驱动程序第四十五页,共118页。6.4设备驱动程序优点在设备进行数据传输时,CPU不必等待,可以继续执行其它进程缺点CPU以字(节)为单位进行干预,只适于数据传输率较低的设备第四十六页,共118页。6.4设备驱动程序直接存储器访问方式(DMA方式)DMA方式的引入数据传输的基本单位是数据块所传送的数据是由设备直接送入内存,或者相反仅在传送一个或多个数据块的开始和结束时,才需要CPU干预第四十七页,共118页。6.4设备驱动程序DMA控制器的组成主机与DMA控制器的接口DMA控制器与块设备的接口I/O控制逻辑DMA控制器中设置四类寄存器命令/状态寄存器(CR)内存地址寄存器(MAR)数据寄存器(DR)数据计数器(DC)第四十八页,共118页。6.4设备驱动程序第四十九页,共118页。6.4设备驱动程序DMA工作过程窃取总线控制权第五十页,共118页。6.4设备驱动程序I/O通道控制方式I/O通道控制方式的引入将DMA方式中对一个数据块的读(写)为单位的干预,减少为对一组数据块的读(写)及有关的控制和管理为单位的干预实现CPU、通道和I/O设备三者的并行工作,从而更有效地提高了整个系统的资源利用率第五十一页,共118页。6.4设备驱动程序通道程序通道程序由若干通道指令组成,每条通道指令规定了设备的一种操作,通道程序的执行过程就是I/O操作的处理过程每条通道指令包含以下信息操作码:规定指令执行的操作。内存地址:数据在内存中的首地址。计数:本条指令要读或写的字节数。通道程序结束位:表示通道程序是否结束。1,结束。记录结束标志:0,本条指令和下一条指令所处理的数据同属一个记录;1,这是处理某记录的最后一条指令第五十二页,共118页。6.4设备驱动程序通道使用的主要寄存器数据字寄存器:用于存放传输的数据通道控制字寄存器(CCW):用于存放当前正在执行的通道命令通道地址字寄存器(CAW):用于存放通道命令的地址,在通道程序执行前,要把通道程序的首地址存于此通道状态字寄存器(CSW):其中包括通道的状态、设备状态的信息,当I/O操作结束时送入主存固定单元,以中断的方式告诉CPU有关通道、控制器和设备的有关信息第五十三页,共118页。6.4设备驱动程序通道工作过程CPU执行用户进程,当遇到I/O请求时,由操作系统生成相应的通道程序放入内存,之后执行“启动I/O”指令,启动通道工作通道接收到“启动I/O”指令后,按CAW取出指令,同时向CPU发回答信号,使CPU可继续执行其它程序;而通道则开始执行通道程序,控制设备完成传输工作。此时,通道与CPU并行工作当通道传输完成时,向CPU发I/O中断,并且通道停止工作CPU接收中断信号,根据通道的状态信息,决定下一步做什么第五十四页,共118页。进程i/进程k/其他就绪进程执行规定的操作用户程序中央处理器操作系统程序通道设备控制器和设备进程i…

系统调用(I/O请求)…保护进程i的现场组织通道程序存CAW执行“启动I/O”指令检查条件码启动成功进程i阻塞重新调度,进程k运行进程k被中断,保护现场分析中断事件处理I/O中断唤醒进程i重新调度判断状态形成条件码执行通道程序;控制设备操作;执行情况记录在CSW中。出现中断事件;CSW送主存固定单元;通道号、设备号送特定寄存器。进程k…第五十五页,共118页。6.5与设备无关的I/O软件与设备无关软件的基本概念也称设备独立性(DeviceIndependence)基本含义:应用程序独立于具体使用的物理设备做法应用程序中使用逻辑设备名称来请求使用设备系统在实际执行时,必须使用物理设备名称好处设备分配时的灵活性易于实现I/O重定向第五十六页,共118页。6.5与设备无关的I/O软件与设备无关的软件的功能设备驱动程序的统一接口缓冲管理差错控制对独立设备的分配和回收独立于设备的逻辑数据块实现设备的符号名到设备驱动程序的映射第五十七页,共118页。6.5与设备无关的I/O软件

(a)没有标准的(b)具有标准的驱动程序接口驱动程序的接口第五十八页,共118页。6.5与设备无关的I/O软件设备分配设备分配中的数据结构系统设备表SDT(SystemDeviceTable)整个系统中只有一张每个设备占一个表项第五十九页,共118页。6.5与设备无关的I/O软件设备控制表DCT(DeviceControlTable)系统中的每台设备都有一张设备控制表DCT充分体现出设备的各方面特征第六十页,共118页。6.5与设备无关的I/O软件控制器控制表(COCT)每个控制器一张通道控制表(CHCT)每个通道一张第六十一页,共118页。6.5与设备无关的I/O软件设备分配时应考虑的因素设备的固有属性独占设备采用独享分配策略,即将设备分配给某进程后,便由该进程独占,直至该进程完成或释放该设备。缺点:设备得不到充分利用,还可能引起死锁。共享设备同时分配给多个进程使用,须注意对这些进程访问该设备的先后次序进行合理的调度。虚拟设备同共享设备第六十二页,共118页。6.5与设备无关的I/O软件设备分配算法先来先服务优先级高者优先第六十三页,共118页。6.5与设备无关的I/O软件设备分配时的安全性安全分配方式每当进程发出I/O请求后,便进入阻塞状态,直到其I/O操作完成时才被唤醒。缺点:进程进展缓慢,CPU与I/O设备串行工作不安全分配方式进程在发出I/O请求后仍继续运行,需要时又发出第二个I/O请求、第三个I/O请求等。仅当进程所请求的设备已被另一进程占用时,请求进程才进入阻塞状态。优点:进程可同时操作多个设备,进程推进迅速。缺点:分配不安全,可能造成死锁。设备独立性第六十四页,共118页。6.5与设备无关的I/O软件独占设备的分配程序基本的分配程序分配设备分配控制器分配通道设备分配程序的改进增加设备的独立性考虑多通路情况第六十五页,共118页。6.5与设备无关的I/O软件逻辑设备名到物理设备名映射的实现逻辑设备表(LUT,LogicalUnitTable)第六十六页,共118页。6.5与设备无关的I/O软件LUT的设置问题整个系统中只设置一张LUT要求所有用户都不使用相同的逻辑设备名主要用于单用户系统中为每个用户设置一张LUT每当用户登录时,便为该用户建立一个进程,同时也为之建立一张LUT,并将该表放入进程的PCB中第六十七页,共118页。6.6用户层的I/O软件大部分I/O软件都包含在操作系统中但仍有一小部分在用户空间,包括与用户程序连接在一起的库函数完全运行于内核之外的SPOOLing系统第六十八页,共118页。6.6用户层的I/O软件系统调用与库函数系统调用库函数C语言、UNIX系统的库函数Win32API用户态内核态第六十九页,共118页。6.6用户层的I/O软件SPOOLing(假脱机)系统SPOOLing技术SPOOLing,SimultaneousPeripheralOperationOnLine,也称为虚拟设备技术多道程序设计系统中处理独占设备的一种方法利用假脱机技术可把独占设备转变成具有共享特征的虚拟设备,从而提高设备利用率第七十页,共118页。6.6用户层的I/O软件SPOOLing的组成输入井和输出井输入缓冲区和输出缓冲区输入进程和输出进程井管理程序第七十一页,共118页。6.6用户层的I/O软件第七十二页,共118页。6.6用户层的I/O软件第七十三页,共118页。6.6用户层的I/O软件SPOOLing系统的特点提高了I/O的速度将独占设备改造为共享设备实现了虚拟设备功能第七十四页,共118页。6.6用户层的I/O软件假脱机打印机系统用户进程的打印请求传递给SPOOLing系统,而不是真正将打印机分配给用户进程SPOOLing系统同意为它打印输出,但并不真正立即把打印机分配给该用户进程,而只为它做两件事:由输出进程在输出井中为之申请一个空闲磁盘块区,并将要打印的数据送入其中;输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上。打印机空闲时,输出进程从请求打印队列上取出一个请求打印表,按其中的要求把数据由打印机输出第七十五页,共118页。6.6用户层的I/O软件第七十六页,共118页。6.6用户层的I/O软件举例WindowsNT中,应用程序直接向针式打印机输出需要15分钟,而向打印作业队列输出只需要1分钟,此后用户可以关闭应用程序而转入其他工作,在以后适当的时候由打印机管理器完成15分钟的打印输出而无需用户干预。第七十七页,共118页。6.6用户层的I/O软件守护进程为打印机建立守护进程取消原假脱机管理进程第七十八页,共118页。6.3~6.6小结I/O系统的层次和每一层的主要功能第七十九页,共118页。6.3~6.6小结例,读操作用户进程对已打开文件的文件描述符执行读库函数(系统调用);设备独立性软件检查参数是否正确,若正确,检查高速缓存中有无要读的数据块。若有,从缓冲区直接读至用户区,完成I/O请求;若没有,设备独立性软件将设备的逻辑名转换成物理名,检查对设备操作的合法性,将I/O请求排队,阻塞用户进程等待I/O操作完成;内核启动设备驱动程序,分配存放读出块的缓冲区,准备接收数据,并向设备控制寄存器发送启动命令,启动I/O;设备控制器操作设备,执行数据传输;数据传输完成时,设备产生I/O中断;第八十页,共118页。6.3~6.6小结CPU响应中断,转入磁盘中断处理程序。中断处理程序检查中断产生的原因和设备的执行状态,若设备有错,向设备驱动程序发信号,检查能否重复执行,如果允许,重发启动设备的命令,再次传输;否则,向上层软件报告错误。若I/O正确完成,将数据传输到指定的用户进程空间,唤醒阻塞进程,从而结束此次I/O请求;当用户进程被再次调动执行时,从I/O系统调用的断点处继续运行。第八十一页,共118页。6.7

缓冲区管理缓冲的概念缓冲的引入缓和CPU与I/O设备间速度不匹配的矛盾减少对CPU的中断频率,放宽对中断响应时间的限制解决数据粒度不匹配的问题提高CPU和I/O设备之间的并行性第八十二页,共118页。6.7缓冲区管理缓冲技术的实现原理当某个进程进行数据输出操作时,先将数据送入缓冲区,当缓冲区满时再将缓冲区的内容送到输出设备上当一个进程完成输入操作时,先将输入设备上的数据送入缓冲区,当缓冲区满时,再由CPU将数据取走在缓冲管理中必须建立缓冲区,有两种设定方式采用硬件方法实现缓冲采用软件缓冲的方式,即从主存空间中划定出一个特殊的内存区域作为缓冲区第八十三页,共118页。6.7缓冲区管理常用的缓冲技术有四种单缓冲双缓冲环形缓冲缓冲池第八十四页,共118页。6.7缓冲区管理单缓冲当用户进程发出I/O请求时,操作系统在主存的系统空间为之分配一个缓冲区可以实现预读和滞后写第八十五页,共118页。6.7缓冲区管理第八十六页,共118页。6.7缓冲区管理双缓冲首先输入将数据送入BUF1,装满后,转向BUF2可以实现用户数据区—缓冲区之间交换数据和缓冲区—外设之间交换数据的并行第八十七页,共118页。6.7缓冲区管理第八十八页,共118页。6.7缓冲区管理环形缓冲要真正实现CPU与外设的并行操作,双缓冲技术还不能达到要求,在计算机中都采用多缓冲或缓冲池结构为了便于管理,一般将多缓冲组织成循环缓冲形式,每个缓冲区的大小相同第八十九页,共118页。6.7缓冲区管理组成(三类缓冲区)空缓冲区R用于存放数据指针:Nexti已装满数据的缓冲区G数据供进程使用指针:Nextg现行工作缓冲区C当前进程使用的缓冲区指针:CurrentRRCGGGG1234567NextiNextgCurrent第九十页,共118页。6.7缓冲区管理缓冲区的使用Getbuf过程计算进程要取数据:将指针Nextg所指的缓冲区提供给进程使用,用Current指针指向该缓冲区的第一个单元,同时将Nextg移向下一个G缓冲区。输入进程要使用空缓冲区装数据:将指针Nexti所指的缓冲区提供给输入进程使用,同时将Nexti移向下一个R缓冲区。第九十一页,共118页。6.7缓冲区管理Releasebuf过程当计算进程把C缓冲区中的数据提取完时,调用该过程释放该缓冲区:将该缓冲区由当前工作缓冲区C改为空缓冲区R。当输入进程将缓冲区装满时:将该缓冲区释放,并改为G缓冲区。第九十二页,共118页。6.7缓冲区管理进程同步输入进程和计算进程可并发执行,指针Nexti和指针Nextg将不断地沿顺时针方向移动可能出现两种情况Nexti指针追上Nextg指针(输入速度>处理速度):无空缓冲区,输入进程阻塞,称为系统受计算限制。Nextg指针追上Nexti指针(输入速度<处理速度):无数据可取,计算进程阻塞,称为系统受I/O限制。第九十三页,共118页。6.7缓冲区管理缓冲池问题:循环缓冲仅适用于某特定的I/O进程和计算进程,属于专用缓冲。当系统较大时,会有很多这样的循环缓冲,不仅消耗大量内存,而且利用率也不高解决:公用缓冲池——池中缓冲区可供多个进程共享第九十四页,共118页。6.7缓冲区管理缓冲池的组成空缓队列emq由空闲缓冲区连接而成用F(emq)指针指向队首,L(emq)指向队尾输入队列inq由装满输入数据的缓冲区连接而成用F(inq)指针指向队首,L(inq)指向队尾输出队列outq由装满输出数据的缓冲区连接而成用F(outq)指针指向队首,L(outq)指向队尾第九十五页,共118页。6.7缓冲区管理缓冲区的工作方式收容输入提取输入收容输出提取输出提取输出hinsoutsinhout用户程序收容输入提取输入收容输出第九十六页,共118页。6.8磁盘存储器的性能和调度

磁盘性能简述数据的组织和格式磁盘柱面磁道扇区第九十七页,共118页。6.8磁盘存储器的性能和调度老式磁盘上,每磁道扇区对于所有柱面都是相同的现代磁盘被划分为环带,外层的环带比内层的环带拥有更多的扇区具有两个环带的磁盘该磁盘的一种的物理几何规格可能的虚拟几何规格第九十八页,共118页。6.8磁盘存储器的性能和调度磁盘参数比较第九十九页,共118页。6.8磁盘存储器的性能和调度磁盘格式化步骤低级格式化对磁盘进行分区对每个分区分别执行一次高级格式化第一百页,共118页。6.8磁盘存储器的性能和调度低级格式化磁盘使用之前,必须由软件进行低级格式化包含一系列同心的磁道,每个磁道包含若干数目的扇区,扇区间存在短的间隙低格之后磁盘容量减少,减少量取决于:前导码、扇区间隙和ECC的大小以及保留的备用扇区数目第一百零一页,共118页。6.8磁盘存储器的性能和调度分区在低格之后,要对磁盘进行分区。逻辑上每个分区就象一个独立的磁盘如Pentium和大多数机器上,0扇区包含主引导记录,其中存放一些引导代码和末尾的分区表分区表给出每个分区的起始扇区和大小为了能从硬盘引导,在分区表中必须有一个分区被标记为活动的第一百零二页,共118页。6.8磁盘存储器的性能和调度高级格式化一个引导块空闲存储管理(空闲列表或位图)根目录空文件系统将一个代码设置在分区表中,表明该分区用什么文件系统第一百零三页,共118页。6.8磁盘存储器的性能和调度磁盘的类型固定头磁盘移动头磁盘一次访盘请求读/写,磁盘地址,内存地址设备号,柱面号,磁头号,扇区号源地址/目的地址第一百零四页,共118页。6.8磁盘存储器的性能和调度磁盘访问时间寻道时间TS把磁臂(磁头)移动到指定磁道上所经历的时间TS=m*n+s

(m:常数,n:移动的磁道数,s:磁盘启动时间)旋转延迟时间Tr指定扇区移动到磁头下面所经历的时间硬盘平均8.3ms,软盘平均50-100ms数据传输时间Tt把数据从磁盘读出或向磁盘写入数据所经历的时间Tt=b/(r*N)(b:读写字节数r:磁盘转速N:一个磁道上的字节数)第一百零五页,共118页。6.8磁盘存储器的性能和调度磁盘调度当多个访盘请求在等待时,采用一定的策略,对这些请求的服务顺序调整安排,旨在降低平均磁盘服务时间,达到公平、高效公平:一个I/O请求在有限时间内满足高效:减少设备机械运动所带来的时间浪费,主要是使磁盘的平均寻道时间最短第一百零六页,共118页。6.8磁盘存储器的性能和调度例,考虑一个有40个柱面的磁盘,假设读柱面11上数据块的请求到达,当对柱面11的寻道正在进行时,又来了对柱面1,36,16,34,9,12

的请求,则让它们进入未完成的请求表,一个柱面对应一个单独的链表第一百零七页,共118页。6.8磁盘存储器的性能和调度FCFS(先来先服务)算法按请求的先后次序进行服务优点:简单,公平缺

温馨提示

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

评论

0/150

提交评论