计算机操作系统第五章设备管理_第1页
计算机操作系统第五章设备管理_第2页
计算机操作系统第五章设备管理_第3页
计算机操作系统第五章设备管理_第4页
计算机操作系统第五章设备管理_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

1、第五章第五章设备管理设备管理 第一节第一节输入输出系统输入输出系统 第二节第二节输入输出控制方式输入输出控制方式 第三节第三节缓冲管理缓冲管理 第四节第四节设备分配设备分配 第五节第五节设备处理设备处理 第六节第六节磁盘存储管理磁盘存储管理第一节第一节输入输出系统输入输出系统 I/O设备设备 设备控制器设备控制器 I/O通道通道 总线系统总线系统I/O设备设备 I/O设备的类型设备的类型 按传输速率分类:低速、中速、高速设备按传输速率分类:低速、中速、高速设备 按信息交换单位分类:块、字符设备按信息交换单位分类:块、字符设备 按设备的共享属性:独占、共享、虚拟设备按设备的共享属性:独占、共享、

2、虚拟设备 设备与控制器之间的接口设备与控制器之间的接口 接口芯片、接口(电路)板(卡)接口芯片、接口(电路)板(卡) 信号线:数据、控制、状态信号线信号线:数据、控制、状态信号线设备控制器 基本功能 接收和识别来自CPU的各种命令 实现CPU与设备控制器、设备控制器与设备之间的数据交换 记录设备的状态供CPU查询 识别所控制的各个设备的地址 组成 设备控制器与处理机的接口 设备控制器与设备的接口 I/O逻辑设备控制器l地址识别l数据缓冲l差错控制CPU与控制器接口控制器与设备接口数据线 地址线 控制线 数据寄存器控制/状态寄存器I/O逻辑控制器与设备接口1控制器与设备接口n数据状态控制数据状态

3、控制I/O通道 通道的引入建立独立的I/O操作,进一步减轻CPU的负担I/O处理机处理机 ,通过执行通道程序来控制I/O操作与一般处理的区别 1)指令类型单一,主要局限于与I/O操作相关的指令 2)通道程序放在内存,即与CPU共享内存空间。 通道的类型通道的类型 字节多路通道:字节多路通道:多路分时复用多路分时复用一个主通道,多个子通道,子通道按时间片轮转一个主通道,多个子通道,子通道按时间片轮转法使用主通道,信息按字节传输法使用主通道,信息按字节传输 数组选择通道:数组选择通道:只有一个子通道,由某台设备独占,只有一个子通道,由某台设备独占,数据成组(块)传送;数据成组(块)传送; 数组多路

4、通道:数组多路通道:多个子通道,按数组方式传送数据多个子通道,按数组方式传送数据具有较高的数据具有较高的数据传输速率和通道利用率传输速率和通道利用率 “瓶颈瓶颈”问题问题通道资源有限,系统需要同时启动的设通道资源有限,系统需要同时启动的设备可能较多;备可能较多;解决方法:解决方法:增加设备到主机间的通路。增加设备到主机间的通路。I/O通道存储器通道1通道2控制器1控制器2I/O设备1I/O设备2I/O设备3I/O设备4CPU总线系统总线系统 系统总线系统总线 连接连接CPU、存储器、存储器、I/O设备(接口)等的纽带;设备(接口)等的纽带; 总线的性能评价:时钟频率、带宽、传输速率。总线的性能

5、评价:时钟频率、带宽、传输速率。 ISA和和EISA总线总线 ISA(IndustryStandardArchitecture),),1984年,年,带宽:带宽:8位位16位,最高传输速率:位,最高传输速率:216Mbps,能,能连接连接12台设备。台设备。 EISA(ExtendedISA),),1989年,带宽:年,带宽:32位位,最,最高传输速率:高传输速率:32Mbps,能连接,能连接12台设备。台设备。 局部总线(局部总线(LocalBus) 将多媒体卡、高速将多媒体卡、高速LAN网卡、高性能图形板等从网卡、高性能图形板等从ISA总线总线上卸下来,在通过局部总线控制器直接接到上卸下来

6、,在通过局部总线控制器直接接到CPU总线上,总线上,使之与高速使之与高速CPU总线相匹配。总线相匹配。 VESA(VideoElectronicStandardAssociation),),1991年,带宽:年,带宽:32位位,最高传输速率:,最高传输速率:132Mbps,能连,能连接接24台设备,控制器中无缓冲;台设备,控制器中无缓冲; PCI(PeripheralComponentInterface),),1992年和年和1995年,年,V2.1支持带宽:支持带宽:64位位,最高传输速率:,最高传输速率:500Mbps,能支持,能支持10种种外设,有一个复杂的管理层,管外设,有一个复杂的管

