[精选]第7章-设备管理.pptx

上传人:茅**** 文档编号:87845142 上传时间:2023-04-18 格式:PPTX 页数:76 大小:213.98KB
返回 下载 相关 举报
[精选]第7章-设备管理.pptx_第1页
第1页 / 共76页
[精选]第7章-设备管理.pptx_第2页
第2页 / 共76页
点击查看更多>>
资源描述

《[精选]第7章-设备管理.pptx》由会员分享,可在线阅读,更多相关《[精选]第7章-设备管理.pptx(76页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第7 7章章 设备管理设备管理7.1 设备管理概述7.2 I/O控制方式7.3 I/O缓冲7.4 设备分配与设备处理7.5 I/O管理中的几个重要思想7.6 磁盘I/O7.7 小结7.1 设备管理概述一、I/O设备的分类1.按附属关系分类1系统设备 指在操作系统生成时已经登记在系统中的标准设备。如键盘、显示器、打印机等。2用户设备 指操作系统生成时未登记入系统的非标准设备。如绘图仪、扫描仪等。2.按传输速率分类I/O设备分类1低速设备 指传输速率为每秒钟几个字符至数百个字节的设备,如键盘、鼠标、语音输入等。2中速设备 指传输速率为每秒钟数千个字节至数万个字节的设备,如针式打印机、激光打印机等

2、。3高速设备 指传输速率为数兆字节的设备,如磁带机、磁盘机、光盘机等。1存储设备 是计算机用来保存各种信息的设备,如磁盘、磁带等。2I/O设备 是向CPU传输信息或输出CPU加工处理信息的设备。例如:键盘,CRT3.按使用特性分类I/O设备分类I/O设备分类4.按共享属性分类1独占设备 指在一段时间内只允许一个用户进程访问的设备。也就是在某个用户进程对设备的一次使用过程包含屡次I/O操作中,不允许其他用户进程使用该设备。一般是低速的I/O设备,如打印机等。因为独占设备属于临界资源,所以多个并发进程必须互斥地访问独占设备。2共享设备 指在一段时间内允许多个进程同时访问的设备,多个进程以交叉的方式

3、来使用设备,其资源利用率高,如硬盘。3虚拟设备 指通过虚拟技术将一台独占设备变换为假设干台供多个用户进程共享的逻辑设备。一般可以利用假脱机SPOOLing技术实现虚拟设备。按设备共享属性分类I/O设备分类5.按数据传送的基本单位分类1字符设备 以字节为单位传送数据,如键盘。传输速度慢。2块设备 以块如512B为单位传送数据,如磁盘。传输速度快。是可寻址的和可随机访问的设备7.1 设备管理概述二、设备管理的2个重要目标:效率、通用性1效率 提高设备的利用率和I/O效率 充分利用各种技术中断、DMA、通道、缓冲等提高CPU与设备、设备与设备之间的并行工作能力,充分利用资源,提高资源利用率,提高I/

4、O处理的效率n 并行性n 均衡性使设备充分忙碌 设备管理的2个重要目标2通用性 为用户提供方便、统一的接口,希望能用统一的方式处理所有的设备 屏蔽硬件细节设备的物理细节,错误处理,不同I/O的差异性,使用户摆脱繁琐的程序设计负担 方便性 接口的友好性 透明性7.1 设备管理概述三、设备管理的功能1设备分配。按照设备类型和相应的分配算法决定将I/O设备分配给哪一个要求使用该设备的进程。凡未分配到所需设备的进程被放入一个等待队列。2设备处理。设备处理程序实现CPU和设备控制器之间的通信。即当CPU向设备控制器发出I/O指令时,设备处理程序应启动设备进行I/O操作,并能对设备发来的中断请求作出及时的

5、响应和处理。3实现其他功能。包括对缓冲区的管理功能及实现设备独立性。7.2 I/O控制方式I/O控制方式:主机和I/O设备之间的数据传送方式4种I/O控制方式:1程序直接控制方式轮询2中断方式3DMA方式4通道方式开展的思路:解放CPU7.2 I/O控制方式1.程序直接控制方式轮询 由用户进程控制,不断测试设备状态缺点:n 忙等待n CPU与I/O设备只能串行工作7.2 I/O控制方式2.中断方式 为了减少设备驱动程序不断询问控制器状态存放器的开销 当I/O操作结束后,由设备控制器主动通知设备驱动程序缺乏:n 数据传送是在中断处理时由CPU控制完成n 每次传输的数据量小,比方1个字节或1个字。

6、尽管,通过在I/O控制器中设置字符缓冲区而增大每次的数据传输量n 可能造成数据由于CPU来不及取而丧失当外设速度快时7.2 I/O控制方式3.DMA方式在内存与I/O设备之间直接传送数据块CPU在开始时向设备发“传送一块命令,数据传送由DMA控制器控制完成,每次1个数据块传送结束时,由DMA控制器给CPU发送一个中断信号DMA的功能可以以独立的DMA部件在系统I/O总线上完成,或者整合到I/O部件中完成DMA方式DMA方式与中断的主要区别:中断方式是在数据缓冲存放器满后,发中断请求,CPU进行中断处理 DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理 大大减少了CPU进行

7、中断处理的次数中断方式的数据传送是由CPU控制完成的 DMA方式则是在DMA控制器的控制下不经过CPU控制完成的7.2 I/O控制方式4.通道方式通道:独立于CPU的专门负责数据输入/输出传输工作的处理机,对外部设备实现统一管理,代替CPU对输入/输出操作进行控制,从而使输入/输出操作可与CPU并行操作。引入通道的目的:为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备、设备与设备之间的并行工作能力 数据传送的方向、长度、内存地址等都由通道控制。7.3 I/O缓冲一、什么是I/O缓冲?缓冲buffering:为了缓解通信双方速度不匹配而引入的一个中间环节。I/O缓冲:在CPU和I/O

8、设备之间设立缓冲区,用以暂存CPU与外设之间交换的数据,从而缓和CPU与外设速度不匹配所产生的矛盾。其实,但凡数据到达和离去速度不匹配的地方均可采用缓冲技术。7.3 I/O缓冲引入I/O缓冲的目的:1 改善CPU与I/O设备之间速度不匹配的矛盾2 减少对CPU的中断频率,放宽对中断响应时间的限制3 减少访问I/O设备如磁盘的次数4 提高CPU与I/O设备之间的并行性7.3 I/O缓冲I/O缓冲的实现方式:1 硬件缓冲 I/O设备或控制器内部设置的纯硬件缓冲区2 软件缓冲 为I/O在内存开辟的缓冲区,由软件来管理 容量大,使用灵活下面要讲的是OS采用的I/O缓冲技术。7.3 I/O缓冲二、OS为

9、什么要引入I/O缓冲?【例】应用程序要从磁盘中读一块数据512B到自己的地址空间1000-1511虚拟地址。在执行I/O命令后阻塞,等待数据变成可用的。存在的问题:该进程的虚拟地址单元1000-1511必须锁定在内存中,不能换出,干扰了OS的交换决策;否则有可能造成单进程死锁。即进程发出I/O命令后阻塞,假设在开始I/O操作之前被换出,则I/O操作也会阻塞,以等待该进程被换入。7.3 I/O缓冲三、I/O缓冲的种类1.单缓冲 当用户进程发出I/O请求时,操作系统在内存的系统空间为该操作分配一个缓冲区输入:数据输入到系统缓冲区,传送完成时,用户进程将其复制到用户空间输出:用户进程将数据复制到系统

10、缓冲区,然后由OS输出。如果连续输入/输出多个数据块呢?I/O缓冲的种类2.双缓冲 由OS指定2个缓冲区 当用户进程从一个缓冲区取数据或向一个缓冲区写数据时,OS可以向另一个缓冲区输入数据或输出另一个缓冲区的数据。I/O缓冲的种类3.缓冲池 又称循环缓冲 多个缓冲区构成循环队列 类似于生产者/消费者问题7.4 设备分配与设备处理一、设备分配 当某进程向系统提出I/O请求时,设备分配程序按一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主机和设备间信息交换。设备分配1.与设备分配有关的数据结构设备类表 系统中拥有1张设备类表 每类设备对应于表中一栏,包括内容有:设备类、总台数、空闲台数

11、、设备驱动程序入口和设备表起始地址等。设备表 每一类设备都有各自的设备表,用来登记这类设备中每一台设备的状态,包含的内容有:物理设备名、逻辑设备名、占有设备的进程号、已分配/未分配、好/坏等。与设备分配有关的数据结构采用通道结构的系统中设备分配采用的数据结构:系统设备表、通道控制表、控制器控制表和设备控制表系统建立1张系统设备表,记录配置在系统中的所有物理设备的情况。每个通道、控制器、设备各设置一张表,记录各自的地址标识符、状态忙/闲、等待获得此部件的进程队列指针、及一次分配后相互链接的指针,以备分配和执行I/O时使用。具体内容如下:与设备分配有关的数据结构设备控制块DCB设备控制表DCT 记

12、录本设备的使用情况。主要内容:设备类型、设备标识符、设备状态、与此设备相连的COCT、重复执行的次数或时间、等待队列的队首和队尾指针控制器控制块COCB控制器控制表COCT通道控制块CHCB通道控制表CHCT系统设备表SDT 整个系统一张表,记录系统中所有I/O设备的信息,表目包括:设备类型、设备标识符、设备驱动程序入口、DCT表指针等,是分配程序首先查找的数据结构。设备分配2.设备分配策略 由于在多道程序系统中,进程数多于资源数,引起资源的竞争。因此,要有一套合理的分配策略。考虑的因素:nI/O设备的固有属性nI/O设备的分配算法n设备分配的安全性n与设备的无关性设备分配策略1独占设备的分配

13、 所谓独占式共享使用设备是以一次设备使用过程包含屡次I/O操作为单位使用设备 在申请设备时,如果设备空闲,就将其独占,不再允许其他进程申请使用,一直等到该设备被释放,才允许被其他进程申请使用 考虑效率问题,并且防止由于不合理的分配策略造成死锁静态分配:在进程运行前,完成设备分配;运行结束时,收回设备 缺点:设备利用率低动态分配:在进程运行过程中,当用户提出设备要求时,进行分配,一旦停止使用立即收回 优点:设备利用率高;缺点:分配策略不好时,产生死锁设备分配策略2分时式共享设备的分配 所谓分时式共享就是以一次I/O操作为单位分时使用设备,不同进程的I/O操作请求以排队方式分时地占用设备进行I/O

14、 由于同时有多个进程同时访问,且访问频繁,因此要考虑多个访问请求到达时效劳的顺序,使平均效劳时间越短越好3以SPOOLing方式使用外设 SPOOLing 技术是在批处理操作系统时代引入的,即所谓假脱机输入/输出技术。例如:所有输出数据已经写到文件当中,并排到打印输出队列,打印进程申请占用打印机后,成批读出文件中数据,并送打印机打印出去打打印印请请求求队队列列(含含要要打打印文件)印文件)打印打印daemon daemon 进程进程打印机打印机设备分配策略设备分配策略常用的I/O设备分配算法:n先来先效劳 n优先级高者优先设备请求队列:当多个进程对同一设备提出I/O请求时,系统响应后,为它们分

