资源描述
Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,3章 输入输出系统,#,3章 输入输出系统,#,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,3.5 I/O过程的DMA控制,直接存储器存取(direct memory acces,DMA)控制是在内存与设备之间开辟一条直接数据传送通路。CPU与DMA各自能独立地工作:CPU执行程序,DMA控制输入输出过程。这是一种以存储器为中心的体系结构。,3.5 I/O过程的DMA控制 直接存储器存取(direct,3.5.1 DMA的基本概念,存,储,器,CPU,DMA控制器,中断接口,I/O设备,DMA接口,I/O设备,系统总线,2,3章 输入输出系统,3.5.1 DMA的基本概念 CPUDMA控制器中断接口I/,一般说来,在DMA传送需要3个阶段:,(1)CPU执行几条指令,对DMA控制器进行初始化,测试设备状态,向DMA控制器输入设备号、起始地址、数据块长度等。,(2)由DMA控制器控制I/O设备与内存之间的数据传送。,(3)CPU执行中断服务程序对一次传输进行善后处理,如进行数据校验、决定传输是否继续等。,3,3章 输入输出系统,一般说来,在DMA传送需要3个阶段:33章 输入输出系统,1. CPU暂停访问内存,3.5.2 DMA与CPU共享存储器的方式,4,3章 输入输出系统,1. CPU暂停访问内存3.5.2 DMA与CPU共享存储器,2. DMA与CPU交替访问内存,5,3章 输入输出系统,2. DMA与CPU交替访问内存53章 输入输出系统,3. 直接访问和周期挪用,6,3章 输入输出系统,3. 直接访问和周期挪用63章 输入输出系统,3.5.3 DMA控制器,1.DMA控制器字,与控制器通过执行机器指令字实现运算一样,DMA的工作是通过执行控制字实现的。,控制字存放在内存的指定区域中,当某设备需要与内存交换一次数据时,就取出对应的控制字到DMA中的控制字寄存器中,由DMA控制器进行分析和执行,控制字的一般格式,CZ,N,D,CZ表示操作的类型;,N表示交换代码的字长数;,D表示正在交换代码的内存地址。,7,3章 输入输出系统,3.5.3 DMA控制器 1.DMA控制器字 CZNDC,2. DMA控制器组成,(1)内存地址计数器:用于存放内存中要交换的数据的地址。在DMA传送前,须通过程序将数据在内存中的起始位置(,首地址,)送到内存地址计数器。而当DMA传送时,每交换一次数据,将地址计数器加“1”,从而以增量方式给出内存中要交换的一批数据的地址。,8,3章 输入输出系统,2. DMA控制器组成 (1)内存地址计数器:用于存放内存,(2)字计数器 :用于记录传送数据块的长度(多少字数)。其内容也是在数据传送之前由程序预置,交换的字数通常以补码形式表示。在DMA传送时,每传送一个字,字计数器就加“1” ,当计数器溢出即最高位产生进位时,表示这批数据传送完毕,于是引起DMA控制器向CPU发中断信号。,9,3章 输入输出系统,(2)字计数器 :用于记录传送数据块的长度(多少字数)。其内,(3)数据缓冲寄存器 :用于暂存每次传送的数据(一个字)。当输入时,由设备(如磁盘)送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再送到设备。,10,3章 输入输出系统,(3)数据缓冲寄存器 :用于暂存每次传送的数据(一个字)。当,(4)“DMA请求”标志 :每当设备准备好一个数据字后给出一个控制信号,使“DMA请求” 标志置“1”。该标志置位后向“控制/状态”逻辑发出DMA请求,后者又向CPU发出总线使用权的请求(HOLD),CPU响应此请求后发回响应信号HLDA,“控制/状态”逻辑接收此信号后发出DMA响应信号,使“DMA请求”标志复位,为交换下一个字做好准备。,11,3章 输入输出系统,(4)“DMA请求”标志 :每当设备准备好一个数据字后给出一,(5)“控制/状态”逻辑 :由控制和时序电路以及状态标志等组成,用于修改内存地址计数器和字计数器,指定传送类型(输入或输出),并对“DMA请求”信号和CPU响应信号进行协调和同步。,12,3章 输入输出系统,(5)“控制/状态”逻辑 :由控制和时序电路以及状态标志等组,(6)中断机构:当字计数器溢出时(全0),意味着一组数据交换完毕,由溢出信号触发中断机构,向CPU提出中断报告。这里的中断与上一节介绍的I/O中断所采用的技术相同,但中断的目的不同,前面是为了数据的输入或输出,而这里是为了报告一组数据传送结束。因此它们是I/O系统中不同的中断事件。,13,3章 输入输出系统,(6)中断机构:当字计数器溢出时(全0),意味着一组数据交换,第一阶段:是进行初始化,即CPU通过程序IO的方式给DMA控制器预置初值,取状态和送传送需要的有关参数。,第二阶段:由DMA控制器控制外设与主存之间的数据交换。,第三阶段:即CPU中断原程序后进行后处理。若需要继续交换数据,则又要对DMA进行初始化;若不需要交换数据,则停止外设;若为出错,则转错误诊断及处理程序。,3.5.3 DMA传送过程,14,3章 输入输出系统,第一阶段:是进行初始化,即CPU通过程序IO的方式给DMA,3.6 I/O过程的通道控制,3.6 I/O过程的通道控制,16,8.5,通道方式,1、通道的提出,DMA直接依靠,硬件,进行管理,只能实现简单的数据传送。随着系统配置的I/O设备的不断增加,输入输出操作日益繁忙,为此要求CPU不断地对各个DMA进行预置。这样,CPU用于管理输入输出的开销亦日益增加。为了减轻CPU负担,I/O控制部件又把诸如选设备、切换、启动、终止以及数码校验等功能也接过来,进而形成I/O通道,实现输入输出操作的较全面管理。,3.6.1 通道控制及其特点,16,3章 输入输出系统,168.5 通道方式1、通道的提出3.6.1 通道控制及其,17,8.5,通道方式,2、通道的基本概念,通道”是计算机系统中代替CPU管理控制外设的独立部件,是一种能执行有限IO指令集合通道命令的IO处理机。,通道有自己的,指令和程序,专门负责数据的输入输出的传输控制,CPU下放“传输控制”的功能后只负责数据的处理。因此通道是一个,特殊功能的处理器,。,在CPU启动通道后,通道自动地去内存取出通道指令并执行指令。直到数据交换过程结束向CPU发出中断请求,进行通道结束处理工作。 ,17,3章 输入输出系统,178.5 通道方式2、通道的基本概念 173章 输入输,18,3章 输入输出系统,183章 输入输出系统,3. 通道控制的特点,(1)通道具有读写指令,可以执行通道程序,(2)CPU通过简单的输入输出指令控制通道工作,第一字:,命令码,数据地址,第二字:,标志,传送个数,操作码,地址码,通道号,设备号,19,3章 输入输出系统,3. 通道控制的特点第一字:命令码数据地址第二字:标志传送个,(3)通道和设备采用中断方式与CPU联系,输入输出中断可分下面几种:, 报告某操作正常结束的“正常结束”中断;, 报告输入输出操作已经到达预定环节的“进程中断”;, 输入输出设备发现的“故障中断”;, 人对输入输出设备发出干预的“干预中断”等。,20,3章 输入输出系统,(3)通道和设备采用中断方式与CPU联系203章 输入输出系,3.6.2 通道控制原理,1. 通道的功能,通道对外部设备实现管理和控制应有如下功能:, 接受中央处理机的输入输出指令,确定要访问的子通道及外部设备;, 根据中央处理机给出的信息,从内存(或专用寄存器)中读取子通道的通道指令,并分析该指令,向设备控制器和设备发送工作命令;, 对来自各子通道的数据交换请求,按优先次序进行排队,实现分时工作;, 根据通道指令给出的交换代码个数和内存始址以及设备中的区域,实现外部设备和内存之间的代码传送;, 将外部设备的中断请求和子通道的中断请求进行排队,按优先次序送往中央处理机,回答传送情况;, 控制外部设备执行某些非信息传送的控制操作,如磁带机的引带等;, 接收外部设备的状态信息,保存通道状态信息,并可根据需要将这些信息传送到主存指定单元中。,21,3章 输入输出系统,3.6.2 通道控制原理1. 通道的功能213章 输入输出系,2. 通道的组成,22,3章 输入输出系统,2. 通道的组成223章 输入输出系统,主要部件作:,(1) 通道指令寄存器JZ: 用来存放正在执行的通道指令。,(2) 代码缓冲寄存器JN: 是外部设备与内存进行代码交换时暂存被交换代码的寄存器。,(3) 节拍发生器: 和中央处理机脉冲(节拍)分配器一样,产生通道工作的节拍,控制整个通道有序地工作。,(4) 操作控制器: 根据通道指令所规定的操作或排队结果,按通道节拍产生通道微操作。,(5) 传输控制电路: 控制并传输外部设备和通道之间的代码及信号。,(6) 排队器: 根据预先确定的优先次序,对各子通道提出的请求进行排队,确定通道下一次和哪一个子通道的外部设备进行交换,每次都是让优先级高的先进行交换。排队器加上子通道的记忆部件,就能实现通道逐个地启动子通道进行工作。图中排队器和各设备控制器的连线表示子通道。右边设备控制器与中央处理机以及与传输控制电路之间的连线,是所有设备控制器都有的,为清楚起见图中予以省略,并用虚线所指的圆圈表示被排队器选中的设备。,(7) 地址形成电路: 是根据排队器给出的子通道号确定与该子通道对应的通道程序的指令地址的装置。它相当于中央处理机的程序计数器。,23,3章 输入输出系统,主要部件作:233章 输入输出系统,3. 通道控制的工作过程, 中央处理机执行输入输出指令。,当程序执行到需要输入输出时,由专门的外设管理程序将本次输入输出的各种主要信息准备好,根据输入输出的具体要求,组织好通道程序,存入内存,并将它的首地址送入约定单元或专用寄存器中,然后执行输入输出指令,向通道发出“启动I/O”命令。, 通道控制外部设备进行传输。,通道接到“启动I/O”命令后进行以下工作。, 从约定的单元或专用寄存器中取得通道程序首地址,并检查其是否正确。, 根据这个首地址从内存读取第一条通道指令。, 检查通道、子通道的状态是否能使用。如果不能使用,则形成结果特征,回答启动失败,该通道指令无效。, 如果该通道和子通道能够使用,就把第一条通道指令的命令码发到响应设备进行启动。等到设备回答并断定启动成功后,建立结果特征“已启动成功”;否则建立结果特征“启动失败”,结束操作。, 启动成功后,通道将通道程序首地址保留到子通道中,此时通道可以处理其他工作,设备具体执行通道指令规定的操作。, 若是传送数据操作,设备便依次按自己的工作频率发出使用通道的申请,进行排队。通道响应设备申请,将数据从内存经通道发至设备,或反之。当传输完一个数据后,通道修改内存地址(加1)和传输个数(减1),直至要传输个数达到0为止,结束该条通道指令的执行。,24,3章 输入输出系统,3. 通道控制的工作过程243章 输入输出系统, 通道指令执行结束及输入输出结束,当设备全部完成一条通道指令规定的操作时,便发出“设备结束”信号,表示该条通道指令确定的传输已经结束,对应子通道可再往下执行一条新的指令。如果执行完的通道指令不是该通道程序中最后一条指令,子通道进入通道请求排队。通道响应该请求后,将保留在子通道中的通道指令地址更新,指向下一条通道指令,并再次从内存读取新的一条通道指令。一般每取出一条新的通道指令,就将命令码通过子通道发往设备继续进行传输。,如果结束的通道指令是通道程序的最后一条,那么这个设备的结束信号使通道引起输入输出中断,通知中央处理机,本通道程序执行完毕,输入输出操作全部结束。,当中央处理机响应中断后,程序可以根据通道状态,分析结束原因并进行必要的处理。,25,3章 输入输出系统, 通道指令执行结束及输入输出结束253章 输入输出系统,6、通道的各个部件,(1) 通道指令寄存器JZ: 用来存放正在执行的通道指令。,26,3章 输入输出系统,6、通道的各个部件(1) 通道指令寄存器JZ: 用来存放正在,6、通道的各个部件,(2) 代码缓冲寄存器JN: 是外部设备与内存进行代码交换时暂存被交换代码的寄存器。,27,3章 输入输出系统,6、通道的各个部件(2) 代码缓冲寄存器JN: 是外部设备与,6、通道的各个部件,(3) 节拍发生器: 和中央处理机脉冲(节拍)分配器一样,产生通道工作的节拍,控制整个通道有序地工作。,28,3章 输入输出系统,6、通道的各个部件(3) 节拍发生器: 和中央处理机脉冲(节,6、通道的各个部件,(4) 操作控制器: 根据通道指令所规定的操作或排队结果,按通道节拍产生通道微操作。,29,3章 输入输出系统,6、通道的各个部件 (4) 操作控制器: 根据通道指令所规定,6、通道的各个部件,(5) 传输控制电路: 控制并传输外部设备和通道之间的代码及信号。,30,3章 输入输出系统,6、通道的各个部件 (5) 传输控制电路: 控制并传输外部设,6、通道的各个部件,(6) 排队器: 根据预先确定的优先次序,对各子通道提出的请求进行排队,确定通道下一次和哪一个子通道的外部设备进行交换,优先级高的先进行交换。,31,3章 输入输出系统,6、通道的各个部件 (6) 排队器: 根据预先确定的优先次序,6、通道的各个部件,(7) 地址形成电路: 是根据排队器给出的子通道号确定与该子通道对应的通道程序的指令地址的装置。它相当于中央处理机的程序计数器。,32,3章 输入输出系统,6、通道的各个部件 (7) 地址形成电路: 是根据排队器给出,33,在一般用户程序中,通过调用通道来完成一次数据输入输出。,CPU执行用户程序和管理程序,通道处理机执行通道程序。,8、通道工作过程,33,3章 输入输出系统,33 在一般用户程序中,通过调用通道来完成一次数据输入输出,34,主要过程分为如下三步进行:,(1)在用户程序中使用访管指令进入管理程序,由CPU通过管理程序组织一个通道程序,并启动通道。,(2)通道处理机执行CPU为它组织的通道程序完成指定的数据输入输出工作,(3)通道程序结束后向CPU发中断请求。CPU响应这个中断请求后,第二次进入操作系统,调用管理程序对输入输出中断请求进行处理。,8、通道工作过程,34,3章 输入输出系统,34主要过程分为如下三步进行:8、通道工作过程343章 输入,(1)选择通道,选择通道每次只能从所连接的设备中选择一台IO设备的通道程序,此刻该通道程序独占了整个通道。连接在选择通道上的若干设备,只能依次使用通道与主存传送数据,数据传送以成组(数据块)方式进行,每次传送一个数据块,因此,传送速率很高。选择通道多适合于快速设备(磁盘),这些设备相邻字之间的传送空闲时间极短。,3.6.3 通道类型,35,3章 输入输出系统,3.6.3 通道类型353章 输入输出系统,36,(2)字节多路通道(,Byte Multiplexor Channel,),是一种简单的共享通道,在时间分割的基础上,服务于多台低速和中速面向字符的外围设备。,字节多路通道包括多个子通道,每个子通道服务于一个设备控制器,可以独立地执行通道指令。每个子通道都需要有字符缓冲寄存器、IO请求标志控制寄存器、主存地址寄存器和字节计数寄存器。而所有于通道的控制部分是公共的,由所有子通道所共享。通常,每个通道的有关指令和参量存放在主存固定单元中。当通道在逻辑上与某一设备连通时,将这些指令和参量取出来,送入公共控制部分的寄存器中使用。,字节多路通道要求每种设备分时占用一个很短的时间片,不同的设备在各自分得的时间片内与通道建立传输连接,实现数据的传送。,36,3章 输入输出系统,36(2)字节多路通道(Byte Multiplexor,37,(3)数组多路通道(,Block Multiplexor Channel,),数组多路通道把字节多路通道和选择通道的特点结合起来。它有多个子通道,既可以执行多路通道程序,像字节多路通道那样,所有子通道分时共享总通道;又可以用选择通道那样的方式传送数据。,当设备在执行寻址等控制动作时,通道暂时断开与这个设备的连接,挂起设备的通道程序,去为其他设备服务,即执行其他设备的通道程序。,37,3章 输入输出系统,37(3)数组多路通道(Block Multiplexor,3.7 I / O管理,3.7 I / O管理,3.7.1 设备驱动程序,计算机所使用的外部设备品种越来越多。即使同样一种用途的设备,由于生产厂家不用,型号不同,设备制造厂家在研制设备的同时开发的。,39,3章 输入输出系统,3.7.1 设备驱动程序计算机所使用的外部设备品种越来越多。,1. 设备驱动程序的功能,设备驱动程序基本任务是启动指定设备,并且在启动设备之前完成一系列准备工作。一般地说,设备驱动程序的工作过程如下:,(1)将应用程序中的抽象要求转换为具体要求,设备是由设备控制器控制的。用户与上层软件的应用程序提出抽象要求由驱动程序进行中间转换,化抽象为具体,确定将命令、数据和参数分别送到设备控制器的哪个寄存器。,(2)对I/O请求进行合法性检查,检查用户要求是否能为设备接受,是否属于设备的功能范围。,40,3章 输入输出系统,1. 设备驱动程序的功能403章 输入输出系统,(3)读出并检查设备状态,启动设备控制器的条件是设备就绪,如对打印机要检查:电源是否合上、是否有纸等;对软盘驱动器要检查:有无磁盘、有无写保护等。,(4)传送必要的参数,如要提供本次传送的字节数等。,(5)设置工作方式,例如对于异步串行通信接口要设置:传输速率、奇偶检验方式、停止位宽度及数据长度等。,(6)启动I/O设备,完成上述工作后,即可向设备控制器发出启动命令。,41,3章 输入输出系统,(3)读出并检查设备状态413章 输入输出系统,2. 设备驱动程序的结构,一般说来,设备驱动程序应包含如下5部分:,(1)设备标题(device header);,(2)数据存储和局部过程(data storage & local procedure);,(3)策略过程(strategy procedure);,(4)中断过程(interrupt procedure);,(5)命令处理子程序(command processing)。,42,3章 输入输出系统,2. 设备驱动程序的结构423章 输入输出系统,3. 设备驱动程序在I/O系统中的位置,I/O系统的一般结构,自底向上,它由硬件、中断处理程序、设备驱动程序、与设备无关的系统软件以及用户空间软件等5个层次组成。,用户空间软件,与设备无关的系统软件,设备驱动程序,中断处理程序,硬件,I / O请求,I / O回答,43,3章 输入输出系统,3. 设备驱动程序在I/O系统中的位置用户空间软件与设备无关,与设备无关的系统软件的主要作用是在用户应用程序和与设备相关的程序之间提供一个统一的接口,作用如下:,(1)名字映射,通常,在操作系统的I/O用户中对输入输出设备和文件采取了统一的命名。与设备无关的系统软件的一个作用就是将一个名字映射到相应的设备驱动程序上。,(2)设备保护,防止无授权的访问或授权用户的非法操作。在UNIX中采用权限模式,对于系统中的I/O设备提供“rwx”位进行保护。,44,3章 输入输出系统,与设备无关的系统软件的主要作用是在用户应用程序和与设备相,(3)缓冲并提供与设备无关的逻辑块,无论块设备还是字符设备,一般都要使用缓冲区。对于块设备,每当缓冲区满,就进行一次读写操作;但最后一次传送,缓冲区不一定恰好满,这时要全部“推”出缓冲区。对于字符设备,每传送一个字符,进行一次读写操作。,在各种输入输出设备中,缓冲存储器的大小、读写速度和传输速率各不相同。与设备无关的系统软件要对高层屏蔽各种I/O设备空间的大小、处理速度和传输速率,向上层提供大小统一的逻辑块尺寸。,45,3章 输入输出系统,(3)缓冲并提供与设备无关的逻辑块453章 输入输出系统,(4)存储设备的块分配,对于写磁盘操作,操作系统要为其分配新的存储块。为此,要为每个磁盘设置一张空闲块表或位图。其算法是与设备无关的。,(5)独占设备的分配和释放,独占设备只有空闲时,才能接受一个应用请求,才能被打开;使用完毕,必须释放、关闭,以备下一个进程使用。,(6)协助出错处理,出错处理是设备驱动程序的工作,大多数错误与设备密切相关,重读若干次后,还不能排除,设备驱动程序就通知与设备无关软件,给出错误信息报告给调用者。,46,3章 输入输出系统,(4)存储设备的块分配463章 输入输出系统,3.7.2 ROM BIOS,BOIS即Basic Input/Output System(,基本输入/输出系统,)。ROMBOIS,是被固化在,只读存储器,中,实现基本输入/输出系统的一组程序,经常简称为BOIS。,BIOS的主要功能是进行系统自检、进行CMOS设置和提供中断服务。,47,3章 输入输出系统,3.7.2 ROM BIOS 473章 输入输出系统,1BIOS启动系统的过程,系统加电复位,地址:FFFF0,跳转,地址:POST入口,自检诊断,系统初始化,致命性故障?,系统初加载自举,发出错误信息,开机失败,停机处理,非致命性故障?,在线处理,Y,Y,N,N,48,3章 输入输出系统,1BIOS启动系统的过程系统加电复位跳转自检诊断系统初始化,(1)在BIOS中运行的第一个程序是加电自检(power on self test,POST)程序。,BIOS的0xFFFF0单元一般设置一条跳转指令,跳到POST程序的入口,开始执行加电自检(POST)程序。加电自检又称可靠性测试,就是测试计算机各部件和设备是否可以正常工作。通常完整的,POST自检,将包括对CPU、640K基本内存、1M以上的扩展内存、ROM、主板、CMOS存贮器、串并口、显示卡、软硬盘子系统及键盘进行测试。测试的依据是存放在CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)中的上述硬件的参数。CMOS是一种RAM芯片,一般集成在BIOS芯片内,用纽扣电池充电。,一旦在自检中发现问题,系统将给出提示信息或鸣笛警告。没有测试出问题,就自动进入下一步。,49,3章 输入输出系统,(1)在BIOS中运行的第一个程序是加电自检(power o,(2)初始化对有关设备进行初始化。,初始化阶段除了要对各种芯片进行初始化外,还要进行中断向量的设置,以便中断发生时能很快地转入中断处理程序。为此,BIOS要首先在内存的起始地址(0x00000)处开始的空间内构建中断向量表,并按照中断向量表指定位置装入与中断向量表相应的若干中断服务程序。在微型计算机中,一般中断向量表占1K的内存空间(0x000000x003FF),在此后用256字节的内存空间(0x004000x004FF)构建BIOS数据区,在大约0x0E2CE的位置加载了8K左右的与中断向量表相应的若干中断服务程序。,50,3章 输入输出系统,(2)初始化对有关设备进行初始化。503章 输入输出系统,(3)启动自举程序,系统在完成POST自检后,ROMBIOS就首先按照系统CMOS设置中保存的启动顺序搜寻软硬盘驱动器及CDROM、,网络服务器,等有效地启动驱动器,读入操作系统引导记录,然后将系统控制权交给引导记录,并由引导记录来完成系统的顺利启动。,51,3章 输入输出系统,(3)启动自举程序513章 输入输出系统,2. 设置系统参数,许多有关部件和设备的参数对于计算机系统是否能正常运行具有意义。可设置的内容大致如下。,(1)Standard CMOS Setup:标准参数设置,包括日期,时间和软、硬盘参数等。,(2)BIOS Features Setup:设置一些系统选项。,(3)Chipset Features Setup:主板芯片参数设置。,(4)Power Management Setup:,电源管理,设置。,(5)PnP/PCI Configuration Setup:即插即用及PCI,插件,参数设置。,(6)Integrated Peripherals:整合外设的设置。,(7)其他:硬盘自动检测,系统口令,加载缺省设置,退出等。,52,3章 输入输出系统,2. 设置系统参数523章 输入输出系统,每个应用需要设备服务时,首先要向设备管理程序提出资源申请;设备管理程序则按一定的算法为这些申请分配设备资源。如果申请的应用得不到资源,就被放到资源等待队列中等待,直到所需的资源被释放。,设备分配的两种方式:,静态方式,和,动态方式,。,静态方式,是在用户作业开始之前,系统,一次性,地将该作业所需的设备、控制器和通道分配都分配给它,直到该作业退出。这种方法不会产生死锁,但设备的使用效率低。,动态分配,是在作业进行过程中,动态地按需分配,,及时收回。它有利于提高设备的利用率,但如果分配不当,会出现死锁。,3.7,3 I/O设备分配,53,3章 输入输出系统,3.7 3 I/O设备分配 533章 输入输出系统,具体的分配方式,还要考虑设备固有的属性设备特性。按照设备特性,设备可以分为,独占,、,共享,和,虚拟设备,。,1.,独占,设备的分配虚拟设备技术,独占设备是每次只能分配给一个应用的设备。由于系统中同一类的独占设备是有限的,因而由于不能满足多个应用的争用,会引起,大量应用的等待,,成为系统的“瓶颈”;另一方面,申请到独占设备的应用却,利用率极低,,设备还往往处于空闲状态。,解决这一矛盾的办法是虚拟设备技术,或称SPOOL(Simultaneous Peripheral Operation On-Line,假脱机操作)技术。,54,3章 输入输出系统,具体的分配方式,还要考虑设备固有的属性设备特性。按,(1)脱机、联机和假脱机,设备与内存的信息交换有两种方式:,脱机,和,联机,。,联机,信息交换方式就是设备,直接,与内存,交换,信息。这种方式就是独享设备的工作方式,也具有独享设备的不足。,脱机,信息交换方式的设备要以一个块设备为,中间过渡,。以输入为例,先用一台外围机将字符输入设备上的信息集中到一台块设备上,然后再从块设备上将信息传入主机。这样外围机可以与主机,并行,工作,提高了主机的利用率。由于块设备可以共享,因此设备也为不同的进程共享。它的缺点是块设备与字符设备之间的装卸要由人工进行,降低了系统的平均运行速度,而且容易出差错和损坏设备。,55,3章 输入输出系统,(1)脱机、联机和假脱机553章 输入输出系统,SPOOL 技术对脱机和联机两种方式取长补短,能将一台独享设备改造成共享设备。但是,它不是脱机进行的,而是模拟了脱机工作,实现了虚拟设备功能,所以叫做假脱机技术。,(2)SOOPL 系统的组成,高速外存通常是磁盘的支持,磁盘上两个大的存储空间输入井和输出井,,内存中两个缓冲区输入缓冲区和输出缓冲区。,外部设备输入数据时,先暂存在输入缓冲区中,然后收容到输入井中;用户程序输出数据时,先暂存在输出缓冲区中,然后堆放进输出井中,供外部设备慢慢地取走。,56,3章 输入输出系统,SPOOL 技术对脱机和联机两种方式取长补短,能将一台独,3. 共享设备的分配磁盘调度策略,磁盘是典型的共享设备,它用一些称为磁道的同心圆来存储信息。信息的读写是在磁头的径向移动(用于选道)和盘片的旋转(用于选扇区)过程中进行的。磁盘的访问时间由3部分组成:,磁头移动时间,磁头从当前位置移动到需要位置的时间,又称寻道时间;,旋转延迟时间,磁盘从当前位置旋转道需要的物理块的时间;,传输时间,CPU对磁盘的访问操作时间。,其中,磁头的移动时间要占70%左右。因此,如何调度磁头的移动,就成为操作系统中提高磁盘访问速度的关键,而磁盘调度策略也主要是指对磁头移动的调度。,57,3章 输入输出系统,3. 共享设备的分配磁盘调度策略573章 输入输出系统,(1)先来先服务FCFS,FCFS是最简单的一种调度策略,它根据进程对磁盘提出访问请求的先后次序,依次分配,因而所有应用都能有机会得到满足,不会出现“吃不上”的现象。它不对任何访问以特殊待遇,体现了访问随机性的特点,平均寻道时间为1/2的最大寻道时间。在访问较多的情形下,对设备吞吐量和响应时间不利。,(2)最短寻道时间优先(SSTF,Shortest Seek Time First),这种策略每次选择请求中指定的位置距当前位置最短的请求予以优先响应,从而保证了寻道时间,58,3章 输入输出系统,(1)先来先服务FCFS583章 输入输出系统,最短,对提高设备的吞吐量也有好处。但是它不是对所有磁道都机会相等,一般分布为中间的磁道机会较多,偏圆心或边部磁道访问机会较少。在请求很多的情形下,内、外边缘处的磁道常有“饥饿”现象。,(3)扫描SCAN,SCAN策略是对SSTF的改进。它规定在前进方向上选择下一个最短寻道时间请求,只有到了边缘(最外或最内磁道)才向回返,有一点像电梯,所以也称电梯策略。这样就能克服SSTF的“饥饿”现象。但是边缘磁道的被访问率还是比中部磁道低。,59,3章 输入输出系统,最短,对提高设备的吞吐量也有好处。但是它不是对所有磁道都机会,(4)循环扫描(CSCAN,Circular SCAN),CSCAN是对SCAN的改进:在扫描到边缘后,不是返回,而是移到另一端去,再按原来的方向扫描。在负荷较大时,使用CSCAN策略效果较好。,(5)N步扫描,N步扫描也是对SCAN的改进,它的改进方法是在SCAN的基础上,将磁盘分为若干长度为N的子队列,在每个子队列中按SCAN策略处理,在子队列间按FCFS策略处理。于是,当N很大时,接近SCAN策略;当N=1时,退化为FCFS策略。,60,3章 输入输出系统,(4)循环扫描(CSCAN,Circular SCAN)60,等待是失败的源头,行动是成功的开始。,12月-24,12月-24,Sunday, December 1, 2024,安全用电,节约用水,消防设施,定期维护。,01:37:23,01:37:23,01:37,12/1/2024 1:37:23 AM,事故教训是镜子,安全经验是明灯。,12月-24,01:37:23,01:37,Dec-24,01-Dec-24,跨越今日的视野,扩展,21,世纪的眼光。,01:37:23,01:37:23,01:37,Sunday, December 1, 2024,多一份防范意识,少一份生命危险。,12月-24,12月-24,01:37:23,01:37:23,December 1, 2024,灾害常生于疏忽,祸患多起于细末。,2024年12月1日,1:37 上午,12月-24,12月-24,减少浪费,降低成本,气氛融洽,工作规范,提升品质,安全保证。,01 十二月 2024,1:37:23 上午,01:37:23,12月-24,神是责任,安全的方针是第一。,十二月 24,1:37 上午,12月-24,01:37,December 1, 2024,关爱生命,关注安全。,2024/12/1 1:37:23,01:37:23,01 December 2024,仪器设备勤保养,生产自然更顺畅。,1:37:23 上午,1:37 上午,01:37:23,12月-24,该说说到,说到做到,做到有效。,12月-24,12月-24,01:37,01:37:23,01:37:23,Dec-24,品质是生产出来的,不是靠检验出来的。,2024/12/1 1:37:23,Sunday, December 1, 2024,质量就是效益。,12月-24,2024/12/1 1:37:23,12月-24,谢谢大家!,等待是失败的源头,行动是成功的开始。9月-239月-23Fr,
展开阅读全文