7、理层,管理层中配有数据缓冲。理层中配有数据缓冲。第二节第二节输入输出控制方式输入输出控制方式 程序程序I/O方式方式 中断驱动中断驱动I/O方式方式 DMA控制方式控制方式 I/O通道控制方式通道控制方式将CPU从繁忙的I/O操作中解脱出来 程序程序I/O方式方式 忙忙等待方式等待方式 CPU向控制器发指令,启动向控制器发指令,启动I/O设备,同时把状设备,同时把状态寄存器中的状态标志置态寄存器中的状态标志置1,busy=1; 然后然后不断地循环检测不断地循环检测状态标志。状态标志。 如果如果busy=1,说明,说明I/O设备忙,设备忙,CPU再进行下一轮再进行下一轮检测;检测; 如果如果bu

8、sy=0,说明,说明I/O操作结束,操作结束,CPU执行下一条执行下一条指令。指令。中断驱动中断驱动I/O方式方式 中断中断I/O驱动过程驱动过程 启动:由启动:由CPU根据进程的根据进程的I/O请求发出一条请求发出一条I/O命令;此后命令;此后CPU继续执行其它进程,即继续执行其它进程,即CPU与外设并行工作与外设并行工作。 I/O设备完成操作后,由控制器通过控制线向设备完成操作后,由控制器通过控制线向CPU发送一发送一中断信号,由中断信号,由CPU检查检查I/O操作是否正确,操作是否正确, 中断驱动方式带来的优缺点中断驱动方式带来的优缺点 管理灵活、简单,系统效率高(管理灵活、简单,系统效

9、率高(CPU、I/O设备)。设备)。 设备与设备与CPU(内存)之间的数据交换仍(内存)之间的数据交换仍以字(节)为单以字(节)为单位位。DMA控制方式控制方式 DMA(DirectMemoryAccess)引入)引入 在外围设备和内存之间开辟直接的数据交换通路。在在外围设备和内存之间开辟直接的数据交换通路。在该种控制方式中,设备控制器具有更强的功能,在它该种控制方式中,设备控制器具有更强的功能,在它的控制下,设备和内存之间可以成批地进行数据交换,的控制下,设备和内存之间可以成批地进行数据交换,不用不用CPU的干预。的干预。减轻了减轻了CPU的负担,同时数据传输的负担,同时数据传输以块为单位,

10、提高了数据传送速度。以块为单位,提高了数据传送速度。 DMA控制器的组成控制器的组成 命令命令/状态寄存器状态寄存器CR 内存地址寄存器内存地址寄存器MAR 数据寄存器数据寄存器DR 数据计数器数据计数器DC DMA工作过程工作过程(以磁盘数据读入为例)(以磁盘数据读入为例) CPU向磁盘控制器发送一条读命令向磁盘控制器发送一条读命令到到CR中,目中,目标起始地址到标起始地址到MAR中,数据字节数到中,数据字节数到DC中,磁中,磁盘中的源地址到控制器的控制逻辑上;盘中的源地址到控制器的控制逻辑上; 启动启动DMA控制器进行数据传送(窃用总线周期),控制器进行数据传送(窃用总线周期),此后,此后