15、别建立I/O请求包,按先来先效劳或者优先级高者优先的原则组织成设备请求队列。设备分配程序总是把设备首先分配给队首进程。具体分配是从设备类表或者系统设备表开始顺序查找相应的数据结构进行的。7.4 设备分配与设备处理二、设备处理1.设备驱动程序 每类设备对应1个设备驱动程序,以控制I/O传输任务:主要负责接收和分析从设备分配转来的信息,把用户I/O请求转换为具体要求后,发送给设备控制器,启动设备执行。设备驱动程序设备驱动程序的处理过程:1 将抽象I/O请求转为具体要求 2 检查I/O请求的合法性 3 读出和检查设备的状态4 传送必要的参数,预置设备的初始状态5 设置设备的工作方式在有通道的系统中,

16、构造通道程序6 启动设备进行I/O操作7 响应来自设备的中断设备处理2.I/O中断处理程序处理来自设备或通道的中断包括正常结束,或异常结束7.5 I/O管理中的几个重要思想一、设备独立性Device Independence设备独立性是I/O软件设计中的一个重要目标。设备独立性的含义:用户在编写程序时,能独立于具体使用的物理设备,甚至不关心设备类型。应用程序与给定设备类型的哪一台具体设备无关;应用程序尽可能地与设备类型无关。设备独立性设备独立性的实现方法:1引入逻辑设备 由OS管理一个逻辑设备映射表,记录逻辑设备对应的物理设备。用户程序对I/O设备的请求不指定特定的设备,而采用逻辑设备名,程序

