《操作系统磁盘管理概述教案.pptx》由会员分享,可在线阅读,更多相关《操作系统磁盘管理概述教案.pptx(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、会计学1操作系统磁盘管理概述操作系统磁盘管理概述磁盘的结构磁盘的结构n n固定头磁盘n n移动头磁盘第1页/共43页磁盘设备结构磁盘设备结构第2页/共43页提高提高I/O速度的主要途径速度的主要途径n n选择性能好的磁盘n n采用适当的调度算法n n设置磁盘高速缓冲区 第3页/共43页磁盘访问时间磁盘访问时间n n寻道时间n n旋转延迟时间n n传输时间第4页/共43页旋转延迟时间旋转延迟时间/寻到时间寻到时间寻道时间寻道时间旋转延迟时间旋转延迟时间硬盘Ts=m n+s,寻道时间寻道时间其中:其中:m为常数;为常数;n为移动磁道数;为移动磁道数;s为启动磁盘时间为启动磁盘时间Tr旋转延迟时间:
2、硬盘大约旋转延迟时间:硬盘大约8.3ms,软盘软盘50ms100msTt 传输时间:读传输时间:读/写数据的实际时间写数据的实际时间=b/(rN)b:读写字节数;读写字节数;r:磁盘转速;磁盘转速;N:每条磁道上的字节数。每条磁道上的字节数。磁盘访问时间磁盘访问时间 Ta=Ts+Tr+Tt 第5页/共43页磁盘调度算法磁盘调度算法n n先来先服务n n最短寻道时间优先n n扫描算法(电梯调度)n n循环扫描算法(环形)n nN-步扫描算法N-Step-SCAN第6页/共43页文件物理组织的不同方式文件物理组织的不同方式 1.1.连续文件 2.2.串联文件 3.3.索引文件 4.4.Hash文件
3、 第7页/共43页1.连续分配连续分配n n连续分配(contiguous):只需记录第一个簇的位置,适用于预分配方法。可以通过紧缩(compact)将外存空闲空间合并成连续的区域。第8页/共43页2.链接分配链接分配n n链接分配链接分配(chained)chained):在每个簇中有在每个簇中有指向下一个簇指向下一个簇的指针。可以的指针。可以通过合并通过合并(consolidaticonsolidation)on)将一个文将一个文件的各个簇连件的各个簇连续存放,以提续存放,以提高高I/OI/O访问性访问性能。能。n n簇:一组磁盘簇:一组磁盘块块n n隐式链接隐式链接第9页/共43页显式链
4、接显式链接 n n将指针显式地存放在一张表中第10页/共43页DOS的文件物理结构(的文件物理结构(FAT表表)n n将指针显式地存放在一张表中(FAT)第11页/共43页3.索索引分引分配配 n n索引分配(indexed):文件的第一个簇中记录了该文件的其他簇的位置,只需在索引中记录连续簇的数目。两级索引第12页/共43页混合索引方式混合索引方式两级索引n n混合索引混合索引是指多种分配方式相结合而形成的一种分配方是指多种分配方式相结合而形成的一种分配方式,比如:直接地址、一级索引、二级索引、三级索引式,比如:直接地址、一级索引、二级索引、三级索引混合的分配方式。混合的分配方式。n n例如
5、例如UNIXUNIX、LINUXLINUX的文件物理结构都是采用的这种混合的文件物理结构都是采用的这种混合分配的方式。分配的方式。第13页/共43页存储器存储空间的管理存储器存储空间的管理n n空闲表法空闲表法n n空闲链表法空闲链表法n n位视图位视图n n成组链接法成组链接法空闲盘块的成组链接法空闲盘块的成组链接法第14页/共43页磁盘容错技术磁盘容错技术n n也称系统容错技术(也称系统容错技术(System Fault ToleranceSystem Fault Tolerance)n nSFT-I SFT-I 低级磁盘容错技术低级磁盘容错技术n n防止磁盘表面出错引起的数据丢失;防止磁
6、盘表面出错引起的数据丢失;n nSFT-II SFT-II 中级磁盘容错技术中级磁盘容错技术n n防止磁盘驱动器或控制器故障所引起的系统不正常;防止磁盘驱动器或控制器故障所引起的系统不正常;n nSFT-III SFT-III 高级磁盘容错技术高级磁盘容错技术n n提供了文件服务器镜像功能提供了文件服务器镜像功能n n在主服务器出现故障时能有备份服务器不间断地接替主服务在主服务器出现故障时能有备份服务器不间断地接替主服务器的工作。器的工作。n n容错技术是通过在系统中设置冗余部件来提高系统可容错技术是通过在系统中设置冗余部件来提高系统可靠性的一种技术。靠性的一种技术。第15页/共43页SFT-
7、In n双份目录和双份文件分配表n n在不同磁盘或者不同磁盘分区做目在不同磁盘或者不同磁盘分区做目录和分区表备份录和分区表备份n n热修复重定向n n使用使用2%-3%2%-3%的磁盘容量作为热修复的磁盘容量作为热修复重定向区重定向区n n写后读校验n n写后再读出来与之比较,不一致则写后再读出来与之比较,不一致则重写,仍不一致则利用热修复重定重写,仍不一致则利用热修复重定向技术将数据写入重定向区中,并向技术将数据写入重定向区中,并记录损坏盘块的地址到坏盘块表中记录损坏盘块的地址到坏盘块表中System Fault ToleranceSystem Fault Tolerance第16页/共43
8、页SFT-IIn n磁盘镜像n n两个磁盘驱动器,有个备份磁盘做镜像,采用写后读校验方式两个磁盘驱动器,有个备份磁盘做镜像,采用写后读校验方式n n磁盘双工n n两个磁盘控制器,有个备份磁盘驱动器和磁盘,采用并行写的方式写入两个磁盘控制器,有个备份磁盘驱动器和磁盘,采用并行写的方式写入磁盘,使用分离搜索(磁盘,使用分离搜索(Split SeekSplit Seek)技术,从相应快的通路取得数据。)技术,从相应快的通路取得数据。磁盘驱动器第17页/共43页RAIDn nRAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数
9、据冗余的技术。n n组成磁盘阵列的不同方式成为RAID级别(RAID Levels)。n n数据冗余的功能是在用户数据一旦发生损坏后,利用冗余信息可以使损失数据得以恢复,从而保障了用户数据的安全性。第18页/共43页RAID的优点的优点n n成本低,功耗小,传输速率高成本低,功耗小,传输速率高。在。在RAIDRAID中,可以让很多磁盘驱中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用驱动器,所以使用RAIDRAID可以达到单个的磁盘驱动器几倍、几十可以达到单个的磁盘驱动器几倍、几十倍甚至上百倍的速率
10、。这也是倍甚至上百倍的速率。这也是RAIDRAID最初想要解决的问题。因为最初想要解决的问题。因为当时当时CPUCPU的速度增长很快,而磁盘驱动器的数据传输速率无法的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。大幅提高,所以需要有一种方案解决二者之间的矛盾。RAIDRAID最最后成功了。后成功了。n n可以提供容错功能可以提供容错功能。这是使用。这是使用RAIDRAID的第二个原因,因为普通磁的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(CRC(循循环冗余校验环冗余
11、校验)码的话。码的话。RAIDRAID和容错是建立在每个磁盘驱动器的和容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。硬件容错功能之上的,所以它提供更高的安全性。n nRAIDRAID比起传统的大直径磁盘驱动器来,在同样的容量下,比起传统的大直径磁盘驱动器来,在同样的容量下,价格价格要低要低许多。许多。n nRAIDRAID巳经发展了六个级别,其级别分别是巳经发展了六个级别,其级别分别是0 0、1 1、2 2、3 3、4 4、5 5及后来及后来还出现了还出现了RAID0+1(RAID0+1(也称也称RAID10)RAID10)等等等等第19页/共43页数据分段并行交叉存
12、取数据分段并行交叉存取数据分段就是将把数据分段就是将把一个文件的数据写到多个硬盘一个文件的数据写到多个硬盘,而不是只写到一个盘上。因为磁盘阵列是将同一阵列的多个磁盘视为单一的虚拟磁盘,而不是只写到一个盘上。因为磁盘阵列是将同一阵列的多个磁盘视为单一的虚拟磁盘(virtual disk)virtual disk),所以其数据是以分段的方式顺序存放在磁盘阵列中,数据所以其数据是以分段的方式顺序存放在磁盘阵列中,数据按需要分段按需要分段,从第一个磁盘开始放,放到最后一个磁盘再回到第一个磁盘放起,直到数据分布完毕。在整个磁盘阵列中,数据被均匀等量的分成数据块分别放在几个硬盘中。这种数据被分割开交叉存储
13、在几个硬盘中叫做段,从第一个磁盘开始放,放到最后一个磁盘再回到第一个磁盘放起,直到数据分布完毕。在整个磁盘阵列中,数据被均匀等量的分成数据块分别放在几个硬盘中。这种数据被分割开交叉存储在几个硬盘中叫做段(Striping)Striping),而区块而区块(Stripe Block)Stripe Block)的大小也是可以调整的的大小也是可以调整的。第20页/共43页RAID 0RAID 0RAID 0RAID 0其实就是所谓的数据分段其实就是所谓的数据分段 Disk StripingDisk Striping。RAID RAID 0 0模式一般通过模式一般通过2 2个以上的硬盘组成一个磁盘阵列
14、来实现。个以上的硬盘组成一个磁盘阵列来实现。在磁盘阵列子系统中,在磁盘阵列子系统中,几个硬盘并行处理几个硬盘并行处理,在存取数据时,在存取数据时由几个硬盘分别同时进行操作,读写各自的部分。数据按由几个硬盘分别同时进行操作,读写各自的部分。数据按系统规定的系统规定的“段段”为单位依次写入多个硬盘,例如数据段为单位依次写入多个硬盘,例如数据段1 1写入硬盘写入硬盘0 0,段,段2 2写入硬盘写入硬盘1 1,段,段3 3写入硬盘写入硬盘2 2等等。当数据等等。当数据写完最后一个硬盘时,它就重新从盘写完最后一个硬盘时,它就重新从盘0 0的下一可用段开始的下一可用段开始写入,写数据的全过程按此重复直至数
15、据写完。所以这样写入,写数据的全过程按此重复直至数据写完。所以这样整个系统的性能会得以大大的提高。整个系统的性能会得以大大的提高。第21页/共43页RAID 1RAID 1如果说如果说RAID 0RAID 0是追求性能而放弃安全性的话,那么是追求性能而放弃安全性的话,那么RAID 1RAID 1就正好相反。就正好相反。RAID1RAID1是追求安全性而放弃性能的一种解决方案。它的做法就是通过系统数据冗余是追求安全性而放弃性能的一种解决方案。它的做法就是通过系统数据冗余-将数据进行实时的备份来完成将数据进行实时的备份来完成RAID 1RAID 1又称为又称为MirrorMirror或或Mirro
16、ringMirroring,意译为意译为磁盘镜像磁盘镜像,每一个磁盘都具有一个对应的镜像盘。对任何一个磁盘的数据写入都会被复制镜像盘中;系统可以从一组镜像盘中的任何一个磁盘读取数据。由于需要空间存入镜像,因此我们所能使用的空间只是所有磁盘容量总和的一半,例如总容量为,每一个磁盘都具有一个对应的镜像盘。对任何一个磁盘的数据写入都会被复制镜像盘中;系统可以从一组镜像盘中的任何一个磁盘读取数据。由于需要空间存入镜像,因此我们所能使用的空间只是所有磁盘容量总和的一半,例如总容量为8080GBGB的两个的两个4040GBGB的硬盘只拥有的硬盘只拥有4040GBGB的可用储存量的可用储存量 第22页/共4
17、3页RAID 1RAID 1第23页/共43页RAID 10(RAID 0+1)n nRAID 1RAID 1和和RAID 0RAID 0都各有优点,但如果单独使用都各有优点,但如果单独使用RAID 1RAID 1或或RAID 0RAID 0都无法满足既追求性能又可确保系统资料安都无法满足既追求性能又可确保系统资料安全性的用户的需要。为了解决这一问题,人们又推出全性的用户的需要。为了解决这一问题,人们又推出RAID 0+1RAID 0+1模式。模式。n nRAID 0+1RAID 0+1也称之为也称之为RAID 10RAID 10,是磁盘分段及镜像的结是磁盘分段及镜像的结合,结合了合,结合了
18、RAID 0RAID 0及及 RAID 1RAID 1最佳的优点。它采用就最佳的优点。它采用就是是2 2组组RAID 0RAID 0的磁盘阵列互为镜像,也就是它们之间的磁盘阵列互为镜像,也就是它们之间又成为了一个又成为了一个RAID 1RAID 1的阵列。在每次写入数据时,磁的阵列。在每次写入数据时,磁盘阵列控制器会将数据同时写入两组盘阵列控制器会将数据同时写入两组 大容量阵列硬大容量阵列硬盘组盘组(RAID 0)RAID 0)中。在资源的占用上这种方式同中。在资源的占用上这种方式同RAID RAID 1 1一样,虽然其硬盘使用率只有一样,虽然其硬盘使用率只有50%50%,但它却是具有最,但它
19、却是具有最高效率的划分方式。高效率的划分方式。第24页/共43页RAID 10(RAID 0+1)第25页/共43页RAID 2n n带海明码校验磁盘阵列RAID2RAID2是为大型机和超级计算机开发的。磁盘驱动器组中的第一个、是为大型机和超级计算机开发的。磁盘驱动器组中的第一个、第二个、第四个第二个、第四个第第2 2的的n n次幂个磁盘驱动器是次幂个磁盘驱动器是专门的校验盘专门的校验盘,用,用于校验和纠错,例如七个磁盘驱动器的于校验和纠错,例如七个磁盘驱动器的RAID2RAID2,第一、二、四个磁第一、二、四个磁盘驱动器是纠错盘,其余的用于存放数据。使用的磁盘驱动器越多,盘驱动器是纠错盘,其
20、余的用于存放数据。使用的磁盘驱动器越多,校验盘在其中占的百分比越少。校验盘在其中占的百分比越少。RAID2RAID2对大数据量的输入输出有很对大数据量的输入输出有很高的性能,但少量数据的输入输出时性能不好。高的性能,但少量数据的输入输出时性能不好。RAID2RAID2很少实际使很少实际使用。用。由于海明码的特点,它可以在数据发生错误的情况下将错误校正,由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。它的数据传送速率相当高,如果希望达到比较以保证输出的正确。它的数据传送速率相当高,如果希望达到比较理想的速度,那最好提高保存校验码理想的速度,那最好提高保存校验码ECCE
21、CC码码的硬盘,对于控制器的的硬盘,对于控制器的设计来说,它又比设计来说,它又比RAID3RAID3,4 4或或5 5要简单。但是利用海明码校验必须要简单。但是利用海明码校验必须要付出数据冗余的代价。要付出数据冗余的代价。第26页/共43页RAID 3同同RAID 0RAID 0一样,一样,RAID 3RAID 3也采用数据分块并行传送的方法,但也采用数据分块并行传送的方法,但有所不同的是它在数据分块之后计算它们的有所不同的是它在数据分块之后计算它们的奇偶校验奇偶校验和,然和,然后把分块数据和奇偶校验信息一并写到硬盘阵列中。采用这后把分块数据和奇偶校验信息一并写到硬盘阵列中。采用这种方法对数据
22、的存取速度和可靠性都有所改善,当阵列中任种方法对数据的存取速度和可靠性都有所改善,当阵列中任一硬盘损坏时,可以利用其它数据盘和奇偶校验盘上的信息一硬盘损坏时,可以利用其它数据盘和奇偶校验盘上的信息重构原始数据。在硬盘利用率方面,重构原始数据。在硬盘利用率方面,RAID 3RAID 3比比RAID 1RAID 1要高,要高,例如由例如由5 5个硬盘组成的阵列,冗余度只有个硬盘组成的阵列,冗余度只有2020。不过,。不过,RAID 3RAID 3也有缺点,由于也有缺点,由于奇偶校验信息固定存储在一个硬盘上奇偶校验信息固定存储在一个硬盘上,使该,使该硬盘负担较重,从而产生新的硬盘负担较重,从而产生新
23、的瓶颈瓶颈。第27页/共43页RAID4RAID4n n并行处理磁盘阵列并行处理磁盘阵列 n nRAID4RAID4对每组硬磁盘仍然要一个对每组硬磁盘仍然要一个ECCECC校验磁盘,与校验磁盘,与RAID3RAID3不同的是,不同的是,RAID4RAID4是是在同一磁盘的在同一磁盘的扇区一级扇区一级上上进行数据交叉存储进行数据交叉存储,因此每组磁盘有并行完成多个,因此每组磁盘有并行完成多个I/0I/0操作的能力,从而改善了数据读写的性能。但是,操作的能力,从而改善了数据读写的性能。但是,其专用的校验磁盘在写操作时,依然要进行数据校其专用的校验磁盘在写操作时,依然要进行数据校验位的计算,使得整体
24、性能还是达不到理想的要求,验位的计算,使得整体性能还是达不到理想的要求,所以所以RAID4RAID4很少被使用。很少被使用。n nRAID 4RAID 4的方式是的方式是RAID0 RAID0 加上一个校验磁盘加上一个校验磁盘n nRAID4RAID4如果校验磁盘故障,就变成如果校验磁盘故障,就变成RAID0RAID0,读取的性能读取的性能没有影响,但写入的性能提升,因为不用计算校验值。没有影响,但写入的性能提升,因为不用计算校验值。但如果其中一个数据盘故障,不管是对故障盘的读取但如果其中一个数据盘故障,不管是对故障盘的读取或写入都必须把同一所有的分段读出来以恢复故障盘或写入都必须把同一所有的
25、分段读出来以恢复故障盘的数据,这使的的数据,这使的RAID4RAID4性能降低。性能降低。第28页/共43页RAID5n n无独立校验盘的奇偶校验磁盘阵列。同样采用奇偶校验来检查错误,也称为交错校验磁盘阵列,类似于RAID4,但没有独立的校验盘,校验信息分布在各个磁盘驱动器上。这样就消除了I/0“瓶颈”现象,使得I/0多通道同时读和写都具有很好的性能。从目前的实际应用情况来看,RAID5技术是RAID等级中被用户最常选用的方式之一。第29页/共43页RAID6RAID6n n带有带有两种分布存储的奇偶校验码两种分布存储的奇偶校验码的独立磁盘结构的独立磁盘结构几乎没有进行商用。它使用一种分配在不
26、同的驱几乎没有进行商用。它使用一种分配在不同的驱动器上的第二种奇偶方案,扩展了动器上的第二种奇偶方案,扩展了RAID 5RAID 5。它能它能承受多个驱动器同时出现故障,但是,性能尤其承受多个驱动器同时出现故障,但是,性能尤其是写操作却很差,而且,系统需要一个是写操作却很差,而且,系统需要一个极为复杂极为复杂的控制器的控制器。当然由于引入了第二种奇偶校验值,。当然由于引入了第二种奇偶校验值,所以需要所以需要N+2N+2个磁盘,同时由于对控制器的设计变个磁盘,同时由于对控制器的设计变得十分复杂,用于计算奇偶校验值和验证数据正得十分复杂,用于计算奇偶校验值和验证数据正确性所花费的时间比较多。确性所
27、花费的时间比较多。第30页/共43页RAID1到到RAID5n n从RAID1到RAID5的几种方案中,不论何时有磁盘损坏,都可以随时拔出损坏的磁盘再插入好的磁盘(需要硬件上的热插拔支持),数据不会受损,失效盘的内容可以很快地重建,重建的工作也由RAID硬件或RAID软件来完成。n n但RAID0不提供错误校验功能,所以说它不能算作是RAID,其实这也是RAID0为什么被称为0级RAID的原因0本身就代表“没有”。第31页/共43页RAID的应用n n当前的当前的PCPC机,整个系统的速度瓶颈主要是硬盘。虽然不断有机,整个系统的速度瓶颈主要是硬盘。虽然不断有Ultra DMA33Ultra D
28、MA33、DMA66DMA66、DMA100DMA100等快速的标准推出,但收效等快速的标准推出,但收效不大。在不大。在PCPC中,磁盘速度慢一些并不是太严重的事情。但在企中,磁盘速度慢一些并不是太严重的事情。但在企业服务器和高档图形工作站中,这是不允许的,企业服务器和业服务器和高档图形工作站中,这是不允许的,企业服务器和高档图形工作站必须能响应来自四面八方的服务请求,这些请高档图形工作站必须能响应来自四面八方的服务请求,这些请求大多与磁盘上的数据有关,所以企业服务器和高档图形工作求大多与磁盘上的数据有关,所以企业服务器和高档图形工作站的磁盘子系统必须要有很高的输入输出速率。为了数据的安站的磁
29、盘子系统必须要有很高的输入输出速率。为了数据的安全,还要有一定的容错功能。全,还要有一定的容错功能。RAIDRAID提供了这些功能,所以提供了这些功能,所以RAIDRAID被广泛地应用在企业服务器和高档图形工作站体系中被广泛地应用在企业服务器和高档图形工作站体系中。RAIDRAID提供的容错功能是自动实现的提供的容错功能是自动实现的(由由RAIDRAID硬件或是硬件或是RAIDRAID软软件来做件来做)。它对应用程序是透明的,即无需应用程序为容错做半。它对应用程序是透明的,即无需应用程序为容错做半点工作。要得到点工作。要得到最高的安全性和最快的恢复速度,可以使用最高的安全性和最快的恢复速度,可
30、以使用RAID1(RAID1(镜像镜像);要在容量、容错和性能上取;要在容量、容错和性能上取折衷折衷可以使用可以使用RAID5RAID5。在大多数数据库服务器中,操作系统和数据库管理系在大多数数据库服务器中,操作系统和数据库管理系统所在的磁盘驱动器是统所在的磁盘驱动器是RAID1RAID1,数据库的数据文件则是存放于数据库的数据文件则是存放于RAID5RAID5的磁盘驱动器上。的磁盘驱动器上。第32页/共43页后备系统后备系统n n类型n n磁带机磁带机n n硬盘硬盘n n光盘光盘n n拷贝方法n n完全转储法完全转储法n n增量转储法增量转储法第33页/共43页磁盘高速缓存磁盘高速缓存 Di
31、sk Cachen n磁盘高速缓存的形式n n内存开辟独立的空间作为内存开辟独立的空间作为disk cachedisk cache,大小固定大小固定n n将所有内存空区作为磁盘将所有内存空区作为磁盘I/OI/O缓冲池,与分页系统共享缓冲池,与分页系统共享n n数据交付Data Deliveryn n将将disk cachedisk cache中的数据传送给请求进程中的数据传送给请求进程n n数据交付、指针交付数据交付、指针交付 n n置换算法n n当高速缓存满时,若再写入高速缓存则需换出不用盘块,当高速缓存满时,若再写入高速缓存则需换出不用盘块,n nLRULRU链链n n周期性写回n n周周
32、期期地地将将disk disk cachecache中中被被修修改改过过的的内内容容写回磁盘写回磁盘第34页/共43页优化磁盘数据布局优化磁盘数据布局n n优化物理块的分布n n使使磁磁头头的的移移动动距距离离最最小小,比比如如:安安排排一一个个文文件件的的两两块块数数据据块块在在同同一一磁磁道,消除磁头在磁道间的移动道,消除磁头在磁道间的移动n n优化索引节点的分布n n访访问问文文件件时时,先先访访问问索索引引节节点点,然然后再去访问盘块后再去访问盘块n n将将磁磁盘盘上上的的所所有有磁磁道道分分成成若若干干个个组组,在在每每个个组组中中都都含含有有索索引引节节点点、盘盘块块和和空空闲闲盘
33、盘块块表表,使使得得索索引引节节点点盘盘块块与与存存放放文文件件的的盘盘块块间间距距离离最最小小(如如:LinuxLinux的磁盘文件逻辑结构)的磁盘文件逻辑结构)第35页/共43页提高磁盘提高磁盘I/O速度的其他方法速度的其他方法n n提前读read-aheadn n顺顺序序访访问问时时,常常采采用用提提前前读读入入下下一一块到缓冲区中块到缓冲区中n n延迟写n n将将本本应应立立即即写写回回磁磁盘盘的的数数据据挂挂到到空空闲闲缓缓冲冲区区的的队队列列的的末末尾尾。直直到到该该数数据据块块移移到到链链头头时时才才将将其其写写回回磁磁盘盘,再作为空区分配出去再作为空区分配出去n n虚拟盘vir
34、tual diskn n利利用用内内存存空空间间去去仿仿真真磁磁盘盘(RAMRAM盘)盘)n nVitual disk Vitual disk 与与disk cachedisk cache的区别是:的区别是:n nvitual vitual diskdisk的的存存放放的的内内容容由由用用户户完完全全控控制制n nDisk Disk cachecache中中的的内内容容完完全全是是由由操操作作系系统统控制控制第36页/共43页数据一致性控制数据一致性控制n n当数据库中的一个数据分别存入到几个地方时,就需考虑数据的一致性问题n n例如:商品的进价有错时,需要分例如:商品的进价有错时,需要分别修
35、改别修改n n流水账流水账n n付费帐付费帐n n分类账分类账n n总账等等总账等等n n当这种修改进行到中途时,突然发当这种修改进行到中途时,突然发生系统故障,则帐目中的这个数据生系统故障,则帐目中的这个数据不一致了不一致了第37页/共43页事务事务Transactionn n事务定义n n用用于于访访问问和和修修改改各各种种数数据据项项的的一一个个程序单位。程序单位。n n是一系列的读和写操作是一系列的读和写操作n n一一个个事事物物在在对对一一批批数数据据进进行行操操作作时时,要要么么全全部部完完成成,修修改改原原有有数数据据,要要么一个也不修改么一个也不修改n n事务记录(Transa
36、ction Record)n n记记录录事事务务运运行行时时数数据据项项修修改改的的全全部部信息信息(Log)Log)n n恢复算法n n利利用用记记录录表表,系系统统能能处处理理任任何何故故障障而而不不致致使使存存储储器器中中信信息息丢丢失失,恢恢复复算算法法利用两个过程利用两个过程n nundo undo 恢复为修改前的值恢复为修改前的值n nredo redo 设置为新值设置为新值第38页/共43页检查点检查点CHECKPOINT n n检查点的作用n n每隔一定时间每隔一定时间,便做一次事务清理便做一次事务清理n n新的恢复算法n n只只须须处处理理对对最最后后一一个个检检查查点点之之
37、后后的的事务记录进行处理事务记录进行处理处理原则如下:处理原则如下:n nT T事事 务务 表表 中中 有有 T 记记 录录,执执 行行redo(T)redo(T)n nT T事事 务务 表表 中中 无无 T 记记 录录,执执 行行undo(T)undo(T)其中其中T T是检查点之后执行的事务集合。是检查点之后执行的事务集合。第39页/共43页具具有有检检查查点点记记录录的的恢恢复复日日志志第40页/共43页其他情况的数据一致性问题其他情况的数据一致性问题n n重复文件的一致性n n系系统统对对关关键键文文件件可可能能保保留留了了多多个个副副本,副本之间的一致性问题本,副本之间的一致性问题n n盘块号一致性的检查n nFATFAT表表(已已分分配配区区)与与空空闲闲块块表表(未未分配区)计数应为互补分配区)计数应为互补n n链接数一致性检查n nUNIXUNIX的的链链接接计计数数countcount与与从从根根目目录录出出发发查查找找某某一一文文件件出出现现的的次次数数相相比比较看是否一致。较看是否一致。第41页/共43页02盘盘块块号号的的一一致致性性检检查查第42页/共43页