11、,CPU可以执行其它任务;可以执行其它任务; DMA控制器按照命令控制器按照命令每传送一个字节每传送一个字节,修改并检,修改并检查查DC和和MAR中的数值(分别做中的数值(分别做-1和和+1操作);操作); 若若DC中的值不为中的值不为0,则继续传送下一个字节,则继续传送下一个字节;为;为0,则发出一个中断请求。,则发出一个中断请求。DMA与中断控制方式的区别与中断控制方式的区别 中断控制方式在每个数据传送完后都发中断 DMA是在所要求传送的一批数据都传送完后才发中断I/O通道控制方式通道控制方式 I/O通道控制方式的引入通道控制方式的引入 进一步减少进一步减少CPU对对I/O操作的干预;操作

12、的干预; 以以多个数据块多个数据块为单位进行数据传送;为单位进行数据传送; 一次传送多组数据到多个不同的内存区域。一次传送多组数据到多个不同的内存区域。 通道程序通道程序 由一系列通道指令(通道命令)构成;由一系列通道指令(通道命令)构成; 每条指令都包含:每条指令都包含: 操作码、内存地址、计数、通道程序结束位操作码、内存地址、计数、通道程序结束位P、记录结束标志、记录结束标志R操作PR计数内存地址Write0080813Write001401034Write01605830Write013002000Write002501650Write115002720通道程序实例通道程序实例第三节第三

13、节缓冲管理缓冲管理 缓冲的引入缓冲的引入 单缓冲和双缓冲单缓冲和双缓冲 循环缓冲循环缓冲 缓冲池缓冲池解决CPU和I/O设备速度不匹配的矛盾 缓冲的引入缓冲的引入 缓和缓和CPU与与I/O设备间速度不匹配的矛盾设备间速度不匹配的矛盾 减少对减少对CPU的中断频率,放宽对的中断频率,放宽对CPU中断中断响应时间的限制响应时间的限制 提高提高CPU与与I/O设备之间的并行性设备之间的并行性单缓冲和双缓冲单缓冲和双缓冲 单缓冲单缓冲 双缓冲(生产者双缓冲(生产者-消费者)消费者)用户进程用户进程工作区工作区缓冲区缓冲区I/O设备设备输入输入传送传送用户进程用户进程工作区工作区缓冲区缓冲区2I/O设备

14、设备缓冲区缓冲区1循环缓冲(输入循环缓冲(输入-计算)计算) 循环缓冲的引入循环缓冲的引入 同步进程速度不一致;同步进程速度不一致; 双缓冲无法完全解决。双缓冲无法完全解决。 循环缓冲的组成循环缓冲的组成 多个缓冲区、多个指针多个缓冲区、多个指针 循环缓冲的使用循环缓冲的使用 GetBuf() ReleaseBuf()RGGGRC空缓冲区满缓冲区工作缓冲区缓冲池缓冲池 缓冲池的引入缓冲池的引入 把专用循环缓冲变为把专用循环缓冲变为公用公用缓冲区,以提高内存利用率。缓冲区,以提高内存利用率。 缓冲池的组成(每个队列配备两个指针)缓冲池的组成(每个队列配备两个指针) 空闲缓冲(区)队列空闲缓冲(区

15、)队列emq、F(emq)、L(emq) 输入缓冲(区)队列输入缓冲(区)队列inq、F(inq)、L(inq) 输出缓冲(区)队列输出缓冲(区)队列outq、F(outq)、L(outq) 缓冲区的四种工作方式缓冲区的四种工作方式 收容输入:收容输入设备的输入数据收容输入:收容输入设备的输入数据 提取输入:提取输入:计算进程提取缓冲区中的数据使用计算进程提取缓冲区中的数据使用 收容输出:计算进程输出结果数据到缓冲区收容输出:计算进程输出结果数据到缓冲区 提取输出:输出设备提取缓冲区中的数据提取输出:输出设备提取缓冲区中的数据缓缓 冲冲 池池收容输入收容输入 提取输入提取输入提取输出提取输出