17、执行时由OS完成逻辑设备到物理设备的映射例如:用户申请使用设备时,只需要指定设备类型,而无须指定具体物理设备,系统根据当前的请求,及设备分配的情况,在相同类别设备中,选择一个空闲设备,并将其分配给一个申请进程。2统一命名,统一接口 对不同的设备采取统一的操作方式例如:把设备看作文件,所有设备和文件使用相同的方式路径名定位7.5 I/O管理中的几个重要思想二、SPOOLing技术SPOOLing:Simultaneous Peripheral Operation On Line 即外围设备同时联机操作,又称假脱机操作 SPOOLing的概念最早出现在作业处理中,那时多道程序的概念还没有提出 这个

18、概念至今还有很大的意义。SPOOLing技术1.脱机输入/输出Offline I/O脱机I/O:I/O是脱离主机的。目的:为了解决CPU和I/O设备的速度不匹配。输入:由一台低档计算机外围机将作业输入到磁盘磁带;CPU需要时,从磁盘读入内存。输出:CPU需要输出时,将数据从内存送到磁盘;由一台外围机将磁盘中的数据输出。脱机脱机I/OI/O示意图示意图读卡机读卡机外围机外围机磁盘磁盘磁盘磁盘主机主机打印机打印机外围机外围机SPOOLing技术SPOOLing技术2.什么是SPOOLing?假脱机:联机情况下,即在主机的控制下,模拟脱机I/O。方法:OS利用2个进程分别模拟脱机I/O时外围机的功能

