[精选]操作系统设备管理培训课程.pptx
《[精选]操作系统设备管理培训课程.pptx》由会员分享,可在线阅读,更多相关《[精选]操作系统设备管理培训课程.pptx(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1操作系统第五章 设备管理2013Chap 5.55.92第五章 设备管理5.1 I/O硬件原理 5.2 I/O软件原理 5.3 具有通道的I/O系统5.4 缓冲技术 5.5 驱动调度技术 5.6 设备分配5.7 虚拟设备5.8 Linux设备管理5.9 Windows 2003 I/O系统35.5 驱动调度技术15.5.1 存储设备的物理结构 5.5.2 循环排序 5.5.3 优化分布5.5.4 搜查定位 5.5.5 独立磁盘冗余阵列 5.5.6 提高磁盘I/O速度的一些方法 4 驱动调度技术2驱动调度和驱动调度算法。驱动调度能减少为假设干个I/O请求效劳所需的总时间,提高系统效率、除了I/
2、O请求的优化排序外,信息在辅助存储器上的排列方式,存储空间分配方法都能影响存取访问速度。55.5.1 存储设备的物理结构1顺序存取顺序存取存储设备是严格依赖信息的物理位置进行定位和读写的存储设备 具有存储容量大、稳定可靠、卷可装卸和便于保存等优点 始点块1间隙块2间隙块3间隙块i间隙块i+1末点 磁头(正走,反走,正读,反读,正写,反写,倒带)6存储设备的物理结构2直接存取存储设备磁盘是一种直接随机存取存储设备。每个物理记录有确定的位置和唯一的地址,存取任何一个物理块所需的时间几乎不依赖于此信息的位置。访问磁盘记录参数:柱面号、磁头号、扇区号789Moving-head Disk Mechan
3、ism10磁头11多组磁头12Disk Performance Parametersn为了读或者写,磁头必须定位于指定的磁道和该磁道中指定为了读或者写,磁头必须定位于指定的磁道和该磁道中指定的扇区的开始处。磁道选择包括在活动头系统中移动磁头或的扇区的开始处。磁道选择包括在活动头系统中移动磁头或者在固定头系统中选择一个磁头。者在固定头系统中选择一个磁头。n磁头定位到磁道所需要的时间称为寻道时间磁头定位到磁道所需要的时间称为寻道时间seek timeseek time。n在任何一种情况下,一旦选择好磁道,磁盘控制器就开始等在任何一种情况下,一旦选择好磁道,磁盘控制器就开始等待,直到适当的扇区旋转到
4、磁头处。磁头到达扇区开始位置待,直到适当的扇区旋转到磁头处。磁头到达扇区开始位置的时间称为旋转延迟的时间称为旋转延迟rotational delayrotational delay。n寻道时间寻道时间如果有的话如果有的话和旋转延迟的总和称为存取时间和旋转延迟的总和称为存取时间access timeaccess time,这是到达读或者写的位置所需要的时间。,这是到达读或者写的位置所需要的时间。n传送所需的时间是传送时间传送所需的时间是传送时间transfer timetransfer time。13145.5.2循环排序1考虑磁道上保存四个物理块的旋转型设备,旋转1周需时20ms,假定收到以下
5、四个I/O请求。请求次序 记录号 1 读记录4 2 读记录3 3 读记录2 4 读记录1123415循环排序2多种I/O请求排序方法 方法1:按照I/O请求次序读记录4、3、2、1,平均用1/2周定位,再加上1/4周读出记录,总处理时间等于1/2+1/4+33/4=3周,即60毫秒。方法2:如果次序为读记录1、2、3、4。总处理时间等于1/2+1/4+31/4=1.5周,即30毫秒。方法3:如果知道当前读位置是记录3,则采用次序为读记录4、1、2、3。总处理时间等于41/41周,即20毫秒。165.5.3 优化分布1考虑10个逻辑记录A,B,J被存于旋转型设备上,每道存放10个记录,安排如下:
6、物理块 逻辑记录 1-10 A-J A B C D E.处理10个记录的总时间 10毫秒移动到记录A的平均时间+2毫秒 读 记 录 A+4毫 秒 处 理 记 录 A+916毫秒访问下一记录+2毫秒读记录+4毫秒处理记录 214毫秒 17处理10个记录的总时间 10毫秒移动到记录A的平均时间+2毫秒读记录A+4毫秒处理记录A+916毫秒访问下一记录+2毫秒读记录+4毫秒处理记录 214毫秒18优化分布2按照下面方式对信息优化分布物理块 逻辑记录1 A2 H3 E4 B5 I6 F7 C8 J9 G10 D19优化分布3处理10个记录的总时间为10毫秒移动到记录A的平均时间+102毫秒读记录+4毫
7、秒处理记录 =70毫秒205.5.4 搜查定位1移臂调度有假设干策略 1先来先效劳算法 FCFS 2“电梯调度算法 Elevator 3“最短查找时间优先算法SSTF 4“扫描算法 SCAN 5“分步扫描算法 N-steps SCAN 6“单向扫描算法 C-SCAN 未来趋势:SSD硬盘固态硬盘21搜查定位2 先来先效劳算法 磁头臂按照FCFS队列顺序移动,处理队列中的请求,不考虑各I/O请求之间的相对次序和移动臂当前所处位置,进程等待I/O请求的时间会过长,寻道性能较差。公平22搜查定位3“电梯调度算法 电梯调度算法有等待请求?结束请求与当前 柱面相同?处理有最近块号的请求启动C CC C是
8、向里或向外移?是否否向外向外向里向里有比当前柱面小的请求?改变移动方向A A有比当前柱面大的请求?改变移动方向否否处理大于当前柱面号请求中柱面号最小的请求处理小于当前柱面号请求中的柱面号最大的请求移动磁头到指定柱面,登记当前位置启动C CB BB BA A23搜查定位4 SSTF“最短查找时间优先最短查找时间优先算法算法 本算法考虑了各个请求之间的区别,总是先执行查找时间最短的那个磁盘请求,从而,较“先来先效劳算法有较好的寻道性能。存在“饥饿现象。24搜查定位5“扫描扫描算法算法磁头臂每次沿一个方向移动,扫过所有柱面,遇到最近的I/O请求便进行处理,直到最后一个柱面后,再向相反方向移动回来。与
9、“电梯调度算法的不同在于:即使该移动方向暂时没有I/O请求,移动臂也需扫描到头。“最短查找时间优先算法虽有较好寻道性能,但可能会造成进程“饥饿,本算法能克服这一缺点。扫描算法偏爱那些最接近里面或靠外面的请求,对最近扫描跨过去的区域的I/O请求的响应会较慢。25搜查定位6“分步扫描分步扫描 算法算法进程重复请求同一磁道会垄断整个设备,造成“磁头臂的粘性,采用分步扫描可防止这类问题。将I/O请求分成组,每组不超过N个请求,每次选一个组进行扫描,处理完一组后再选下一组,这种调度算法能保证每个存取请求的等待时间不至太长。当N很大时,接近于“扫描算法的性能,当N=1时,接近于“先来先效劳算法的性能。26
10、搜查定位7“循环扫描循环扫描算法算法在磁盘请求对柱面的分布是均匀的情况下,当移动臂移动到头并转向时,靠近磁头一端的请求特少,许多请求集中分布在远离磁头的一端,它们的等待时间就会较长,“循环扫描算法能克服这个缺点,这是为适应不断有大量柱面均匀分布的存取请求进入系统的情况而设计的扫描方式。移动臂总从0号柱面至最大号柱面顺序扫描,然后,直接返回0号柱面重复进行,归途中不再效劳,构成了一个循环。27Disk Scheduling Cont.Several algorithms exist to schedule the servicing of disk I/O requests.We illustr
11、ate them with a request queue 0-199.98,183,37,122,14,124,65,67Head pointer 5328FCFSIllustration shows total head movement of 640 cylinders.Total=64029SSTFSelects the request with the minimum seek time from the current head position.SSTF scheduling is a form of SJF scheduling;may cause starvation of
12、some requests.Illustration shows total head movement of 236 cylinders.30SSTF Cont.Total=23631SCAN Cont.Total=208 回到0点32C-SCANProvides a more uniform wait time than SCAN.The head moves from one end of the disk to the other.servicing requests as it goes.When it reaches the other end,however,it immedia
13、tely returns to the beginning of the disk,without servicing any requests on the return trip.Treats the cylinders as a circular list that wraps around from the last cylinder to the first one.33C-SCAN Cont.34C-LOOKVersion of C-SCANArm only goes as far as the last request in each direction,then reverse
14、s direction immediately,without first going all the way to the end of the disk.35C-LOOK Cont.367 Linux磁盘调度算法Linux 2.4磁盘调度采用电梯调度算法。Linux2.6增加两种新磁盘调度算法:最终期限调度算法和预期调度算法,尽力确保处理期限到达的请求获得响应。时限调度算法:预期调度算法:37Linus电梯调度 1如果新请求与队列中等待请求的数据处于同一磁盘扇区或者直接相邻的扇区,则现有请求和新请求合并成一个请求。2如果队列中的请求已经存在很长时间,则新请求将被插入到队列尾部。3如果存在适
15、宜的位置,则新请求将按顺序插入到队列中;如果没有适宜的位置,则新的请求将被插入到队列尾部。38Linus电梯调度电梯调度算法有两个问题,一是由于队列动态更新的原因,一个相距较远的请求可能会延迟相当长的时间;二是由于写请求通常是异步的,而读请求大局部是同步操作,这样一来,在写一个大文件时,很可能堵塞一个读请求很长时间,从而堵塞进程。39时限调度算法 为了克服这些问题,引入时限调度算法,使用三个队列:读FIFO队列、写FIFO队列和电梯排序队列。每个新来请求被放置到电梯排序队列中,该队列与前面所述一致,此外,同样的请求还被放置在FIFO读队列如果是读请求或FIF0写队列如果是写请求中,这样,读和写
16、队列维护一个按请求发生时间为顺序的请求列表。对每个请求都有一个到期时间,对于读请求默认值为0.5秒,对于写请求默认值为5秒;通常,调度程序从排序队列中分派效劳,当一个请求得到满足时,其将从电梯排序队列头部移走,同时也从对应的FIFO队列移走。然而,当FIFO队列头部的请求超过其到期时间时,调度程序将从该FIFO队列中派遣任务,取出到期请求,再加上接下来的几个队列中的请求,当然,任一个请求被效劳时,其也从电梯排序队列中移出。所以,时限调度算法能克服“饥饿和读写不一致的问题。40预期调度算 法 预期调度是对时限调度的补充,当一个读请求被分派时,预期调度程序会将调度程序的执行延迟假设干毫秒取决于配置
17、文件;发出上一条读请求的应用程序有时机发出后继读请求,且该请求发生在相同的磁盘区域;如果没有新请求发生,则调度程序继续使用时限调度算法。41 未来趋势:SSD硬盘solid-state drive俗称固态硬盘42 未来趋势:SSD硬盘43 未来趋势:SSD硬盘44Disk Cache高速缓冲存储器高速缓冲存储器cache memorycache memory通常指一个容量比主存小通常指一个容量比主存小且速度比主存块的存储器,这个存储器位于主存和处理器之且速度比主存块的存储器,这个存储器位于主存和处理器之间。这种高速缓冲存储器通过利用局部性原理,可以减少平间。这种高速缓冲存储器通过利用局部性原理
18、,可以减少平均存储器存取时间。均存储器存取时间。同样的原理适用于磁盘存储器。特别地,一个磁盘高速缓存同样的原理适用于磁盘存储器。特别地,一个磁盘高速缓存是主存中为磁盘扇区设置的一个缓冲区,它包含有磁盘中某是主存中为磁盘扇区设置的一个缓冲区,它包含有磁盘中某些扇区的副本。些扇区的副本。当出现一个请求某一特定扇区的当出现一个请求某一特定扇区的I/OI/O请求时,首先进行检测,请求时,首先进行检测,以确定该扇区是否在磁盘高速缓存中。以确定该扇区是否在磁盘高速缓存中。如果在,则该请求可以通过这个高速缓存来满足;如果在,则该请求可以通过这个高速缓存来满足;如果不在,则把被请求的扇区从磁盘读到磁盘高速缓存
19、中。如果不在,则把被请求的扇区从磁盘读到磁盘高速缓存中。由于访问的局部性现象的存在,当一块数据被取入高速缓存以由于访问的局部性现象的存在,当一块数据被取入高速缓存以满足一个满足一个I/OI/O请求时,很有可能将来还会访问到这一块数据。请求时,很有可能将来还会访问到这一块数据。45希捷希捷 Barracuda 7200 Barracuda 7200转系列转系列3.53.5/3/3TBTB/7200 7200rpm/rpm/6464MM串串参考价格:¥参考价格:¥790790 北京北京 适用类型:台式机适用类型:台式机硬盘容量:硬盘容量:3 3000GB000GB单碟容量单碟容量:缓存:缓存:64
20、M64MB B接口类型:接口类型:Serial ATASerial ATA转速转速/分:分:72007200转转/分分接口速率:接口速率:Serial ATA 300Serial ATA 30046Least Recently Used必须解决的设计问题是替换策略。当一个新扇区被读必须解决的设计问题是替换策略。当一个新扇区被读入磁盘高速缓存时,必须替换出一个已经存在的块。入磁盘高速缓存时,必须替换出一个已经存在的块。这就需要一个页替换算法。这就需要一个页替换算法。最常用算法时最近最少使用算法最常用算法时最近最少使用算法LRULRU:替换在高:替换在高速缓存中未被访问的时间最长的块。逻辑上,高速
21、缓速缓存中未被访问的时间最长的块。逻辑上,高速缓存由一个关于块的栈组成,最近访问过的块在栈顶。存由一个关于块的栈组成,最近访问过的块在栈顶。当高速缓存中的一个块被访问到时,它从栈中当前的位置当高速缓存中的一个块被访问到时,它从栈中当前的位置移到栈顶。移到栈顶。当一个块从辅存中取入时,把位于栈底的那一块移出,并当一个块从辅存中取入时,把位于栈底的那一块移出,并把新到来的块压入栈顶。把新到来的块压入栈顶。当然,并不需要在主存中真正移动这些块,有一个栈指针当然,并不需要在主存中真正移动这些块,有一个栈指针与高速缓存相关联。与高速缓存相关联。475.5.5 独立磁盘冗余阵列1利用一台磁盘阵列控制器统一
22、管理和控制一组磁盘驱动器,组成速度快、可靠性高、性能价格比好的大容量磁盘系统。目的:增加容错性,获得高性能。RAID填补CPU速度快与磁盘设备速度慢之间的间隙,策略是:一组小容量、独立、可并行工作的磁盘组成阵列代替单一大容量磁盘,再加进冗余技术,数据能用多种方式组织和分布存储,于是,独立的I/O请求能被并行处理,数据分布的单个I/O请求也能并行地从多个磁盘同时存取,从而,增加容错性,改进I/O性能。48独立磁盘冗余阵列2 RAID共同特性 RAID是一组物理磁盘驱动器,可被操作系统看作是单一逻辑磁盘驱动器;数据被分布存储在阵列横跨的物理驱动器上;冗余磁盘的作用是保存奇偶校验信息,当磁盘出现失误
23、时它能确保数据的恢复。4950RAID 0RAID0-连续的数据条带每个条带可规定为1个或多个扇区以轮转方式写到全部磁盘上,然后,采用并行交叉存取,减少I/O请求排队时间,适用于大数据量的I/O请求,但并无冗余校验功能,可靠性较差。51RAID 1RAID1-采用镜像盘双份所有数据来提高容错性,读请求拥有最小寻道时间,写请求可并行完成。缺点是容量下降一半,故成本很高。52RAID 2RAID2-采用数据字或字节交叉存放,并行存取获得高性能,使用海明校验码,适合大量顺序数据访问。由于使用多个冗余盘,成本较高。53RAID 3RAID3-是RAID2的简化版本,差异是它仅用一只冗余盘,采用奇偶校验
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 操作系统 设备管理 培训 课程
限制150内