16、收容输出收容输出hinsinsouthout用用户户程程序序输入设备输入设备输出设备输出设备第四节第四节I/O软件软件 设备独立性软件设备独立性软件 设备驱动程序设备驱动程序一一设备独立性设备独立性 设备独立性的概念(设备无关性)设备独立性的概念(设备无关性) 应用程序独立于具体使用的物理设备应用程序独立于具体使用的物理设备。 带来的好处带来的好处 设备分配时的灵活性设备分配时的灵活性 易于实现易于实现I/O重定向:可以更换重定向:可以更换I/O操作的设备而不改程序。操作的设备而不改程序。 设备独立性软件设备独立性软件 位于驱动程序之上,驱动程序与设备有关。位于驱动程序之上,驱动程序与设备有关

17、。 主要功能:主要功能: 执行所有设备的公有操作执行所有设备的公有操作:分配与回收、逻辑名到物理设备的:分配与回收、逻辑名到物理设备的映射、设备的保护、缓冲管理、差错控制等映射、设备的保护、缓冲管理、差错控制等 向用户层(或文件层)软件提供统一接口向用户层(或文件层)软件提供统一接口 逻辑设备名到物理设备名映射的实现逻辑设备名到物理设备名映射的实现 逻辑设备表逻辑设备表(LogicalUnitTable) 用于将应用程序所使用的逻辑设备名映射为物理设备用于将应用程序所使用的逻辑设备名映射为物理设备名。名。 表项:逻辑设备名、物理设备名、设备驱动程序入口表项:逻辑设备名、物理设备名、设备驱动程序

18、入口地址等地址等 LUT的设置问题的设置问题 整个系统一张整个系统一张LUT,逻辑设备名要具有唯一性。,逻辑设备名要具有唯一性。 为每个用户设置一张为每个用户设置一张LUT,并将该表放入,并将该表放入PCB中;与中;与系统设备表联合作用。系统设备表联合作用。二二设备处理(驱动)设备处理(驱动)接收上层软件发来的抽象要求,比如:接收上层软件发来的抽象要求,比如:Read、Write等命令,再把它们转化为具体要求发送给设备控制器,启等命令,再把它们转化为具体要求发送给设备控制器,启动设备执行;同时,还负责把设备控制器发来的信号传送动设备执行;同时,还负责把设备控制器发来的信号传送给上层软件。给上层

19、软件。 设备驱动程序的功能和特点设备驱动程序的功能和特点 设备驱动程序的处理过程设备驱动程序的处理过程 中断处理程序的处理过程中断处理程序的处理过程设备驱动程序的功能和特点设备驱动程序的功能和特点 设备驱动程序的功能设备驱动程序的功能 接收由接收由I/O进程发来的命令和参数,转换为具体要求;进程发来的命令和参数,转换为具体要求; 检查用户检查用户I/O请求的合法性,了解设备状态,传递或设请求的合法性,了解设备状态,传递或设置参数;置参数; 发出发出I/O命令,启动设备,或挂在相应的设备队列上;命令,启动设备,或挂在相应的设备队列上; 及时响应由控制器或通道发来的中断请求;及时响应由控制器或通道

20、发来的中断请求; 对于设有通道的计算机系统,根据对于设有通道的计算机系统,根据I/O请求自动构成通请求自动构成通道程序。道程序。 设备驱动程序的特点设备驱动程序的特点 是指在请求是指在请求I/O的进程与设备控制器之间的一的进程与设备控制器之间的一个个通信和转换程序通信和转换程序。 与与设备控制器和设备控制器和I/O设备的设备的硬件特性紧密相关硬件特性紧密相关,因而对不同类型的设备应配置不同的驱动程因而对不同类型的设备应配置不同的驱动程序。序。 与与I/O设备所采用的设备所采用的I/O控制方式控制方式紧密相关。紧密相关。 其中一部分必须用其中一部分必须用汇编语言汇编语言书写。书写。设备驱动程序的

21、处理过程设备驱动程序的处理过程 将抽象要求转化为具体要求将抽象要求转化为具体要求 检查检查I/O请求合法性请求合法性 读出和检查设备的状态读出和检查设备的状态 传送必要的参数传送必要的参数 工作方式的设置工作方式的设置 启动启动I/O设备设备第五节第五节设备分配设备分配 设备分配中的数据结构设备分配中的数据结构 设备分配时应考虑的因素设备分配时应考虑的因素 独占设备的分配程序独占设备的分配程序 SPOOLing技术技术设备分配中的数据结构设备分配中的数据结构 设备控制表设备控制表DCT 一台设备配置一张设备控制表,用于记录一台设备配置一张设备控制表,用于记录设备状态设备状态; 包含的字段:包含