19、:其中一个进程负责将输入设备的数据传送到磁盘;另一个进程负责将数据从磁盘传送到输出设备。SPOOLing系统的组成示意图系统的组成示意图预输入程序预输入程序作业1信息作业n信息输入井输入井作业1结果作业n结果输出井输出井缓输出程序缓输出程序井管理井管理程序程序运行作业输入设备输出设备作业调度程序磁磁 盘盘SPOOLing技术1输入井和输出井:这是在磁盘上开辟出来的两个专用的存储区域。“井是用作缓冲的存储区域。输入井和输出井分别用于收容从输入设备输入的数据和用户程序的输出数据。输入井和输出井可分别看作是对输入设备如读卡机和输出设备如打印机的虚拟或者模拟。SPOOLing系统的组成:SPOOLin

20、g技术2预输入进程和缓输出进程预输入进程模拟脱机输入时的外围控制机,将用户要求的数据从输入设备通过输入缓冲区再送到输入井。当CPU需要输入数据时,直接从输入井读入内存。缓输出进程模拟脱机输出时的外围控制机,把用户要求输出的数据,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上。SPOOLing系统的组成SPOOLing技术3.SPOOLing技术的基本思想是一种虚拟技术是OS协调并发I/O主要用于输出的一种技术用来把一台独占设备改造成为可共享的虚拟设备,使得每个进程都以为是独占一台设备打印机的共享:实际上系统并没有很多打印机,只不过是磁盘的一个存储区实现方法

21、:1创立一个守护进程daemon、一个打印目录spooling;2某个进程要打印文件时,首先生成要打印的文件,将文件放入spooling目录下,形成一个请求打印队列;3统一由daemon负责在打印机空闲时,按队列的先后次序打印spooling目录里的文件。SPOOLing技术的应用:SPOOLing技术SPOOLing技术现在仍被广泛使用。n网络文件传送 先把文件送到网络spooling目录,然后网络守护进程把它取出并传递到目标地址nInternet电子邮件系统 在Internet上发Email时,电子邮件发送程序send先将待发信件存入spooling电子邮件目录下,供以后传输。SPOOLi

