版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 输入输出系统,6.1 I/O系统的功能、模型和接口 6.2 I/O设备和设备控制器 6.3中断机构和中断处理程序 6.4 设备驱动程序 6.5 与设备无关的I/O软件 6.6 用户层的I/O软件 6.7 缓冲区管理 6.8 磁盘存储器的性能和调度,基本任务:完成用户提出的I/O请求,提高I/O速率以及改善I/O设备的利用率,主要功能:缓冲区管理、设备分配、设备处理、虚拟设备及设备独立性等,6.1 I/O系统的功能、模型和接口,6.1.1 I/O系统的基本功能 隐藏物理设备的细节 与设备的无关性(设备独立性) 提高处理机和I/O设备的利用率 对I/O设备进行控制 确保对设备的正确共享 错
2、误处理,6.1.2 I/O系统的层次结构和模型,1. I/O软件的层次结构,I/O系统中各种模块之间的层次视图,1) I/O系统的上、下接口 2) I/O系统的分层,6.1.3 I/O系统接口,在I/O系统与高层之间的接口中,根据设备类型的不同,又进一步分为若干个接口:块设备接口、流设备接口和网络接口。1. 块设备接口 2. 流设备接口(字符设备接口) 3. 网络通信接口,6.2 I/O设备和设备控制器,I/O设备:执行I/O操作的机械部分,执行控制I/O的电子部件 执行I/O操作的机械部分一般的I/O设备 执行控制I/O的电子部件则称为设备控制器或适配器 在微型机和小型机中的控制器常做成印刷
3、电路卡形式,因而也常称为控制卡、接口卡或网卡 大、中型计算机系统中,还配置了I/O通道或I/O处理机。,6.2.1 I/O设备,一、I/O设备的类型 1按操作特性分类 (1) 存储设备(辅存) (2) 输入/输出(I/O)设备 2按信息交换的单位分类 (1) 字符设备(慢) (2) 块设备(快) 3按设备的共享属性分类 (1) 独占设备 (2) 共享设备 (3) 虚拟设备 4按设备的传输速率分类 (1) 低速设备 (2) 中速设备 (3) 高速设备,指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户(进程)同时使用,2设备与控制器之间的接口通常,设备并不是直接与CPU进行通信,而是
4、与设备控制器通信,因此,在I/O设备中应含有与设备控制器间的接口,在该接口中有三种类型的信号( 图 所示),各对应一条信号线。,9/15/2020,6.2.2 设备控制器,设备控制器职责:控制一个或者多个I/O设备,以实现I/O设备和计算机之间的数据交换。 CPU控制器-设备 微机小型机中控制器接口卡,一、设备控制器的基本功能,接收和识别命令 数据交换 标识和报告设备的状态 地址识别 数据缓冲 差错控制,I/O系统,I/O系统,二、设备控制器的组成,设备控制器与处理机的接口 设备控制器与设备的接口 I/O逻辑,设备控制器与处理机的接口 该接口用于实现CPU与设备控制器之间的通信。共有三类信号线
5、:数据线、地址线和控制线。,设备控制器与设备的接口 在一个设备控制器上,可以连接一个或多个设备。相应地,在控制器中便有一个或多个设备接口,一个接口连接一个设备。在每个接口中都存在数据、控制和状态三种类型的信号。,I/O逻辑:用于实现对设备的控制。它通过一组控制线与处理机交互,处理机利用该逻辑向控制器发送I/O命令,I/O逻辑对收到的命令进行译码。每当CPU要启动一个设备时,一方面将启动命令发送给控制器;另一方面又同时通过地址线把地址发送给控制器,由控制器的I/O逻辑对收到的地址进行译码,再根据所译出的命令对所选设备进行控制。,6.2.3 内存映像I/O,在早期的计算机中,包括大型计算机,为实现
6、CPU和设备控制器之间的通信,为每个控制寄存器分配一个I/O端口 =编址上不再区分内存单元地址和设备控制器中的寄存器地址,都采用k k值处于0n-1范围时:内存地址 k大于等于n时:某个控制器的寄存器地址。,6.2.4 I/O通道,一、I/O通道设备的引入 实际上I/O通道是一种特殊的处理机,它具有执行I/O指令的能力,并通过执行通道程序来控制I/O操作。与一般处理机不同于两方面: 1.指令类型单一,只用于I/O操作; 2.通道没有内存,它与CPU共享内存。 引入目的 解脱CPU对I/O的组织、管理。 CPU只需发送I/O命令给通道,通道通过调用内存中的相应通道程序完成任务。,I/O系统,I/
7、O系统,二、 通道类型,字节多路通道的工作原理,1.字节多路通道: 各子通道以时间片轮转方式共享通道,适用于低、中速设备。,2.数组选择通道: 无子通道,仅一主通道,某时间由某设备独占,适于高速设备。 但通道未共享,利用率低。,3.数组多路通道: 多子通道不是以时间片方式,而是“按需分配”,综合了前面2种通道类型的优点。,I/O系统,硬件连接结构,三、“瓶颈”问题,单通路I/O系统,I/O系统,存储器,I/O通道1,I/O通道2,CPU,总 线,多通路I/O系统,I/O系统,I/O通道1,I/O通道2,控制器,控制器,控制器,控制器,设备1,设备2,设备3,设备4,设备5,设备6,设备7,设备
8、8,存储器,CPU,总 线,6.3中断机构和中断处理程序,中断在操作系统中有着特殊重要的地位: 是多道程序得以实现的基础:进程之间的切换是通过中断来完成的 中断也是设备管理的基础,为了提高处理机的利用率和实现CPU与I/O设备并行执行,也必需有中断的支持 中断处理程序:I/O系统中最低的一层,整个I/O系统的基础,6.3.1 中断简介,1. 中断和陷入1) 中断 CPU对I/O设备发来的中断信号的一种响应。2) 陷入CPU内部事件引起中断:非法指令,地址越界,运算上溢或下溢,2. 中断向量表和中断优先级,1) 中断向量表记录中断程序的入口地址、中断号(每一个设备的中断请求规定一个) 2) 中断
9、优先级多个中断信号源,不同的优先级,3. 对多中断源的处理方式,1) 屏蔽(禁止)中断处理一个中断时,屏蔽所有中断 顺序处理中断 简单 不能用于实时性要求高 2) 嵌套中断 优先响应最高优先级 高优先级抢占低优先级,6.3.2中断处理程序处理过程: 1测定是否有未响应的中断信号 2保护被中断进程的CPU环境 3转入相应的设备处理程序 4中断处理 5. 恢复被中断进程的现场,6.4 设备驱动程序,设备驱动程序通常又称为设备处理程序。 主要任务: 接收上层软件发来的抽象I/O要求(read或write) 转换为具体要求后,发送给设备控制器,启动设备去执行 也将由设备控制器发来的信号传送给上层软件
10、由于驱动程序与硬件密切相关,故应为每一类设备配置一种驱动程序,6.4.1 设备驱动程序概述,1设备驱动程序的功能 (1) 接收由设备独立性软件发来的命令和参数,并将命令中的抽象要求转换为具体要求,例如,将磁盘块号转换为磁盘的盘面、磁道号及扇区号。 (2) 检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。 (3) 发出I/O命令。如果设备空闲,便立即启动I/O设备去完成指定的I/O操作;如设备,则将请求者的请求块挂在设备队列上等待。 (4) 及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。 (5) 自动地构成通道程序。,2
11、. 设备驱动程序的特点,(1) 驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序。 (2) 不同类型的设备应配置不同的驱动程序。 (3) 驱动程序与I/O设备所采用的I/O控制方式紧密相关(中断驱动和DMA方式) (4) 由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言书写。目前有很多驱动程序的基本部分,已经固化在ROM中。 (5) 驱动程序应允许可重入。一个正在运行的驱动程序常会在一次调用完成前被再次调用。,3. 设备处理方式,为每一类设备设置一个进程,专门用于执行此类设备的I/O操作 整个系统设置一个I/O进程 ,用于执行所有I/O操作 不设备专门的设备处理
12、进程,只为各类设备设置相应的设备驱动程序,供用户或系统进程调用(应用最广),6.4.2 设备驱动程序的处理过程,1) 将抽象要求转换为具体要求,2) 检查I/O请求的合法性,3) 读出和检查设备的状态,4) 传送必要的参数:字节数,内存地址,5) 工作方式的设置:波特率,校验方式,6) 启动I/O设备:阻塞自己,6.4.3 对I/O设备的控制方式,程序I/O方式 (programmed I/O) (使用轮询) CPU and Device can not work in parallel 中断方式 (interrupt) CPU and device can work in parallel,
13、 too many interrupts for CPU 通道方式 (channel) special processor for dealing with i/o operations 直接存储器访问方式 (DMA) DMA controller in charge of block i/o,I/O控制方式,向I/O控制器发读命令,CPUI/O,读I/O控制器的状态,I/OCPU,检查状态,出错,从I/O控制器中读入字,I/OCPU,未就绪,向存储器中写字,CPU内存,传送完成?,未完成,下条指令,1. 程序I/O方式,查询方式:CPU需花代价不断查询I/O状态。 CPU资源浪费极大。,注:
14、程序I/O方式也称作程序查询方式或轮询方式。,2. 中断驱动I/O方式,向I/O发命令返回执行其它任务。 I/O中断产生CPU转相应中断处理程序。 如:读数据,读完后以中断方式通知CPU,CPU完成数据从I/O内存,I/O控制方式,CPU 计算 启动设备 计算 计算 中断处理 计算,设备:,工作,特点: CPU与设备并行工作 设备多时对CPU打扰多,I/O控制方式,向I/O控制器发读命令,CPUI/O,读I/O控制器的状态,I/OCPU,检查状态,出错,从I/O控制器中读入字,I/OCPU,向存储器中写字,CPU内存,传送完成?,未完成,下条指令,2. 中断驱动I/O控制方式,CPU做其它事,
15、中断,3. 直接存储器访问DMA I/O控制方式,一、引入 中断I/O,CPU“字节”干预一次,即每“字节”传送产生一次中断。 DMA:由DMA控制器直接控制总线传递数据块。DMA控制器完成从I/O内存。 二、组成 一组寄存器+控制逻辑。 CR(命令/状态); DR(数据); MAR(内存地址); DC(计数),I/O控制方式,二、DMA控制器的组成,DMA控制器由三部分组成: 主机与DMA控制器的接口; DMA控制器与块设备的接口; I/O控制逻辑。,I/O控制方式,DMA控制器的示意图,命令/状态寄存器CR:接收从CPU发来的I/O命令或有关控制和状态信息,数据寄存器DR:用于暂存设备到内
16、存或从内存到设备的数据,内存地址寄存器MAR:存放把数据从设备传送到内存的起始目标地址或内存原地址,数据计数器DC:存放本次CPU要读或写的字(节)数,I/O控制方式,I/O控制方式, 数据传输,CPU,DMA 控制器,内存,缓冲,磁盘, 中断, DMA请求,总线,磁盘 控制器, 回答, DMA编程,CPU设置DMA控制器实现DMA编程,同时启动磁盘控制器由磁盘读入数据到内部缓冲区; DMA控制器向磁盘控制器发出读请求; 磁盘控制器将字节传到内存指定单元; 磁盘控制器向DMA控制器发送回答; DMA控制器将MAR加1,DC减1,重复上述过程直至DC为0,DMA控制器向CPU发出中断请求。,I/
17、O控制方式,向I/O控制器发读命令,CPUDMA,读I/O控制器的状态,DMACPU,下条指令,直接存储器访问DMA控制方式,CPU做其它事,中断,该方式的特点是: 数据传输的基本单位是数据块; 所传送的数据是从设备直接送入内存的,或者相反; 仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。,三. DMA工作过程,DMA方式的工作流程,I/O控制方式,4. I/O通道控制方式,DMA方式:对需多个离散块的读取仍需要多次中断。 通道方式:CPU只需给出 (1)通道程序首址。 (2)要访问I/O设备,I/O控制方式,I/O控制方式,通道程序 通道是通
18、过执行通道程序,并与设备控制器共同实现对I/O设备的控制的。通道程序由一系列通道指令所构成的。 道指令一般包含下列信息: 操作码。规定指令所执行的操作。 内存地址。 计数。表示本指令所要操作的字节数。 通道程序结束位P。用以表示程序是否结束。 记录结束标志R。表示该指令是否与下条指令有关。,I/O控制方式,优点:执行一个通道程序可以完成几批I/O操作。,6.5 与设备无关的I/O软件,提高OS的可适应性和可扩展性,在现代OS中都毫无例外地实现了设备独立性(Device Independence),也称为设备无关性 基本含义: 应用程序独立于具体使用的物理设备 逻辑设备和物理设备 类似于物理地址
19、和逻辑地址的概念。使用逻辑设备名称来请求使用某类设备;系统实际执行时,必须使用物理设备名称。,为了实现应用程序中所使用的设备与系统的设备变换无关,设置一张逻辑设备表LUT,用激光打印机替换针式打印机后的LUT表:,有利用设备分配时的灵活性 易于实现I/O重定向 I/O重定向指用于I/O操作的设备可以更换(重定向),而不必改变应用程序。,设备独立性的优点,6.5.3 设备分配,1. 设备分配中的数据结构,包括:对设备、设备控制器、通道的分配,系统为每一设备都配置了一张设备控制表,用于记录本设备的情况,I/O通道1,I/O通道2,控制器,控制器,设备1,设备2,设备3,设备4,存储器,CPU,总
20、线,系统设备表SDT。如图所示:,系统设备表,设备分配,2. 设备分配时应考虑的因素,设备的固有属性 设备分配算法 设备分配中的安全性 设备独立性,独占设备 共享设备 (3)虚拟设备,设备分配,(1)先来先服务 (2)优先级高者优先,安全分配方式 不安全分配方式,3. 独占设备的分配程序,基本的设备分配程序 分配设备 分配控制器 分配通道,基本设备分配程序存在的问题 进程以物理设备名提出I/O请求 采用单通路的I/O系统结构,产生“瓶颈”,设备分配,设备分配程序的改进 增加设备的独立性 考虑多通路情况,6.6 用户层的I/O软件,大部分的I/O软件都在操作系统内部 有一小部分在用户层(与用户程
21、序链接在一起的库函数等) 用户层软件必须通过一组系统调用来取得操作系统服务 在现代的高级语言以及C语言中,通常提供了与各系统调用一一对应的库函数,用户程序通过调用对应的库函数使用系统调用(如C语言中的库函数write等) Spooling系统及网络传输文件时使用的守护进程等,运行在内核之外,归属于I/O系统,6.6.2 假脱机(Spooling)系统,如前所述,虚拟性是OS的四大特征之一 通过多道程序技术将一台物理CPU虚拟为多台逻辑CPU,从而允许多个用户共享一台主机 通过SPOOLing技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备。,引入:在
22、多道程序系统中,专门利用一道程序(SPOOLing程序)来完成对设备的I/O操作。无需使用外围I/O处理机。,1.SPOOLing技术,设备分配,什么是SPOOLing,通过共享设备来模拟独占设备,将独占设备改造成共享设备,从而提高了设备利用率和系统效率,这种技术被称为Spooling技术。 同时外围联机操作(Simultaneous Peripheral Operating OnLine),或称为假脱机操作。,设备分配,2.SPOOLing系统的组成,主要有三大部分: 输入井和输出井:是磁盘上开辟的两个大存储空间。输入井模拟脱机输入的磁盘设备,输出井模拟脱机输出时的磁盘。 输入缓冲区和输出缓
23、冲区:输入缓冲区暂存由输入设备送来的数据,后送输入井;输出缓冲区暂存从输出井送来的数据,后送输出设备 输入进程和输出进程:利用两个进程模拟脱机I/O时的外围处理机。,设备分配,SPOOLing系统的组成,设备分配,SPOOLing系统的处理过程,设备分配,用进程Spi模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井。当CPU需要输入数据时,直接从输入井读入内存 用SPO进程模拟脱机输出时的外围控制机,把用户要求输出的数据先从内存送到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上,SPOOLing系统的特点,提高了I/O的速度:利用输入输出
24、井模拟脱机输入输出,缓和了CPU和I/O设备速度不匹配的矛盾 将独占设备改造为共享设备:并没有为进程分配设备,而是为进程分配一存储区和建立一张I/O请求表 实现了虚拟设备功能:多个进程同时使用一台独占设备,设备分配,6.7 缓冲区管理,6.7.1 缓冲的引入,引入缓冲区的主要原因归结为以下几点: 1. 缓和CPU与I/O设备间速度不匹配的矛盾。 2. 减少对CPU的中断频率,放宽对CPU中断响应时间的限制。 3. 提高CPU和I/O设备之间的并行性。,6.7.2 单缓冲和双缓冲,1. 单缓冲(Single Buffer),I/O设备,系统单缓冲buf,输入(T),传送(M),计算(C),工作示
25、意图,t,缓冲管理,一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。,C和T可并行,M和C或M和T不能并行,因此处理一块数据时间:Max(C,T)+M,2.双缓冲(Double Buffer),效率有所提高,且进一步平滑了传输峰值。 系统处理一块数据的时间约为:MAX(C,T) 收发可双向同时传送。,缓冲管理,两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。,双机通讯时缓冲区的设置,缓冲管理,6.7.3 循环缓冲,1. 循环缓冲的组成,输入进程下一个可用空缓冲区R,计算进程下一个可用缓冲区C,缓冲管理,计算进程当前正在使用缓冲区C 指针cur
26、rent,类型: R:空缓冲; G:满缓冲; C:当前缓冲,2. 循环缓冲区的使用(1),Getbuf过程。 输入进程 计算进程,nexti,nexti,nextg,current,nextg,C,缓冲管理,G,2. 循环缓冲区的使用(2),(2) Releasebuf过程。 输入进程 计算进程,nexti,current,nextg,C,R,G,缓冲管理,3. 进程同步,Nexti指针追赶上Nextg指针。 (2) Nextg指针追赶上Nexti指针。,nexti,nextg,G,G,G,G,R,R,1,6,5,4,2,3,nexti,nexti,G,G,缓冲管理,6.7.4 缓冲池(Buf
27、fer Pool),1. 缓冲池的组成,1. 缓冲池的组成,缓冲池,Em,Em,Em,Em,Em,In,In,In,In,Out,Out,Out,Out,缓冲管理,9/15/2020,70,缓冲区的工作方式,缓冲区可以工作在下列四种方式下: 收容输入。输入进程需要输入时,取得空缓冲区,装满后放入输入队列。 提取输入。计算进程需要输入时,在输入队列取缓冲区,提取数据后挂在空缓冲区队列上。 收容输出。计算进程需要输出时,取空缓冲区,装满数据后挂在输出缓冲队列上。 提取输出。输出进程从输出队列取缓冲区,提取完数据后挂在空缓冲区上。,1.收容输入hin; 2.提取输入sin 3.收容输出; 4.提取输
28、出,缓冲管理,hin=getbuf(emq); putbuf(inq,hin),sin=getbuf(inq); putbuf(emq,sin),sout=getbuf(outq)putbuf(emq,sout),hout=getbuf(emq) putbuf(outq,hout),1.hin=getbuf(emq); putbuf(inq,hin) 2.sin=getbuf(inq);计算; putbuf(emq,sin) 3.hout=getbuf(emq); putbuf(outq, hout) 4.sout=getbuf(outq);输出;putbuf(emq,sout),Getbuf
29、(type) Begin wait(RS(type); wait(MS(type); B(number):=takebuf(type); signal(MS(type); end,Putbuf(type) Begin wait(MS(type); addbuf(type,number); signal(MS(type); signal(RS(type); end,缓冲管理,6.8 磁盘存储器的性能和调度,6.8.1 磁盘性能简述 数据的组织 磁盘的类型 访问时间,磁盘的格式化,2. 磁盘的类型,1) 固定头磁盘 这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头
30、可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。 这种结构的磁盘主要用于大容量磁盘上。 2) 移动头磁盘 每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其结构简单, 故仍广泛应用于中小型磁盘设备中。,信息记录在磁道上,多个盘片,正反两面都用来记录信息,每面一个磁头 所有盘面中处于同一磁道号上的所有磁道组成一个柱面 每个扇区大小为600字节(数据512字节) 物理地址形式: 柱面号 磁头号 扇区号,柱面、磁头、扇区,磁盘存储器管理,由三个动作组成: 寻道 :磁头移
31、动定位到指定磁道 旋转延迟:等待指定扇区从磁头下旋转经过 数据传输:数据在磁盘与内存之间的实际传输,磁盘的访问过程,磁盘存储器管理,寻道时间Ts:大约几ms到几十ms Ts=启动磁臂时间S+磁头移动磁道数n磁头移道速度m 旋转延迟时间Tr:对于7200转/分,平均延迟时间为4.2ms 数据传输时间Tt:目前磁盘的传输速度一般有几十M/s,传输一个扇区的时间小于0.05ms,磁盘的访问时间,思考,设磁盘的转速为3000转/分,盘面划分成10个扇区,计算读取一个扇区的时间? 1分钟内,磁盘可以转动3000转 1秒内磁盘转50转 1秒磁头读取了5010=500个扇区 读取一个扇区的时间:1/500=
32、0.002s=2ms,磁盘访问时间,假设有4个记录A、B、C、D存放在磁盘的某个磁道上,该磁道被划分为4块,每块存放一个记录,安排如下表所示: 现在要顺序处理这些记录,如果磁盘旋转速度为20ms转一周,处理程序每读一个记录后5ms进行处理。试问处理完这个4个记录的总时间是多少? 为了缩短处理时间应进行优化分布,试问应如何安排这些记录,并计算机处理的总时间。,思考,要提高磁盘的数据访问速度,主要应在哪方面下功夫?,磁盘存储器管理,分析,要提高磁盘的访问速度主要应从以下两方面入手: 数据的合理组织 磁盘的调度算法,磁盘存储器管理,5.6.2磁盘调度算法,当多个访盘请求在等待时,采用一定的策略,对这
33、些请求的服务顺序调整安排,旨在降低平均磁盘服务时间,达到公平、高效 公平:一个I/O请求在有限时间内满足 高效:减少设备机械运动所带来的时间浪费,先来先服务FCFS 最短寻道时间优先SSTF 扫描算法SCAN 单向扫描调度算法CSCAN,磁盘存储器管理,按访问请求到达的先后次序服务 优点:简单,公平; 缺点:效率不高,相邻两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利,先来先服务FCFS,磁盘存储器管理,假设磁盘访问序列:98,183,37,122,14,124,65,67 读写头起始位置:53 安排磁头服务序列 计算磁头移动总距离(道数),先来先服务FC
34、FS,磁盘存储器管理,磁盘存储器管理,磁盘访问序列:98,183,37,122,14,124,65,67,先来先服务FCFS,45,85,146,85,108,110,59,2,磁头走过的总道数:640 平均寻道长度:80,98,183,37,122,14,124,65,67,优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先 优点:改善了磁盘平均服务时间; 缺点:造成某些访问请求长期等待得不到服务,最短寻道时间优先SSTF,磁盘存储器管理,磁盘存储器管理,磁盘访问序列: 65,67,37,14,98,122,124,183,最短寻道时间优先SSTF,12,2,30,23,84,24,
35、2,59,磁头走过的总道数:236 平均寻道长度:29.5,98,183,37,122,14,124,65,67,克服了最短寻道优先的缺点,既考虑了距离,同时又考虑了方向 具体做法:当设备无访问请求时,磁头不动;当有访问请求时,磁头按一个方向移动,在移动过程中对遇到的访问请求进行服务,然后判断该方向上是否还有访问请求,如果有则继续扫描;否则改变移动方向,并为经过的访问请求服务,如此反复,扫描算法(电梯算法)SCAN,磁盘存储器管理,磁盘存储器管理,磁盘访问序列: 37,14,65,67,98,122,124,183,扫描算法(电梯算法)SCAN,51,2,16,23,31,24,2,59,磁头
36、走过的总道数:208 平均寻道长度:26,98,183,37,122,14,124,65,67假设此时磁头向内移动,也称循环扫描算法。 电梯算法杜绝了饥饿,但当请求对磁道的分布是均匀时,磁头回头,近磁头端的请求很少(因为磁头刚经过),而远端请求较多,这些请求等待时间要长一些。 总是自里向外移动。移动臂到达最后个一个柱面后,立即带动读写磁头快速返回到最里的欲访问磁道。返回时不为任何的等待访问者服务。返回后可再次进行扫描,单向扫描调度算法CSCAN,磁盘存储器管理,磁盘存储器管理,磁盘访问序列: 65,67,98,122,124,183,14,37,单向扫描算法CSCAN,12,2,169,23,
37、31,24,2,59,磁头走过的总道数:352 平均寻道长度:44,98,183,37,122,14,124,65,67,调度算法的选择,实际系统相当普遍采用最短寻道时间优先算法,因为它简单有效,性价比好。 扫描算法更适于磁盘负担重的系统。 磁盘负担很轻的系统也可以采用先来先服务算法 一般要将磁盘调度算法作为操作系统的单独模块编写,利于修改和更换。,磁盘存储器管理,调度算法的选择,假定磁盘的存储臂现在处于8号柱面上,有如下表所示的6个请求等待访问磁盘,试列出最省时间的响应顺序。 26 4 1 3 5,磁盘存储器管理,例 题 例1:简述设备分配的过程。 答:设备分配程序要用到系统设备表、设备控制
38、表、控制器控制表和通道控制表。其主要过程是: 按指定方式扫描SDT,找出该类设备DCT链的起始地址。 依DCT开始扫描,找出可以工作的设备,检查设备分配的合理性,从而进行设备的预分配。 根据预分配设备的DCT,找出与之相连的COCT表,从所有相连的控制器中找出一个可以分配而且分配合理的控制器。 从所分配的COCT出发,根据CHCT链,找出一个可用的通道。 当找到一个可用的通路后,才实施真正的分配,把设备、控制器、通道一并分配给申请设备的进程。,例2:DMA方式和中断方式有什么不同? 答:DMA方式和中断方式的主要不同点是:中断方式在每个数据传送完成后中断CPU,而DMA方式则是在所要求传送的一
39、批数据全部传送结束时中断CPU;中断方式的数据传送是在中断处理时由CPU控制完成,而DMA方式则是在DMA控制器的控制下完成。不过,DMA方式仍存在一定局限性。如数据传送的方向、存放数据的内存始址及传送数据的长度等都由CPU控制,并且每台设备需一个DMA控制器,当设备增加时,多个DMA控制器的使用也不经济。,例3:DMA方式和通道方式有什么不同? 答:DMA方式中,在DMA控制器控制下,设备和主存之间可成批地进行数据交换,而不用CPU干预,这种方式应用于块设备的数据传输。通道控制方式与DMA方式类似,也是一种以内存为中心,实现设备与内存直接交换数据的控制方式。在通道控制方式中,CPU只需发出启
40、动指令,指出通道相应的操作和I/O设备,该指令就可启动通道并使该通道从内存中调出相应的通道指令执行。 与DMA方式相比,通道方式所需的CPU干预更少,且可以做到一个通道控制多台设备,从而更进一步减轻了CPU的负担。,例4:在某计算机系统中,其屏幕显示分辨率为640*480,若要存储一屏256彩色的图像,需要多少字节存储空间? 解:屏幕信息的显示是以像素为单位进行的。由于屏幕显示分辨率为640*480,故屏幕上有像素: 640*480=300*210个 当用256彩色显示时,每个像素需要8位二进制数(28=256)表示,因此一屏信息需要存储空间: 8*300* 210位=300* 210字节 =
41、300K字节 所以需要300K字节存储空间。,例5:某软盘有40个磁道,磁头从一个磁道移至另一磁道需要6ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均距离为13磁道,每块的旋转延迟时间及传输时间分别为100ms、25ms,问读取一个100块的文件需要多少时间?如果系统对磁盘进行了整理,让同一个文件的磁盘块尽可能靠拢,从而使逻辑上相邻数据块的平均距离降为2磁道,这时读取一个100块的文件需要多少时间? 解:磁盘整理前,逻辑上相邻数据块的平均距离为13磁道,读一块数据需要的时间为:13*6+100+25=203ms 因此,读取一个100块的文件需要时间:203*100=20300ms 磁盘整
42、理后,逻辑上相邻数据块的平均距离为2磁道,读一块数据需要的时间为:2*6+100+25=137ms 因此,读取一个100块的文件需要时间:137*100=13700ms,例6:若磁头的当前位置为100磁道,磁头正向磁道号增加方向移动。现有一磁盘读写请求队列:23,376,205,132,19,61,190,398,29,4,18,40。若采用先来先服务、最短寻道时间优先和扫描算法,试计算出平均寻道长度各为多少? 解:(1)先来先服务:从100磁道开始,磁盘调度顺序为: 23 -376 -205 -132 -19 -61 -190 -398 -29 -4 -18 -40。 移动磁道数总数为1596,平均寻道长度为:133。 (2)最短寻道时间优先:从100磁道开始,磁盘调度顺序为: 132-190 -205 -61 -40 -29 -23 -19 -18 -4 -376 -398。 移动磁道数总数为700,平均寻道长度为:58.3。 (3)扫描算法:从100磁道开始,磁盘调度顺序为: 132 -190 -205 -376 -398 -61 -40 -29 -23 -19 -18 -4。 移动磁道数总数为692,平均寻道长度为:57.7。,虚拟设备是指:,通过虚拟技术将一台独占设备改造成若干台逻辑设备,供若干个用户进程同时使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 未来五年饮水设备行业市场营销创新战略制定与实施分析研究报告
- 未来五年基因缺失疫苗市场需求变化趋势与商业创新机遇分析研究报告
- 2026年度“市委书记进校园”引才活动伊春市事业单位(党政储备人才)引进198人考试备考题库及答案解析
- 中国电子科技集团公司第十二研究所2026届校园招聘笔试模拟试题及答案解析
- 2026广西钦州市钦北区那蒙镇中心卫生院招聘2人笔试参考题库及答案解析
- 市场风险压力测试制度
- 工单转派制度
- 保安服务公司奖惩制度
- 停车场员工内部奖惩制度
- 全科规培基地奖惩制度
- 工会财会内控制度
- 2026年牡丹江大学单招职业技能考试题库附答案解析
- 山东省使用危险化学品的化工企业安全风险隐患检查表
- 2026年青岛港湾职业技术学院综合评价招生《素质测试》模拟试题及答案
- 2026年南通科技职业学院单招综合素质考试题库附答案详解(模拟题)
- 《黄帝的传说》教学设计(共2课时)-2025-2026学年统编版(新教材)小学语文二年级下册
- 体育场馆安全管理与应急处理指南(标准版)
- 2026年春季外研版(三起)小学英语四年级下册教学计划含教学进度表
- 2026年辽阳职业技术学院单招职业技能考试题库附答案
- 2026中国建设银行远程智能银行中心客服代表社会招聘200人(广州20人)考试参考试题及答案解析
- 热力管网巡检与维护工作手册
评论
0/150
提交评论