22、的字段: 设备类型设备类型type 设备标识符设备标识符deviceid 设备状态:设备状态:设备或与其相连的控制器设备或与其相连的控制器/通道忙,状态为通道忙,状态为“1”; 设备队列队首指针:设备队列队首指针:指向等待此设备的阻塞进程队列;指向等待此设备的阻塞进程队列; 与设备连接的控制器的控制表指针:与设备连接的控制器的控制表指针:多条通路则对应多个指针;多条通路则对应多个指针; 重复执行次数或时间:重复执行次数或时间:允许通信重试的次数或延迟时间。允许通信重试的次数或延迟时间。 控制器控制表控制器控制表COCT 表项字段:控制器标识符、控制器状态、与控制器表项字段:控制器标识符、控制器

23、状态、与控制器相连的通道表指针、控制器队列的队首指针、控制相连的通道表指针、控制器队列的队首指针、控制器队列的队尾指针。器队列的队尾指针。 通道控制表通道控制表CHCT 表项字段:通道标识符、通道状态、与通道连接的表项字段:通道标识符、通道状态、与通道连接的控制器表首址、通道队列的队首指针、通道队列的控制器表首址、通道队列的队首指针、通道队列的队尾指针。队尾指针。 系统设备表系统设备表SDT 记录系统中全部设备的状况记录系统中全部设备的状况; 表项字段:设备类型、设备标识符、设备控制表、表项字段:设备类型、设备标识符、设备控制表、设备驱动程序的入口地址等。设备驱动程序的入口地址等。设备分配时应

24、考虑的因素设备分配时应考虑的因素 设备的固有属性设备的固有属性 独占设备独占设备 共享设备共享设备 虚拟设备虚拟设备 设备分配算法设备分配算法 先来先服务先来先服务 按优先级按优先级 设备分配中的安全性设备分配中的安全性 安全分配方式安全分配方式进程发出进程发出I/O请求并得到响应后,就进入阻塞状请求并得到响应后,就进入阻塞状态,一直等待态,一直等待I/O完成。完成。特点:进程进展缓慢,但不会产生死锁特点:进程进展缓慢,但不会产生死锁 不安全分配方式不安全分配方式进程在发出进程在发出I/O请求后继续运行,需要时再发出请求后继续运行,需要时再发出其它的其它的I/O请求,直至申请不到请求,直至申请

25、不到I/O设备而被迫阻设备而被迫阻塞。塞。特点:进程进展迅速,但可能发生死锁特点:进程进展迅速,但可能发生死锁方法:设备分配前,必须进行安全性检查方法:设备分配前,必须进行安全性检查独占设备的分配程序独占设备的分配程序 基本的设备分配程序基本的设备分配程序 分配设备:按照分配设备:按照I/O请求的物理设备名,查找请求的物理设备名,查找SDTDCT/设备状态字设备状态字。若忙,阻塞;否则,分析安。若忙,阻塞;否则,分析安全性,安全,则分配;否则,阻塞。全性,安全,则分配;否则,阻塞。 分配控制器:分配控制器:再查再查DCTCOCT/状态字状态字,控制器忙?,控制器忙?阻塞;否则,分配该控制器给进

26、程。阻塞;否则,分配该控制器给进程。 分配通道:分配通道:再查再查COCTCHCT/状态字状态字,通道忙?阻塞;,通道忙?阻塞;否则,分配通道给进程。否则,分配通道给进程。以上三者分配均成功,才算设备分配成功。以上三者分配均成功,才算设备分配成功。 设备分配程序的改进设备分配程序的改进原因:原因:以物理设备名提出以物理设备名提出I/O请求,单通路的请求,单通路的I/O结构,容易产生结构,容易产生“瓶颈瓶颈”现象。现象。 增加设备的独立性:增加设备的独立性:使用逻辑设备名请求使用逻辑设备名请求I/O,依次查同类设备的依次查同类设备的DCT,仅当该类设备都忙时,仅当该类设备都忙时,才把进程挂在该类