22、ng技术7.5 I/O管理中的几个重要思想三、I/O软件的多层模型 I/O软件按分层的思想构成 较低层软件要使较高层软件独立于硬件的特性 较高层软件则要向用户提供一个友好、清晰、简单、功能更强的接口I/O软件的多层模型用户进程用户进程独立于设备的软件独立于设备的软件设备驱动程序设备驱动程序中断处理程序中断处理程序硬件硬件I/OI/O请求请求I/OI/O应答应答进行进行I/OI/O调用调用提供与下层的统一接口:提供与下层的统一接口:命名、分配、缓冲、保护命名、分配、缓冲、保护与设备有关的代码:向与设备有关的代码:向设备控制器发命令设备控制器发命令1.I/O软件各层的功能1用户进程层 执行I/O系

23、统调用,对I/O数据进行格式化2独立于设备的软件 实现设备的命名、设备的分配、数据的缓冲、设备的保护,提供与下层的统一接口3设备驱动程序 与设备有关的代码。向设备控制器发命令,检查设备的执行状态4中断处理程序 负责I/O完成时,唤醒设备驱动程序进程,进行中断处理5硬件层设备控制器,设备 实现物理I/O的操作I/O软件的多层模型2.中断处理程序I/O软件的多层模型 每个进程在启动一个I/O操作后阻塞 直到I/O操作完成并产生一个中断 由操作系统接管CPU后唤醒该进程为止3.设备驱动程序与设备密切相关的代码放在设备驱动程序中,每个设备驱动程序处理一种设备类型每一个控制器都设有一个或多个设备存放器,

24、用来存放向设备发送的命令和参数。设备驱动程序负责发出这些命令,并监督它们正确执行一般,设备驱动程序的任务是接收来自与设备无关的上层软件的抽象请求,并执行这个请求在设备驱动程序的进程发出一条或多条命令后,系统有两种处理方式,多数情况下,执行设备驱动程序的进程必须等待命令完成,这样,在命令开始执行后,它阻塞自已,直到中断处理时将它解除阻塞为止。而在其它情况下,命令执行不必延迟就很快完成I/O软件的多层模型4.独立于设备的软件I/O软件的多层模型1设备驱动程序与设备独立性软件之间确实切界限是依赖于具体系统的2独立于设备的软件的基本任务是实现所有设备都需要的功能,并且向用户级软件提供一个统一的接口3如

25、何给文件和设备这样的对象命名是操作系统要考虑的一个重要问题。独立于设备的软件负责把设备的符号名映射到正确的设备驱动程序上4设备保护。防止无权存取设备的用户存取设备5不同的磁盘可以采用不同的扇区尺寸。向较高层软件隐藏这一事实并提供大小统一的块尺寸,这正是设备独立软件的一个任务。它可将假设干扇区合成一个逻辑块。这样,较高层的软件只与抽象设备打交道,独立于物理扇区的尺寸而使用等长的逻辑块6缓冲7设备分配8出错处理 设备独立软件5.用户空间的I/O软件I/O软件的多层模型 尽管大局部IO软件都包含在操作系统中,但仍有一小局部是由与用户程序连接在一起的库过程、甚至完全由运行于核心外的程序构成。系统调用包

26、括I/O系统调用通常由库过程实现 这些过程所做的工作只是将系统调用时所用的参数放在适宜的位置,由其它的I/O过程实际实现真正的操作说明:各层之间的接口并不是死的,分层并不一定是严格的上层中的某些功能可能放在下层中完成,如中断时的驱动以及驱动层中的某些与设备无关的处理等。I/O软件的多层模型一个典型的读I/O设备的过程用户进程用户进程设备独立的设备独立的I/OI/O子系统子系统设备驱动程序设备驱动程序中断处理程序中断处理程序设备控制器设备控制器发出系统调用发出系统调用ReadRead当该用户进程被调度运当该用户进程被调度运行时,完成系统调用,继行时,完成系统调用,继续执行。续执行。核心的系统调用

27、代码检查参核心的系统调用代码检查参数的正确性。若数据在缓冲区数的正确性。若数据在缓冲区可得到,则转可得到,则转I/OI/O子系统向相应的设备驱子系统向相应的设备驱动程序发送请求。动程序发送请求。将数据传送到请求进程将数据传送到请求进程的地址空间,并将该进程的地址空间,并将该进程从阻塞队列移入就绪队列。从阻塞队列移入就绪队列。设备驱动程序分配一个设备驱动程序分配一个内核缓冲区,向设备控制内核缓冲区,向设备控制器发送命令,阻塞。器发送命令,阻塞。设备驱动程序确定哪个设备驱动程序确定哪个I/OI/O完成,确定请求的状态,通知完成,确定请求的状态,通知I/OI/O子系统子系统“I/O“I/O请求已完成

