磁盘存储器管理优秀PPT.ppt
磁盘存储器管理磁盘存储器管理School of ManagementTianjin University现在学习的是第1页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理磁盘性能简述磁盘性能简述1.1.数据的组织和格式数据的组织和格式实际的硬盘都组织成多个盘片,每片实际的硬盘都组织成多个盘片,每片分两面,每面分成若干条磁道,磁道分两面,每面分成若干条磁道,磁道间有间隙间有间隙磁道又被分成许多扇区,每条磁道上磁道又被分成许多扇区,每条磁道上扇区数目典型为扇区数目典型为1010至至100100,每个扇区包,每个扇区包含相同的字节数,相当于一个盘块含相同的字节数,相当于一个盘块现在学习的是第2页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理用磁道号、磁头号和扇区号来标识一个扇区用磁道号、磁头号和扇区号来标识一个扇区现在学习的是第3页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理磁盘格式化磁盘格式化每个扇区容量每个扇区容量600BYTE600BYTE,其中,其中512BYTE512BYTE存放数存放数据。据。标标志志字字段段数据字段数据字段定界符定界符现在学习的是第4页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理现在学习的是第5页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理2 2 磁盘类型磁盘类型固定头磁盘固定头磁盘:提高并行读写能力,主要用于大容提高并行读写能力,主要用于大容量磁盘量磁盘移动头磁盘:寻道功能,结构简单,速度慢移动头磁盘:寻道功能,结构简单,速度慢现在学习的是第6页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理 3 3 磁盘访问时间磁盘访问时间寻道时间寻道时间T Ts s:是指把磁头移动到指定磁:是指把磁头移动到指定磁道上所经历底时间,是启动磁臂的时间道上所经历底时间,是启动磁臂的时间S S与磁头移动与磁头移动N N条磁道所花费的时间之和条磁道所花费的时间之和旋转延迟时间旋转延迟时间T T:是指指定扇区移动到:是指指定扇区移动到磁头下面所经历的时间磁头下面所经历的时间,平均平均T T为为5050100ms100ms传输时间传输时间TtTt:是指向磁盘写入数据所经:是指向磁盘写入数据所经历的时间历的时间,与每次读与每次读/写的字节数写的字节数b b和旋和旋转速度有关转速度有关现在学习的是第7页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理因此总的访问时间因此总的访问时间T Ta a为上面三项之和:为上面三项之和:T Ta a T Ts s 1/2r+b/rN 1/2r+b/rN寻道时间和旋转延迟时间占据了访问时间中的寻道时间和旋转延迟时间占据了访问时间中的大部分,而传输所占的时间比重是比较小的。大部分,而传输所占的时间比重是比较小的。磁盘调度磁盘调度-当多个进程需要访问磁盘时当多个进程需要访问磁盘时磁盘调度的目标是使磁盘的磁盘调度的目标是使磁盘的平均寻道时间最平均寻道时间最少,少,以使进程对磁盘的平均访问时间最小,以使进程对磁盘的平均访问时间最小,目前常使用的有先来先服务,最短寻道时间目前常使用的有先来先服务,最短寻道时间优先及扫描算法等优先及扫描算法等现在学习的是第8页,共32页School of ManagementTianjin University1.1.先来先服务寻道算法先来先服务寻道算法FCFSFCFS(First-comeFirst-come,First-servedFirst-served)一种最简单的磁盘调度算法。它根据进程一种最简单的磁盘调度算法。它根据进程请求访问磁盘的请求访问磁盘的先后次序先后次序进行调度进行调度。优点公平、简单,每个进程的请求都能依次得到处理。缺点未对寻道进行优化,致使平均寻道时间可能较长。磁盘存储器管理磁盘存储器管理现在学习的是第9页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理2.2.最短寻道时间优先算法最短寻道时间优先算法SSTFSSTF该算法选择这样的进程,其要求访问的磁该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道,距离最短,以道与当前磁头所在的磁道,距离最短,以使每次的寻道时间最短,但这种调度算法使每次的寻道时间最短,但这种调度算法却不能保证平均寻道时间最短却不能保证平均寻道时间最短 会可能导致某个进程发生会可能导致某个进程发生“饥饿饥饿”的现象,的现象,因为只要有新进程的请求到达,其所要访因为只要有新进程的请求到达,其所要访问的磁道与当前所在磁道的距离较近,其问的磁道与当前所在磁道的距离较近,其I/OI/O请求必优先满足请求必优先满足现在学习的是第10页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理FCFS算法(从100#磁道开始)被访问的下一个磁道号移动距离(磁道数)5545583391918219072160701501038112184146平均寻道长度:55.3SSTF算法(从100#磁道开始)被访问的下一个磁道号移动距离(磁道数)90105832553391638118201501321601018424平均寻道长度:27.5现在学习的是第11页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理3.3.扫描算法扫描算法SCANSCAN为了避免为了避免“饥饿饥饿”现象,对现象,对SSTFSSTF算法略加修改算法略加修改形成扫描算法,该算法不仅考虑到欲访问的磁形成扫描算法,该算法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是道与当前磁道的距离,更优先考虑的是磁头的磁头的当前移动方向当前移动方向。这种算法中磁头移动的规律颇。这种算法中磁头移动的规律颇似电梯的运行,又称电梯调度算法。似电梯的运行,又称电梯调度算法。磁臂由磁盘的一端开始,移动到磁盘的另一磁臂由磁盘的一端开始,移动到磁盘的另一端,在移动过程中,为访问请求服务。然后端,在移动过程中,为访问请求服务。然后调转方向,从此端移动到另一端。调转方向,从此端移动到另一端。现在学习的是第12页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理4.4.循环扫描循环扫描CSCANCSCAN(Circular SCANCircular SCAN)为了减少为了减少SCANSCAN算法造成的某些进程的请求被算法造成的某些进程的请求被严重推迟,严重推迟,CSCANCSCAN算法规定磁头单向移动。算法规定磁头单向移动。当磁头移到最外的磁道并访问后,磁头立即当磁头移到最外的磁道并访问后,磁头立即返回到最里的欲访问磁道,即将最小磁道号返回到最里的欲访问磁道,即将最小磁道号紧接着最大磁道号构成循环,进行循环扫描紧接着最大磁道号构成循环,进行循环扫描现在学习的是第13页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理(从100#磁道开始,向磁道号增加的方向)被访问的下一个磁道号移动距离(磁道数)1505016010184249094583255339163811820平均寻道长度:27.8SCAN调度算法示例(从100#磁道开始,向磁道号增加的方向)被访问的下一个磁道号移动距离(磁道数)15050160101842418166382039155165839032平均寻道长度:27.5CSCAN调度算法示例现在学习的是第14页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理5.5.N-Step-SCANN-Step-SCAN和和FSCANFSCAN调度算法调度算法1 1)N-Step-SCAN N-Step-SCAN算法:算法:在在SSTFSSTF、SCANSCAN及及CSCANCSCAN几种调度算法中,都可能出几种调度算法中,都可能出现磁臂停留在某处不动的情况,即进程垄断了整个现磁臂停留在某处不动的情况,即进程垄断了整个磁盘设备。我们把这一现象称为磁盘设备。我们把这一现象称为“磁臂粘着磁臂粘着”。N N步步SCANSCAN算法是将磁盘请求队列分成若干个长度为算法是将磁盘请求队列分成若干个长度为N N的子队列,磁盘调度将按的子队列,磁盘调度将按FCFSFCFS算法依次处理这些子算法依次处理这些子队列。队列。每处理一个队列时又是按每处理一个队列时又是按SCANSCAN算法,对一个队列处算法,对一个队列处理完后,再处理其他队列。理完后,再处理其他队列。现在学习的是第15页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理当当正正在在处处理理某某子子队队列列时时,如如果果又又出出现现新新的的磁磁盘盘I/OI/O请请求求,便便将将新新请请求求进进程程放放入入其其他他队队列列,这这样就可避免出现粘着现象。样就可避免出现粘着现象。当当N N值值取取得得很很大大时时,会会使使N N步步扫扫描描法法的的性性能能接接近近于于SCANSCAN算算法法的的性性能能;当当N=1N=1时时,N N步步SCANSCAN算算法法便便蜕蜕化化为为FCFSFCFS算法。算法。2 2)FSCANFSCAN算法算法实实际际上上是是N N步步SCANSCAN算算法法的的简简化化,即即FSCANFSCAN只只将将磁磁盘请求队列分成两个子队列。盘请求队列分成两个子队列。现在学习的是第16页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理一一个个是是由由当当前前所所有有请请求求磁磁盘盘I/OI/O的的进进程程形形成成的的队队列列;在在扫扫描描期期间间,将将新新出出现现的的所所有有请请求求磁磁盘盘I/OI/O的进程,放入另一个等待处理的请求队列。的进程,放入另一个等待处理的请求队列。磁盘高速缓存(磁盘高速缓存(Disk CacheDisk Cache)是是指指利利用用内内存存中中的的存存储储空空间间,来来暂暂存存从从磁磁盘盘中中读读出出的的一一系系列列盘盘块块中中的的信信息息。这这里里的的高高速速缓缓存存是是一一组组在在逻逻辑辑上上属属于于磁磁盘盘,而而物物理理上上是是驻驻留留在在内存中的盘块内存中的盘块.现在学习的是第17页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理通常高速缓存在内存中有两种形式:通常高速缓存在内存中有两种形式:第一种是在内存中开辟一个单独的存储第一种是在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固空间来作为磁盘高速缓存,其大小是固定的;第二种是把所有未利用的内存空定的;第二种是把所有未利用的内存空间变为一个缓冲池,供请求分页系统和间变为一个缓冲池,供请求分页系统和磁盘磁盘I/OI/O时时(作为磁盘高速缓存作为磁盘高速缓存)共享。共享。置换算法:置换算法:现在不少系统在设计其高速缓存的置换现在不少系统在设计其高速缓存的置换算法时,除了考虑到最近最久未使用这算法时,除了考虑到最近最久未使用这一原则外,还考虑了以下几点:一原则外,还考虑了以下几点:现在学习的是第18页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理 (1)(1)访问频率。访问频率。(2)(2)可预见性。可预见性。(3)(3)数据的一致性。数据的一致性。周期性地写回磁盘周期性地写回磁盘为了防止在数据不一致的问题,尤其是系统发为了防止在数据不一致的问题,尤其是系统发生故障时,必须提供周期性回写磁盘的功能;生故障时,必须提供周期性回写磁盘的功能;在在UNIXUNIX系统中专门增设了一个修改系统中专门增设了一个修改updateupdate程序,程序,使之在后台运行,该程序周期性地调用一个系使之在后台运行,该程序周期性地调用一个系统调用统调用SYNCSYNC。现在学习的是第19页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理MS-DOSMS-DOS中所采用的方法是:只要高速中所采用的方法是:只要高速缓存中的某盘块数据被修改,便立即缓存中的某盘块数据被修改,便立即将它写回磁盘将它写回磁盘,但是会造成频繁启动磁但是会造成频繁启动磁盘。盘。提高磁盘提高磁盘I/OI/O速度的其它方法:速度的其它方法:1.1.提前读提前读(Read-Ahead)(Read-Ahead)2.2.延迟写延迟写3.3.优化物理块的分布优化物理块的分布4.4.虚拟盘虚拟盘现在学习的是第20页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理廉价磁盘冗余阵列廉价磁盘冗余阵列RAIDRAIDRAID:RAID:为为Redundant Arrays of Independent DisksRedundant Arrays of Independent Disks的简称的简称,中文为廉价冗余磁盘阵列。在中文为廉价冗余磁盘阵列。在19871987年由美国年由美国柏克莱大学提出柏克莱大学提出RAID RAID(Redundant Array of Redundant Array of Inexpensive DisksInexpensive Disks)理论)理论,作为高性能的存储系统作为高性能的存储系统,巳经得到了越来越广泛的应用。巳经得到了越来越广泛的应用。RAIDRAID的级别从的级别从RAIDRAID概念的提出到现在概念的提出到现在,巳经发展巳经发展了多个级别了多个级别,有明确标准级别分别是有明确标准级别分别是0 0、1 1、2 2、3 3、4 4、5 5等。但是最常用的是等。但是最常用的是0 0、1 1、3 3、5 5四个级别。四个级别。RAIDRAID为使用者降低了成本、增加了执行效率为使用者降低了成本、增加了执行效率,并并提供了系统运行的稳定性。提供了系统运行的稳定性。现在学习的是第21页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理并行交叉存取并行交叉存取 根据根据RAIDRAID所采用的方法不同,可以将其所采用的方法不同,可以将其分为分为0 05 5六个级别,后来又增加了六个级别,后来又增加了RAID6RAID6级和级和RAID7RAID7级。级。现在学习的是第22页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理 RAID 0 RAID 0级级数据分块,即把数据分布在多个盘上数据分块,即把数据分布在多个盘上非冗余阵列、无冗余信息非冗余阵列、无冗余信息严格地说严格地说,它不属于它不属于RAIDRAID系列系列 RAID 1 RAID 1级级亦称镜像盘,使用双备份磁盘亦称镜像盘,使用双备份磁盘每当数据写入一个磁盘时,将该数据也写到每当数据写入一个磁盘时,将该数据也写到另一个冗余盘(镜像盘),形成信息的两份复制品另一个冗余盘(镜像盘),形成信息的两份复制品特点:昂贵、系统可靠性高、效率低特点:昂贵、系统可靠性高、效率低(冗余度太大,冗余度太大,磁盘的利用率仅为磁盘的利用率仅为50%50%现在学习的是第23页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理现在学习的是第24页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理现在学习的是第25页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理RAID 3RAID 3级级位交叉奇偶校验盘阵列,是单盘容错位交叉奇偶校验盘阵列,是单盘容错并行传输的阵列并行传输的阵列数据以位或字节交叉的方式存于各盘,数据以位或字节交叉的方式存于各盘,冗余的奇偶校验信息存储在一台专用冗余的奇偶校验信息存储在一台专用盘上。盘上。将磁盘分组,读写要访问组中所有盘,将磁盘分组,读写要访问组中所有盘,每组中有一个盘作为校验盘。每组中有一个盘作为校验盘。现在学习的是第26页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理现在学习的是第27页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理RAID 5RAID 5级级块交叉分布式奇偶校验盘阵列。块交叉分布式奇偶校验盘阵列。数据以块交叉的方式存于各盘,无专数据以块交叉的方式存于各盘,无专用校验盘,冗余的奇偶校验信息均匀用校验盘,冗余的奇偶校验信息均匀分布于所有盘。分布于所有盘。特点特点:无瓶颈盘,多个写访问请求可无瓶颈盘,多个写访问请求可同时进行同时进行现在学习的是第28页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理现在学习的是第29页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理RAID 6RAID 6级级双维奇偶校验独立存取盘阵列。双维奇偶校验独立存取盘阵列。数据以块数据以块(块大小可变块大小可变)交叉的方式存于各盘,交叉的方式存于各盘,冗余的检、纠错信息均匀地分布在所有磁盘上。冗余的检、纠错信息均匀地分布在所有磁盘上。每次写入数据都要访问一个数据盘和两个校验每次写入数据都要访问一个数据盘和两个校验盘,可容忍双盘出错。盘,可容忍双盘出错。RAID 7RAID 7级级采用采用CacheCache和异步技术的和异步技术的RAID6RAID6,提高响应速度和,提高响应速度和传输速率传输速率(可达每秒几十兆字节可达每秒几十兆字节),是目前最高档,是目前最高档次的磁盘阵列。次的磁盘阵列。现在学习的是第30页,共32页School of ManagementTianjin University磁盘存储器管理磁盘存储器管理RAID RAID 的优点的优点容量大容量大速度快速度快可靠性高可靠性高性价比高性价比高现在学习的是第31页,共32页School of ManagementTianjin University本章小节本章小节本章小节了解操作系统处理用户本章小节了解操作系统处理用户 I/O I/O 请请求的基本过程求的基本过程I/O I/O 控制方式控制方式 :?:?缓冲管理缓冲管理 设备独立性,称设备无关性,设备独立性,称设备无关性,如何分配独享设备如何分配独享设备虚拟设备和虚拟设备和 SPOOLing SPOOLing 技术技术 设备驱动程序设备驱动程序磁盘管理:调度算法和廉价磁盘冗余阵列磁盘管理:调度算法和廉价磁盘冗余阵列 RAIDRAID现在学习的是第32页,共32页