27、设备的等待队列上;如果有设才把进程挂在该类设备的等待队列上;如果有设备可用,继续分析安全性备可用,继续分析安全性 考虑多通路情况:得到设备后,依次检查与此设考虑多通路情况:得到设备后,依次检查与此设备相连的各个控制器,直到找到一个可用的为止;备相连的各个控制器,直到找到一个可用的为止;然后,依次检查与此控制器相连的各个通道,直然后,依次检查与此控制器相连的各个通道,直到确定一个可用的通道位置;到确定一个可用的通道位置;否则,需要阻塞进否则,需要阻塞进程程。SPOOLing技术技术 什么是什么是SPOOLing 即联机情况下的同时外围操作,称为即联机情况下的同时外围操作,称为“假脱机假脱机操作操

28、作”,“后台后台”工作方式。工作方式。(SimultaneausPeriphernalOperatingOn-Line) 利用利用SPOOLing技术技术,可将,可将一台物理一台物理I/O设备设备虚拟为多台逻辑设备虚拟为多台逻辑设备,从而允许多个用户共享,从而允许多个用户共享使用一台物理设备;即利用高速的共享设备使用一台物理设备;即利用高速的共享设备(磁盘)实现低速独占设备的共享使用的技术。(磁盘)实现低速独占设备的共享使用的技术。 SPOOLing系统的组成系统的组成输入井和输出井输入井和输出井输入缓冲区和输出缓冲区输入缓冲区和输出缓冲区输入进程输入进程Spi和输出进程和输出进程Spo:SP

29、OOLing系统的组成系统的组成输入进程输入进程SPi输出进程输出进程SPo输入缓冲区输入缓冲区Bi输出缓冲区输出缓冲区Bo输入输入设备设备输出输出设备设备磁盘磁盘输入井输入井输出井输出井 共享打印机共享打印机 SPOOLing系统接收到用户进程的打印输出请系统接收到用户进程的打印输出请求后:求后: 由由输出进程在输出井中为之申请一个空闲磁输出进程在输出井中为之申请一个空闲磁盘块区盘块区,并将要打印的数据送入其中;,并将要打印的数据送入其中; 输出进程再为用户进程申请一张空白的用户输出进程再为用户进程申请一张空白的用户请求打印表请求打印表,并将用户的打印要求填入其中,并将用户的打印要求填入其中

30、,再将该表挂到请求打印队列上。再将该表挂到请求打印队列上。 当打印机空闲时,输出进程将从请求打印队列当打印机空闲时,输出进程将从请求打印队列的队首取出一张请求打印表,再从输出井把数的队首取出一张请求打印表,再从输出井把数据送到内存缓冲区,启动打印机打印输据送到内存缓冲区,启动打印机打印输出,出, SPOOLing系统的特点系统的特点提高了提高了I/O的速度的速度,缓和了,缓和了CPU与与I/O设的设的速度矛盾;速度矛盾;将独占设备改造为共享设备:将独占设备改造为共享设备:利用高速利用高速共享设备;共享设备;实现了虚拟设备功能实现了虚拟设备功能:用户都感到独占:用户都感到独占了一台设备。了一台设

31、备。第六节第六节磁盘存储管理磁盘存储管理 磁盘性能简述磁盘性能简述 磁盘调度磁盘调度 磁盘高速缓存磁盘高速缓存 提高磁盘提高磁盘I/O速度的其它方法速度的其它方法 廉价磁盘冗余阵列廉价磁盘冗余阵列磁盘性能简述 数据的组织和格式 盘片和盘面,磁道(磁头),扇区 格式化:标识符字段、数据字段 磁盘的类型 固定头磁盘 移动头磁盘 磁盘的类型磁盘的类型1)固定头磁盘 每条磁道上有一个读/写头,所有的磁头被装在一刚性磁臂中。2) 移动头磁盘 每个盘面配一个磁头,也装在磁臂上。为了能访问所有磁道,必须能够移动进行寻道。 磁盘访问时间磁盘访问时间 寻道时间寻道时间Ts 把磁臂(磁头)移动到指定磁道上所经历的