28、请求已完成”中断服务程序将数据存入设中断服务程序将数据存入设备驱动程序的缓冲区,唤醒阻备驱动程序的缓冲区,唤醒阻塞的设备驱动程序塞的设备驱动程序,中断返回中断返回控制器操作硬件设备执控制器操作硬件设备执行数据传输。行数据传输。当当I/OI/O完成时,产生中断。完成时,产生中断。假定传输由假定传输由DMADMA控制器管理。控制器管理。当然,也许是由设备驱动程序当然,也许是由设备驱动程序轮询。轮询。7.6 磁盘I/O一、影响磁盘I/O操作性能的几个因素1.磁盘的结构磁盘一般分为固定头磁盘和移动头磁盘两大类:固定头磁盘:每个盘面的每条磁道都有一个读/写磁头。固定头磁盘各磁头可并行读写,但成本较高,主

29、要用在大型机中。移动头磁盘:每个盘面只有一个读/写磁头。每次读写须先移动磁头到目标磁道上,这称为寻道seek操作。磁头装在同一个架子磁臂上,在磁盘一致的方向上径向移动,不能单独移动。个人计算机中的硬盘Winchester盘和软盘一般都是移动头磁盘。软盘由单盘片组成,硬盘则是个盘片组因为单一盘片的容量越来越大,故硬盘所含的盘片数有逐渐减少的趋势。盘片安装在一个高速旋转的枢轴上。读写头安装在移动臂上,移动臂可沿磁盘半径方向移动。移动头硬盘驱动器结构示意图移动头硬盘驱动器结构示意图柱面柱面扇区扇区磁头磁头磁臂磁臂磁道磁道磁盘的结构磁盘的结构:包含1个或多个盘片 每片分2面 每面分为假设干磁道同心环

30、每个磁道分为假设干扇区Sector 数据存储在磁道上 所有盘片的每面上相同位置的磁道称为一个柱面cylinder 每个盘块的地址由柱面号、磁头号和扇区号表示7.6 磁盘I/O2.磁盘访问时间1寻道时间Seek TimeTs 把磁臂磁头径向移动到指定磁道或柱面上所经历的时间,包含启动磁臂和磁头移动n条磁道或柱面所花费的时间。2旋转延迟Rotational Delay时间Tr 指定扇区旋转到达磁头下面所经历的时间。与盘面的旋转速度有关。一旦选择好磁道,磁盘控制器开始等待,直到相应扇区旋转到磁头处。然后,开始执行读/写操作。3传输Transfer时间Tt 把数据从磁盘读出或向磁盘写入数据所经历的时间

31、。与旋转速度和一次读写的数据量有关。磁盘访问时间磁盘访问时间Ta可表示为 Ta=Ts+Tr+Tt 平均值=Ts+1/2r+b/rN其中,r:磁盘的旋转速度转/秒 N:一个磁道中的 字节数 b:要读/写的字节数7.6 磁盘I/O二、磁盘调度算法目标:使磁盘的平均寻道时间最短。当磁臂为一个请求寻道时,其他进程会产生其他磁盘请求 磁盘驱动程序维护一个请求队列,按柱面号索引,每个柱面的待处理请求组成一个链表。1.先来先效劳First e First Served,FCFS 按请求访问磁盘的先后次序进行调度磁盘调度算法2.最短寻道时间优先Shortest Seek Time First,SSTF 选择处

32、理与当前磁头距离最近的磁道请求,以减少寻道时间 但不能保证平均寻道时间最短 有可能出现“饿死Starvation磁盘调度算法3.SCAN扫描算法 要求磁头臂仅沿一个方向假设向磁道号增加的方向移动,并在途中满足所有未完成的请求,直到到达该方向的最后一个磁道或该方向上没有别的请求为止。然后转向,沿相反方向扫描,同样按顺序完成所有请求。如此不断反复。又称电梯调度算法,其移动规律类似于电梯的运行。克服了最短寻道优先的缺点,既考虑了距离,同时又考虑了方向磁盘调度算法4.C-SCANCircular SCAN,循环扫描 将扫描限定在一个方向 当沿某个方向访问到最后一个磁道时,磁头臂返回到磁盘的另一端,再次