32、时间,包把磁臂(磁头)移动到指定磁道上所经历的时间,包含启动磁臂和磁头移动含启动磁臂和磁头移动n条磁道所花费的时间。条磁道所花费的时间。 旋转延迟时间旋转延迟时间T 指定扇区移动到磁头下面所经历的时间。与盘面的旋指定扇区移动到磁头下面所经历的时间。与盘面的旋转速度有关。转速度有关。 5400转转-5.55ms;7200转转4.16ms 传输时间传输时间Tt 把数据从磁盘读出或向磁盘写入数据所经历的时间。把数据从磁盘读出或向磁盘写入数据所经历的时间。与旋转速度和一次读写的数据量有关。与旋转速度和一次读写的数据量有关。磁盘调度磁盘调度 先来先服务先来先服务FCFS 最短寻道时间优先最短寻道时间优先

33、SSTF 扫描(扫描(Scan)算法)算法 循环扫描(循环扫描(CScan)算法)算法 *N-Step-Scan和和FSCAN算法算法先来先服务先来先服务FCFS 根据进程请求访问磁盘的根据进程请求访问磁盘的先后次序先后次序进行调进行调度。度。 优点:优点: 公平、简单;公平、简单; 缺点:缺点: 未对寻道次序进行优化,未对寻道次序进行优化,平均寻道时间可能较平均寻道时间可能较长长,仅适用于磁盘请求较少的场合。,仅适用于磁盘请求较少的场合。最短寻道时间优先(最短寻道时间优先(SSTF) 选择选择要求访问的磁道与当前磁头所在的磁要求访问的磁道与当前磁头所在的磁道距离最近的进程道距离最近的进程(磁

34、盘请求),使每次(磁盘请求),使每次的寻道时间最短。的寻道时间最短。 该算法该算法不能保证平均寻道时间最短不能保证平均寻道时间最短。 可能导致可能导致“饥饿饥饿”现象。现象。扫描(扫描(Scan)算法)算法 磁头磁头每次只作单方向移动每次只作单方向移动,直到到达边缘,直到到达边缘磁道为止,然后磁道为止,然后再作反向移动再作反向移动。 下一次待访问的磁道只能在此头移动的前下一次待访问的磁道只能在此头移动的前方,且选择磁头移动距离最近的一个磁盘方,且选择磁头移动距离最近的一个磁盘请求响应。请求响应。 又称为又称为“电梯调度算法电梯调度算法”。 消除了饥饿现象。消除了饥饿现象。循环扫描(循环扫描(C

35、Scan)算法)算法 磁头只作由内向外的单方向扫描磁头只作由内向外的单方向扫描,到达外,到达外边缘后,则返回最内侧的磁道重新进行下边缘后,则返回最内侧的磁道重新进行下一轮扫描。一轮扫描。 改进了对于边缘区磁道访问的不公平。改进了对于边缘区磁道访问的不公平。N-Step-Scan和和FSCAN算法算法 “磁臂粘着磁臂粘着”现象:现象:一个或几个进程对某一一个或几个进程对某一磁道有较高的访问频率时,造成磁头的磁道有较高的访问频率时,造成磁头的“不移动不移动”现象。现象。 N步扫描:步扫描:把磁盘访问请求排成长度为把磁盘访问请求排成长度为N的的多个队列。系统在处理完一个磁盘请求队多个队列。系统在处理

36、完一个磁盘请求队列的工作后,再响应其它队列的请求。列的工作后,再响应其它队列的请求。 FSCAN算法:算法:对对N步扫描的简化。只排两步扫描的简化。只排两个队列:当前队列、等待队列。个队列:当前队列、等待队列。磁盘高速缓存磁盘高速缓存 磁盘高速缓存(磁盘高速缓存(DiskCache)的形式)的形式 数据交付方式数据交付方式 磁盘缓存置换算法磁盘缓存置换算法 周期性地写回磁盘周期性地写回磁盘磁盘高速缓存的形式磁盘高速缓存的形式 DiskCache: 并非通常意义上的高速缓存,而是并非通常意义上的高速缓存,而是利用内存中利用内存中的空闲空间,暂存从磁盘中读出的一系列盘块的空闲空间,暂存从磁盘中读出

37、的一系列盘块中的信息中的信息。逻辑上属于磁盘,物理上驻留内存。逻辑上属于磁盘,物理上驻留内存的磁盘数据块区。的磁盘数据块区。 两种形式:两种形式: 固定大小固定大小的磁盘高速缓存,不受应用程序多少的磁盘高速缓存,不受应用程序多少影响。影响。 可变大小可变大小的磁盘高速缓存的磁盘高速缓存“缓冲池缓冲池”形式形式数据交付方式数据交付方式 DataDelivery:将磁盘高速缓存中的数据:将磁盘高速缓存中的数据传送给请求者进程。传送给请求者进程。 两种方式:两种方式: 数据交付数据交付:将数据传送给请求者进程的内存工:将数据传送给请求者进程的内存工作区中;作区中; 指针交付指针交付:只将高速缓存中相

38、应数据区的首址:只将高速缓存中相应数据区的首址指针交付给请求者进程;指针交付给请求者进程;磁盘缓存置换算法磁盘缓存置换算法 也称为也称为“访问频率替换算法访问频率替换算法” 要考虑的问题:访问频率、可预见性、数据的要考虑的问题:访问频率、可预见性、数据的一致性一致性 较常用的算法:较常用的算法: 最近最久未使用最近最久未使用LRU 最近未使用最近未使用NRU(Clock) 最少使用最少使用LFU周期性地写回磁盘周期性地写回磁盘 后台专用程序,如:后台专用程序,如:UNIX中的中的SYNC 间隔一定时间,强制性地把所有缓存中的间隔一定时间,强制性地把所有缓存中的已修改的盘块数据写回磁盘。已修改的

39、盘块数据写回磁盘。定期自动保存定期自动保存提高磁盘I/O速度的其它方法 提前读(Read-Ahead) 延迟写 优化物理块的分布 虚拟盘廉价磁盘冗余阵列Redundant Array of Inexpensive Disk 并行交叉存取 RAID的分级 RAID的优点 编写程序,模拟编写程序,模拟FIFO(LRU、OPT)算法,完成算法,完成虚拟存储管理的页面淘汰过程。虚拟存储管理的页面淘汰过程。 要求:从键盘上输入允许进程占有的页架数及一个要求:从键盘上输入允许进程占有的页架数及一个访问串,输出淘汰过程,给出依次被淘汰的页及共访问串,输出淘汰过程,给出依次被淘汰的页及共发生的缺页次数。发生的

40、缺页次数。 例如:例如:从键盘上输入允许进程占有的页架数为:从键盘上输入允许进程占有的页架数为:3从键盘上输入一个访问串为:从键盘上输入一个访问串为:7012030423032120170输出:输出:FIFO共共14次缺页次缺页依次被淘汰的页:依次被淘汰的页:7,0,1,2,3,0,4,2,3,0,1上机练习三上机练习三习题五1 DMA控制方式与通道控制方式有什么不同?在在DMA控制方式中,控制方式中,DMA控制器控制设备和主存之间成批控制器控制设备和主存之间成批地进行数据交换,而不用地进行数据交换,而不用CPU干预。这样既大大减轻了干预。这样既大大减轻了CPU的的负担,也使负担,也使I/O数据传送速度大大提高。这种控制方式应用于块数据传送速度大大提高。这种控制方式应用于块设备的数据传输。设备的数据传输。通道控制方式与通道控制方式与DMA控制方式类似,也是一种实现设备控制方式类似,也是一种实现设备与内存直接交换数据的控制方式。在通道控制方式中,与内存直接交换数据的控制方式。在通道控制方式中,CPU只只需要发出启动指令,指出通道相应的操作和需要发出启动指令,指出通道相应的操作和I/O设备,该指

温馨提示

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

评论

0/150

提交评论