33、开始扫描。磁盘调度算法【例】设请求访问的磁道顺序为 55,58,39,18,90,160,150,38,184假定从磁道100处开始。1FCFS下一个访下一个访问的磁道问的磁道移动距离移动距离磁道数磁道数55 58 39 18 90 160 150 38 184平均寻道平均寻道长度长度45 3 19 21 72 70 10 112 14655.3磁盘调度算法【例】设请求访问的磁道顺序为 55,58,39,18,90,160,150,38,184假定从磁道100处开始。2SSTF下一个访下一个访问的磁道问的磁道移动距离移动距离磁道数磁道数90 58 55 30 38 18 150 160 184

34、平均寻道平均寻道长度长度10 32 3 16 1 20 132 10 2427.5磁盘调度算法【例】设请求访问的磁道顺序为 55,58,39,18,90,160,150,38,184假定从磁道100处开始。3SCAN假定开始时向磁道号增加的方向下一个访下一个访问的磁道问的磁道移动距离移动距离磁道数磁道数150 160 184 90 58 55 39 38 18平均寻道平均寻道长度长度 50 10 24 94 32 3 16 1 2027.8磁盘调度算法【例】设请求访问的磁道顺序为 55,58,39,18,90,160,150,38,184假定从磁道100处开始。4C-SCAN向磁道号增加的方向

35、下一个访下一个访问的磁道问的磁道移动距离移动距离磁道数磁道数150 160 184 18 38 39 55 58 90平均寻道平均寻道长度长度 50 10 24 166 20 1 16 3 3227.5磁盘调度算法SSTF、SCAN、C-SCAN存在的问题:磁臂粘着Arm Stickness现象:一个或多个进程反复请求某个磁道I/O,从而垄断了整个磁盘,导致“饥饿。5.N-Step-SCAN 将磁盘请求队列分成假设干长度为N的子队列 每一次用SCAN处理一个子队列 在处理某个子队列时,新请求必须加到其他队列中 队列间用FCFS 假设N较大,接近于SCAN;当N=1,就是FCFS磁盘调度算法6.

36、FSCAN 使用2个子队列 当扫描开始时,所有请求都在一个子队列中,另一个子队列为空 在扫描过程中,所有新到的请求参加另一个队列中 使得新请求的效劳延迟到处理老请求之后。7.6 磁盘I/O三、磁盘I/O性能的改善提高磁盘I/O性能的方法1.磁盘高速缓存Disk Cache 逻辑上属于磁盘,物理上驻留内存 在内存中为磁盘设置一个缓冲区,包含磁盘块的副本 当请求磁盘读时,先查看所需的块是否在高速缓存中。如果在,则可直接进行读操作。否则,首先要将块读到高速缓存,再拷贝到所需的地方 如果高速缓存已满,则需要进行淘汰 置换算法:常用LRU、NRU、LFU等磁盘I/O性能的改善2.合理分配磁盘空间 分配盘

37、块时,把有可能顺序存取的块放在一起,最好在同一柱面上,从而减少磁臂的移动次数3.提前读 读当前块时,提前将下一盘块读入高速缓存4.延迟写 数据不立即写回磁盘 周期性地成簇写回7.6 磁盘I/O四、RAIDRAID:Redundant Array of Independent Disks,独立磁盘冗余阵列nRAID是一组物理磁盘驱动器,OS将其看作单个逻辑驱动器n数据分布在物理驱动器阵列中n一种容错技术,通过增加冗余来提高可靠性n假设访问的数据块分布在多个磁盘上,I/O请求可以并行7.7 小结一、设备分类 字符设备与块设备 独占设备与共享设备二、什么是设备独立性?如何实现?三、设备驱动程序四、I/O软件的分层结构五、SPOOLing技术的思想、应用六、磁盘I/O 磁盘调度算法;提高磁盘I/O性能的几种方法

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com