1、第六章 文件管理 第八章第八章 磁盘存储器的管理磁盘存储器的管理8.18.1外存外存的组织方式的组织方式8.2 8.2 文件存储空间的管理文件存储空间的管理 8.3 8.3 提高磁盘提高磁盘I/OI/O速度的途径速度的途径8.4 8.4 提高磁盘可靠性的技术提高磁盘可靠性的技术8.5 8.5 数据一致性控制数据一致性控制 第六章 文件管理 文件的物理结构直接与外存的组织方式有关。文件的物理结构直接与外存的组织方式有关。 (1) 连续组织方式连续组织方式 (2) 链接组织方式链接组织方式 (3) 索引组织方式索引组织方式 8.1 外存的组织方式外存的组织方式第六章 文件管理 1. 1.连续组织方
2、式:连续组织方式:为每一个文件分配一组相邻接的盘为每一个文件分配一组相邻接的盘块,通常位于一条磁道上,读块,通常位于一条磁道上,读/写时不必移动磁头。写时不必移动磁头。8.1.1 连续组织(分配)方式连续组织(分配)方式 顺序文件顺序文件第六章 文件管理 图图 8-18-1磁盘空间的连续分配磁盘空间的连续分配 第六章 文件管理 2. 连续分配的主要优缺点连续分配的主要优缺点 主要主要优点优点: (1)(1)简单简单, ,顺序访问容易,且支持顺序存取和随机存取顺序访问容易,且支持顺序存取和随机存取 (2)(2)顺序存取速度快,所需的磁盘寻道次数和寻道时间最少。顺序存取速度快,所需的磁盘寻道次数和
3、寻道时间最少。主要主要缺点缺点: (1 1)要求有连续的存储空间。磁盘被无数次的划分后易形成外存)要求有连续的存储空间。磁盘被无数次的划分后易形成外存的的碎片碎片,同样可用,同样可用“紧凑紧凑”的方法解决。但花费大量机器时间。的方法解决。但花费大量机器时间。 (2 2)必须事先知道文件的长度。)必须事先知道文件的长度。 (3 3)不能灵活地删除和插入记录。)不能灵活地删除和插入记录。 (4 4)对于那些动态增长的文件,很难知道文件的最终大小,很难)对于那些动态增长的文件,很难知道文件的最终大小,很难为其分配空间;即使能知道最终大小,预分配会造成大量空间为其分配空间;即使能知道最终大小,预分配会
4、造成大量空间的长期闲置。的长期闲置。 第六章 文件管理 概念概念: : 一个文件的信息存放在若干不连续的物理块中,各块一个文件的信息存放在若干不连续的物理块中,各块之间通过指针连接,前一个物理块指向下一个物理块。之间通过指针连接,前一个物理块指向下一个物理块。 分类:分类:隐式链接、显示链接。隐式链接、显示链接。8.1.2 链接组织(分配)方式链接组织(分配)方式1. 隐式链接隐式链接 采用隐式链接组织方式时,在文件目录的每个目录采用隐式链接组织方式时,在文件目录的每个目录项中,都须含有指向链接文件项中,都须含有指向链接文件第一个盘块第一个盘块和和最后一个盘最后一个盘块的指针块的指针。 第六章
5、 文件管理 图图 8-2 8-2 磁盘空间的链接式分配磁盘空间的链接式分配 25123056749101181314151217181916212223202526272429303128filestartendjeep925目录101-116文件第六章 文件管理 缺点:缺点: 只适合顺序访问只适合顺序访问 随机访问效率极低,比如要访问文件的第随机访问效率极低,比如要访问文件的第100个盘块,则需要启动磁盘个盘块,则需要启动磁盘100次,每次需次,每次需要几十要几十ms。 解决方法:以簇为单位,假设一个簇包含解决方法:以簇为单位,假设一个簇包含4个块,个块,这样访问文件的第这样访问文件的第10
6、0个盘块,则需启动个盘块,则需启动25次磁次磁盘,查找时间成倍减少;但增加了内部碎片。盘,查找时间成倍减少;但增加了内部碎片。第六章 文件管理 2. 显式链接显式链接 图图 8-3 8-3 显式链接结构显式链接结构 012345物理块号2FCBFAT0451(文件分配表)(文件分配表) 文件分配表文件分配表FATFAT该表在整个磁盘仅设一张。把用于链接文件各该表在整个磁盘仅设一张。把用于链接文件各物理块的指针物理块的指针显式显式地存放在内存的地存放在内存的FATFAT表表中。中。第六章 文件管理 MS-DOS的文件物理结构1011第六章 文件管理 优点优点: : (1 1)采取离散分配方式,消
7、除了)采取离散分配方式,消除了外部碎片外部碎片问题,提高了问题,提高了磁盘空间利用率;磁盘空间利用率; (2 2)有)有利于文件动态增长利于文件动态增长,无须事先知道文件的大小。,无须事先知道文件的大小。对文件的对文件的插入和删除也十分方便插入和删除也十分方便; ; 缺点缺点:(:(1 1)存取速度慢,不适于随机存取(直接存取)存取速度慢,不适于随机存取(直接存取); ; (2 2)可靠性问题,如指针出错)可靠性问题,如指针出错; ; (3 3)更多的寻道次数和寻道时间)更多的寻道次数和寻道时间; ; (4 4)链接指针占用一定的空间(隐式链接)链接指针占用一定的空间(隐式链接); ; (5
8、5)FATFAT需占用较大的内存空间(显式链接);需占用较大的内存空间(显式链接);3.链接组织方式优缺点链接组织方式优缺点第六章 文件管理 8.1.3 FAT技术 微软公司早、中期的操作系统采用微软公司早、中期的操作系统采用FATFAT技术,主要有技术,主要有1212位的位的FATFAT、1616位的位的FATFAT、3232位的位的FATFAT。 引入引入“卷卷”的概念,的概念,一个卷即一个分区一个卷即一个分区,最多可以有四个,最多可以有四个卷,每卷划出单独区域存放自己的目录、卷,每卷划出单独区域存放自己的目录、FATFAT表、逻辑驱动表、逻辑驱动器字母。器字母。 现代操作系统中,一个物理
9、磁盘可以有多个卷,一个卷现代操作系统中,一个物理磁盘可以有多个卷,一个卷也可以由多个物理磁盘组成。也可以由多个物理磁盘组成。第六章 文件管理 1. FAT12 1) 早期的FAT12文件系统 FAT12是以盘块为基本分配单位的。由于FAT是文件系统中最重要的数据结构,为了安全起见,在每个分区中都配有两张相同的文件分配表FAT1和FAT2。在FAT的每个表项中存放下一个盘块号,它实际上是用于盘块之间的链接的指针,通过它可以将一个文件的所有的盘块链接起来,而将文件的第一个盘块号放在自己的FCB中。 第六章 文件管理 图8-4 MS-DOS的文件物理结构第六章 文件管理 2) 以簇为单位的FAT12
10、文件系统 如果把每个盘块(扇区)的容量增大n倍,则磁盘的最大容量便可增加n倍。但要增加盘块的容量是不方便和不灵活的。为此,引入了簇(cluster)的概念。 优点:能适应磁盘容量不断增大的情况,还可以减少FAT表中的项数,减少FAT所占的内存空间。 缺点:增加了簇内的碎片 第六章 文件管理 2. FAT16 FAT12表中的表项最多只允许4096个。这样,随着磁盘容量的增加,必定会引起簇的大小和簇内碎片也随之增加。 3. FAT32由于FAT16表的长度只有65535项,随着磁盘容量的增加,簇的大小也必然会随之增加,为了减少簇内零头,也就应当增加FAT表的长度,这样也就由FAT16演变为FAT
11、32。第六章 文件管理 第六章 文件管理 8.1.4 NTFS的文件组织方式的文件组织方式1. NTFS新特征NTFS(New Technology File System)是一个专门为Windows NT开发的、全新的文件系统,并适用于Windows 2000/XP及后续的Windows OS。 (1)使用了64位磁盘地址; (2)支持长文件名(单个文件255,绝对路径名32767); (3)具有系统容错功能; (4)保证系统中数据的一致性 。第六章 文件管理 2. 磁盘组织NTFS是以簇作为磁盘空间分配和回收的基本单位的。一个文件占用若干个簇,一个簇只属于一个文件。这样,在为文件分配磁盘空
12、间时,就无须知道盘块的大小,只要根据不同的磁盘容量,选择相应大小的簇,即:使NTFS具有了与磁盘物理块大小无关的独立性。第六章 文件管理 3. 文件的组织在NTFS中,以卷为单位,将一个卷中的所有文件信息、目录信息以及可用的未分配空间信息,都以文件记录的方式记录在一张主控文件表MFT(Master File Table)中,该表是NTFS卷结构的中心,从逻辑上讲,卷中的每个文件作为一条记录,在MFT表中占有一行,其中还包括MFT自己的这一行。每行大小固定为1KB,每行称为该行所对应文件的元数据(metadata),也称为文件控制字。第六章 文件管理 8.1.5 索引分配索引分配 问题的引入问题
13、的引入:链接分配方式链接分配方式虽然解决了连续分配方式虽然解决了连续分配方式所存在的问题,但又所存在的问题,但又出现了另外两个问题出现了另外两个问题, 即:即: (1) (1) 不能支持高效的直接(随机)存取不能支持高效的直接(随机)存取。 (2) FAT(2) FAT需占用较大的内存空间需占用较大的内存空间。 解决方法:解决方法:在打开某个文件时,只需把该文件占用的在打开某个文件时,只需把该文件占用的盘块号调入内存即可,没必要将整个盘块号调入内存即可,没必要将整个FATFAT调入内存。为此,调入内存。为此,应将每个文件所对应的盘块号集中地放在一起。应将每个文件所对应的盘块号集中地放在一起。索
14、引索引分配方法。分配方法。 第六章 文件管理 1.1.单级索引组织方式单级索引组织方式 一个文件的信息存放在若干不连续物理块中,系统一个文件的信息存放在若干不连续物理块中,系统为每为每个文件个文件建立一个专用数据结构建立一个专用数据结构-索引表索引表,并将这些块的块号存,并将这些块的块号存放在该索引表中。放在该索引表中。 第六章 文件管理 索引结构优缺点:索引结构优缺点: 优点:优点: 支持随机存取,满足了文件动态增长、插入删支持随机存取,满足了文件动态增长、插入删除的要求,不会产生外部碎片。除的要求,不会产生外部碎片。 缺点:缺点: 索引表本身带来了系统开销且索引块空间利用索引表本身带来了系
15、统开销且索引块空间利用率低,不适合于小文件。率低,不适合于小文件。第六章 文件管理 多级索引多级索引: :将一个将一个大文件的所有索引表大文件的所有索引表(二级索引(二级索引) )的地址放的地址放在另一个索引表(一在另一个索引表(一级索引级索引) )中。中。如:盘块大小如:盘块大小1KB1KB,每,每个盘块号占个盘块号占4B4B,单级,单级索引允许的最大文件索引允许的最大文件长度为:长度为:256256* *1KB=256KB1KB=256KB二级索引允许的最大二级索引允许的最大文件长度为:文件长度为:256256* *256KB=64MB256KB=64MB2. 多级索引组织方式多级索引组织
16、方式第六章 文件管理 i.addr(9)图图 8-8 UNIX System V8-8 UNIX System V混合索引方式混合索引方式 3. 3. 增量式索引组织方式(增量式索引组织方式( P258P258)目的:照顾小、中、大、特大型作业第六章 文件管理 (1)直接地址。)直接地址。 用用i.addr(0)i.addr(9)来存放直接地址。来存放直接地址。 假如每个盘块假如每个盘块的大小为的大小为 4 KB,支持的文件最大为,支持的文件最大为40 KB。 (2)一次间接地址。)一次间接地址。 当文件长度大于当文件长度大于40 KB时,时, 要利用索引结点中的地址项要利用索引结点中的地址项
17、i.addr(10)来提供一次间接地址。假如在一次间址块中可存来提供一次间接地址。假如在一次间址块中可存放放1K个盘块号,个盘块号, 因而允许文件长达因而允许文件长达4 MB+40KB。 (3)多次间接地址。)多次间接地址。 当文件长度更大时,当文件长度更大时, 需采用二次间址分配方式。用地需采用二次间址分配方式。用地址项址项i.addr(11)提供二次间接地址。文件最大长度可达提供二次间接地址。文件最大长度可达4 GB+ 4 MB+40KB 。 同理,同理, 采用地址项采用地址项i.addr(12)作为三作为三次间接地址,次间接地址, 其所允许的文件最大长度可达其所允许的文件最大长度可达4
18、TB +4 GB+ 4 MB+40KB 。 第六章 文件管理 8.2 文件存储空间的管理文件存储空间的管理 1. 1. 空闲表法(空白文件目录)空闲表法(空白文件目录)连续分配方式连续分配方式 将所有空闲块记录在一个表中,即空闲块表。将所有空闲块记录在一个表中,即空闲块表。2. 2. 空闲链表法空闲链表法 把所有空闲块链成一个链。把所有空闲块链成一个链。3. 3. 位示图法位示图法 用一串二进制位反映磁盘空间中分配使用情况用一串二进制位反映磁盘空间中分配使用情况, , 每个物理块对应一位每个物理块对应一位, , 分配物理块为分配物理块为1 1,否则为,否则为0 0。4. 4. 成组链接法成组链
19、接法 空闲盘块分成若干组,然后将其链成一个链,利空闲盘块分成若干组,然后将其链成一个链,利用空闲盘块号栈实现分配和回收用空闲盘块号栈实现分配和回收。第六章 文件管理 1. 1. 空闲表法空闲表法 概念概念:属于连续分配方式。一个连续的未分配区域称为:属于连续分配方式。一个连续的未分配区域称为空闲区,将系统中所有空闲区的情况用一个表格记录。如:空闲区,将系统中所有空闲区的情况用一个表格记录。如:8.2.1 空闲表法和空闲链表法空闲表法和空闲链表法 序号第一空白块号空白块个数物理块号124(2,3,4,5)293(9,10,11)3155(15,16,17,18,19)4第六章 文件管理 存储空间
20、的分配:存储空间的分配:空闲盘区的分配空闲盘区的分配与内存的动态分配类与内存的动态分配类似似,同样是采用,同样是采用首次适应算法、循环首次适应算法首次适应算法、循环首次适应算法等。等。 存储空间的回收:存储空间的回收:当用户撤消一个文件时,系统当用户撤消一个文件时,系统回收回收该该文件所占用的空间。文件所占用的空间。类似于内存回收的方法类似于内存回收的方法。 优点:优点:分配速度高、可减少访问磁盘的分配速度高、可减少访问磁盘的I/OI/O频率。频率。 应用:应用:对换空间、文件较小时、多媒体文件。对换空间、文件较小时、多媒体文件。第六章 文件管理 2. 空闲链表法空闲链表法 (1 1)空闲盘块
21、链)空闲盘块链:把其中所有的把其中所有的“空闲盘块空闲盘块” ” 链在一起。链在一起。 优点优点:分配:分配/ /回收一个盘块时简单。回收一个盘块时简单。 缺点缺点:为一个文件分配盘块时,可能要重复操作多次。:为一个文件分配盘块时,可能要重复操作多次。(2 2)空闲盘区链)空闲盘区链:把所有的:把所有的“空闲区空闲区”(每个空闲区包含(每个空闲区包含多个空闲块)多个空闲块) 拉成一条链。拉成一条链。 盘区分配盘区分配/ /回收方法与内存的动态分区分配类似。回收方法与内存的动态分区分配类似。常采用首次适应算法,为提高检索速度,可用显示链接常采用首次适应算法,为提高检索速度,可用显示链接方法,即在
22、内存中建一张链接表。回收时相邻的合并。方法,即在内存中建一张链接表。回收时相邻的合并。第六章 文件管理 8.2.2 位示图法位示图法 1. 位示图位示图 (P261) 图图 8-10 8-10 位示图位示图 位示图,通常可用位示图,通常可用m m* *n n个位数个位数构成,并使构成,并使m m* *n n等于磁盘的总块数。等于磁盘的总块数。用用一串一串二进制位二进制位反映磁盘空间反映磁盘空间的分配使用情况的分配使用情况, , 每个物理块对应一位每个物理块对应一位, , “1”“1”表示对应的表示对应的物理物理块已分配,块已分配,“0”0”表示其对应的块未分配。表示其对应的块未分配。第六章 文
23、件管理 2. 盘块的分配盘块的分配 (P261) (1) (1) 顺序扫描位示图,从中找出一个或一组其值为顺序扫描位示图,从中找出一个或一组其值为“0”0”的二进制位的二进制位(“0”(“0”表示空闲块表示空闲块) )。 (2) (2) 将所找到的一个或一组二进制位,将所找到的一个或一组二进制位, 转换成与之相转换成与之相应的盘块号。假定找到的其值为应的盘块号。假定找到的其值为“0”0”的二进制位,位于位的二进制位,位于位示图的第示图的第i i行、第行、第j j列,则其相应的盘块号应按下式计算:列,则其相应的盘块号应按下式计算: b=n(i-1)+jb=n(i-1)+j式中,式中, n n代表
24、每行的位数。代表每行的位数。 (3) (3) 修改位示图,修改位示图, 令令mapmapi,ji,j=1=1。 第六章 文件管理 3. 盘块的回收盘块的回收 (P261) 步骤:步骤: (1) (1) 将回收盘块的盘块号转换成位示图中的行号和列号。将回收盘块的盘块号转换成位示图中的行号和列号。 i=(b-1)DIV n+1 i=(b-1)DIV n+1 商数加商数加1 1 j=(b-1)MOD n+1 j=(b-1)MOD n+1 余数加余数加1 1 (2) (2) 修改位示图。修改位示图。 令令map map i,ji,j=0=0。 优点:优点: (1)(1)易找到一个或一组相邻接的空闲盘块
25、(只需在位示易找到一个或一组相邻接的空闲盘块(只需在位示图中找出几个连续为图中找出几个连续为0 0的位即可)。的位即可)。 (2)(2)位示图小、占用空间少,因而可保存在内存中。节位示图小、占用空间少,因而可保存在内存中。节省了许多磁盘启动操作。此法常用于微型机和小型机中。省了许多磁盘启动操作。此法常用于微型机和小型机中。第六章 文件管理 8.2.3 成组链接法成组链接法 (自看)(自看)1. 空闲盘块的组织空闲盘块的组织 图图 8-11 8-11 空闲盘块的成组链接法空闲盘块的成组链接法 1004003993013001003002992022012991004003992013019907
26、999790179007899780179997901空闲盘块号栈S.free019899第六章 文件管理 2. 空闲盘块的分配与回收空闲盘块的分配与回收 当系统要为用户分配文件所需的盘块时,须调用盘块分配过程来完成。该过程首先检查空闲盘块号栈是否上锁,如未上锁,便从栈顶取出一空闲盘块号,将与之对应的盘块分配给用户,然后将栈顶指针移一格。若该盘块号已是栈底, 即S.free(0),这是当前栈中最后一个可分配的盘块号。由于在该盘块号所对应的盘块中记有下一组可用的盘块号,因此,须调用磁盘读过程,将栈底盘块号所对应盘块的内容读入栈中,作为新的盘块号栈的内容,并把原栈底对应的盘块分配出去。 然后,再分
27、配一相应的缓冲区(作为该盘块的缓冲区)。最后,把栈中的空闲盘块数减1并返回。 第六章 文件管理 在系统回收空闲盘块时,须调用盘块回收过程进行回收。它是将回收盘块的盘块号记入空闲盘块号栈的顶部,并执行空闲盘块数加1操作。当栈中空闲盘块号数目已达100时, 表示栈已满,便将现有栈中的100个盘块号, 记入新回收的盘块中,再将其盘块号作为新栈底。 第六章 文件管理 8.3 提高磁盘提高磁盘I/O速度的途径速度的途径 1. 1. 磁盘高速缓存的形式磁盘高速缓存的形式 是指利用是指利用内存中的存储空间内存中的存储空间,来暂存从磁盘中读出的一系,来暂存从磁盘中读出的一系列盘块中的信息。列盘块中的信息。因此
28、,这里的高速缓存是一组在逻辑上属于因此,这里的高速缓存是一组在逻辑上属于磁盘,磁盘, 而物理上是驻留在内存中的盘块而物理上是驻留在内存中的盘块。高速缓存在内存中可分成两种形式。高速缓存在内存中可分成两种形式。 第一种第一种是在内存中开辟一个单独的存储空间来作为磁盘高是在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固定的,不会受应用程序多少的影响;速缓存,其大小是固定的,不会受应用程序多少的影响; 第二种第二种是把所有未利用的内存空间变为一个缓冲池,供请是把所有未利用的内存空间变为一个缓冲池,供请求分页系统和磁盘求分页系统和磁盘I/OI/O时时( (作为磁盘高速缓存作为磁盘高速缓存)
29、 )共享。共享。8.3.1 8.3.1 磁盘高速缓存磁盘高速缓存 第六章 文件管理 2. 数据交付方式数据交付方式 数据交付数据交付:是指将磁盘高速缓存中的数据传送给请:是指将磁盘高速缓存中的数据传送给请求者进程。求者进程。系统可以采取两种方式,系统可以采取两种方式, 将数据交付给请求将数据交付给请求进程:进程: (1) (1) 数据交付数据交付。这是直接将高速缓存中的数据,。这是直接将高速缓存中的数据, 传传送到请求者进程的内存工作区中。送到请求者进程的内存工作区中。 (2) (2) 指针交付。指针交付。只将指向高速缓存中某区域的指针,只将指向高速缓存中某区域的指针, 交付给请求者进程。交付
30、给请求者进程。 后一种方式由于所传送的数据量少,因而节省了数后一种方式由于所传送的数据量少,因而节省了数据从磁盘高速缓存存储空间到进程的内存工作区的时间据从磁盘高速缓存存储空间到进程的内存工作区的时间 。第六章 文件管理 3. 置换算法置换算法 高速缓存满时,存在置换问题。较常用的置换算法仍高速缓存满时,存在置换问题。较常用的置换算法仍然是然是最近最久未使用算法最近最久未使用算法LRULRU、最近未使用算法、最近未使用算法NRUNRU及最少及最少使用算法使用算法LFULFU等等。 由于由于请求调页中的联想存储器与高速缓存请求调页中的联想存储器与高速缓存( (磁盘磁盘I/OI/O中中) )的工作
31、的工作情况不同情况不同,因而使得在置换算法中所应考虑的问题,因而使得在置换算法中所应考虑的问题也有所差异。因此,现在不少系统在设计其高速缓存的置也有所差异。因此,现在不少系统在设计其高速缓存的置换算法时,除了考虑到最近最久未使用这一原则外,换算法时,除了考虑到最近最久未使用这一原则外, 还考还考虑了以下几点:虑了以下几点: (1) (1) 访问频率。访问频率。 (2) (2) 可预见性。可预见性。 (3) (3) 数据的一致性。数据的一致性。 第六章 文件管理 基于上述考虑,在有的系统中便基于上述考虑,在有的系统中便将高速缓存中的所有盘将高速缓存中的所有盘块数据拉成一条块数据拉成一条LRULR
32、U链。链。 对于那些对于那些会严重影响到数据一致性的盘块数据放在会严重影响到数据一致性的盘块数据放在LRULRU链链的头部,的头部,使它们能被优先写回磁盘,以减少发生数据不一致使它们能被优先写回磁盘,以减少发生数据不一致性的概率。性的概率。 对于那些对于那些很久都可能不再使用的盘块数据,也放在很久都可能不再使用的盘块数据,也放在LRULRU链链的头部的头部,使它们能被优先写回磁盘,可以尽早地腾出高速缓,使它们能被优先写回磁盘,可以尽早地腾出高速缓存的空间。存的空间。 对于那些对于那些可能在不久之后便要再使用的盘块数据可能在不久之后便要再使用的盘块数据,应挂,应挂在在LRULRU链的链的尾部尾部
33、,以便在不久以后需要时,只要该数据块尚未,以便在不久以后需要时,只要该数据块尚未从链中移至链首而被写回磁盘,便可直接到高速缓存中从链中移至链首而被写回磁盘,便可直接到高速缓存中( (即即LRULRU链中链中) )去找到它们。去找到它们。 第六章 文件管理 4. 周期性地写回磁盘周期性地写回磁盘 为防止那些经常被访问且已经被修改的数据丢失:为防止那些经常被访问且已经被修改的数据丢失: 在在UNIXUNIX系统中:系统中:专门专门增设了一个修改增设了一个修改(update)(update)程序,程序, 使之在后台运行,该程序周期性地调用一个系统调用使之在后台运行,该程序周期性地调用一个系统调用SY
34、NCSYNC。 而在而在MS-DOSMS-DOS中中:只要高速缓存中的某盘块数据被修改,:只要高速缓存中的某盘块数据被修改,便立即将它写回磁盘,并将这种高速缓存称为便立即将它写回磁盘,并将这种高速缓存称为“写穿透、写穿透、高速缓存高速缓存”(write-through cache)”(write-through cache)。 优点:修改数据不会丢失优点:修改数据不会丢失 不足:频繁地启动磁盘不足:频繁地启动磁盘 第六章 文件管理 8.3.2 8.3.2 提高磁盘提高磁盘I/OI/O速度的其它方法速度的其它方法 为了减少磁盘为了减少磁盘I/OI/O的时间,除了在系统中设置磁盘高速缓存外,还的时
35、间,除了在系统中设置磁盘高速缓存外,还有下面几种方法,它们已被许多系统采用。有下面几种方法,它们已被许多系统采用。 1 1提前读提前读(Read-ahead)(Read-ahead)因为用户因为用户( (进程进程) )对文件进行访问时,经常采用顺序访问方式,在读对文件进行访问时,经常采用顺序访问方式,在读当前块时可以预知下一次要读的盘块。因此,可以采取预先读方式。当前块时可以预知下一次要读的盘块。因此,可以采取预先读方式。优点:减少启动优点:减少启动I/OI/O的次数,大大减少了读数据的时间。这也就等效于的次数,大大减少了读数据的时间。这也就等效于提高了磁盘提高了磁盘I/OI/O的速度。的速度
36、。 “ “提前读提前读”功能已被广泛采用,如在功能已被广泛采用,如在UNIXUNIX系统、系统、OS/2OS/2,以及在,以及在3 3 PlusPlus和和NetwareNetware等的网络等的网络OSOS中,都已采用该功能。中,都已采用该功能。 第六章 文件管理 2 2延迟写延迟写空闲缓冲区链第六章 文件管理 3 3优化物理块的分布优化物理块的分布另一种提高磁盘另一种提高磁盘I/OI/O速度的重要措施是速度的重要措施是优化文件物理块的优化文件物理块的分布,使磁头的移动距离最小分布,使磁头的移动距离最小。 离散组织方式(链接、索引),如果安排的过于分散,离散组织方式(链接、索引),如果安排的
37、过于分散,会增加磁头的移动距离。会增加磁头的移动距离。第六章 文件管理 4 4虚拟盘(虚拟盘(RAMRAM)所谓所谓虚拟盘虚拟盘,是指利用内存空间去仿真磁盘,又称为,是指利用内存空间去仿真磁盘,又称为RAMRAM盘。该盘的设备驱动程序也可以接受所有标准的磁盘操作,但盘。该盘的设备驱动程序也可以接受所有标准的磁盘操作,但这些操作的执行,不是在磁盘上而是在内存中这些操作的执行,不是在磁盘上而是在内存中。这些对用户都。这些对用户都是透明的。是透明的。 虚拟盘的虚拟盘的主要问题是主要问题是:它是易失性存储器,故一旦系统或:它是易失性存储器,故一旦系统或电源发生故障,或系统再启动时,原来保存在虚拟盘中的
38、数据电源发生故障,或系统再启动时,原来保存在虚拟盘中的数据将会丢失。因此,虚拟盘通常用于存放临时文件,如编译程序将会丢失。因此,虚拟盘通常用于存放临时文件,如编译程序所产生的目标程序等。所产生的目标程序等。 虚拟盘与磁盘高速缓存的主要区别在于虚拟盘与磁盘高速缓存的主要区别在于: : 虚拟盘中的内容虚拟盘中的内容完全由完全由用户控制用户控制,而高速磁盘缓存中的内容则是,而高速磁盘缓存中的内容则是由由OSOS控制的控制的。第六章 文件管理 8.3.38.3.3廉价磁盘冗余阵列(廉价磁盘冗余阵列(RAIDRAID) 它是利用一台磁盘阵列控制器,来统一管理和控制一组它是利用一台磁盘阵列控制器,来统一管
39、理和控制一组(几台到几十台)磁盘驱动器,组成一个高度可靠的、快速(几台到几十台)磁盘驱动器,组成一个高度可靠的、快速的大容量磁盘系统。数据的存取方式如下:的大容量磁盘系统。数据的存取方式如下:1 1并行交叉存取并行交叉存取系统将每一盘块中的数据分为若干个子盘块数据,再把每系统将每一盘块中的数据分为若干个子盘块数据,再把每一个子盘块的数据分别存储到各个不同磁盘中的相同位置上。一个子盘块的数据分别存储到各个不同磁盘中的相同位置上。123N第六章 文件管理 2 2RAIDRAID的分级的分级RAIDRAID被分为不同的等级,功能依次增强。被分为不同的等级,功能依次增强。在刚被推出时,在刚被推出时,是
40、分成是分成6 6级的,即级的,即RAID 0RAID 0级至级至RAID 5RAID 5级,后来又增加了级,后来又增加了RAID 6RAID 6级和级和RAID 7RAID 7级。级。(1) RAID 0(1) RAID 0级。级。本级本级仅提供了并行交叉存取仅提供了并行交叉存取。它虽能有效。它虽能有效地提高磁盘地提高磁盘I/OI/O速度,但并速度,但并无冗余校验功能无冗余校验功能,致使磁盘,致使磁盘系统的系统的可靠性不好可靠性不好。 (2) RAID 1级。级。它具有它具有磁盘镜像功能磁盘镜像功能,故其比传统的镜像,故其比传统的镜像盘速度快,但其磁盘容量的盘速度快,但其磁盘容量的利用率只有利
41、用率只有50%,它是以牺牲磁,它是以牺牲磁盘容量为代价的。盘容量为代价的。第六章 文件管理 (3 3)RAID RAID 2级。级。一般不用,与一般不用,与RAID 3级相似,数据按级相似,数据按位或位或字节字节拆分到各驱动器上。拆分到各驱动器上。(4 4)RAID 3RAID 3级。级。具有具有并行传输功能并行传输功能的磁盘阵列。它利用的磁盘阵列。它利用一台一台奇偶校验盘奇偶校验盘。(5) RAID 4级。级。数据按数据按扇区扇区拆分到各个驱动器上,是一种拆分到各个驱动器上,是一种具有独立传送功能的磁盘阵列具有独立传送功能的磁盘阵列。每个驱动器都各有自己独立。每个驱动器都各有自己独立的数据通
42、路,独立地进行读的数据通路,独立地进行读/写,用写,用一台奇偶校验盘一台奇偶校验盘。(6)RAID 5级。级。与与RAID组是方式类似,无专门的校验盘。组是方式类似,无专门的校验盘。用来进行纠错的校验信息,是以螺旋用来进行纠错的校验信息,是以螺旋(Spiral)方式散布在所有方式散布在所有数据盘上数据盘上。第六章 文件管理 (7 7)RAID 6RAID 6级和级和RAID 7RAID 7级。级。这这是强化了的是强化了的RAIDRAID。在在RAID 6RAID 6级的阵列中,设置了一个专用的、可快速访问的异步校验盘。级的阵列中,设置了一个专用的、可快速访问的异步校验盘。RAID 7RAID
43、7级是对级是对RAID 6RAID 6级的改进,在该阵列中的所有磁盘,都级的改进,在该阵列中的所有磁盘,都具有具有较高的传输速率和优异的性能,是目前最高档次的磁盘较高的传输速率和优异的性能,是目前最高档次的磁盘阵列,但其价格也较高。阵列,但其价格也较高。 3 3RAIDRAID的优点的优点(1) (1) 可靠性高。可靠性高。 (2) 磁盘磁盘I/O速度高。速度高。 (3) 性能性能/价格比高。价格比高。第六章 文件管理 8.4 提高磁盘可靠性的技术提高磁盘可靠性的技术影响文件安全性的主要因素:影响文件安全性的主要因素: (1) (1) 人为因素人为因素:通过:通过存取控制机制存取控制机制来防止
44、由人为因素来防止由人为因素所造成的文件不安全性。所造成的文件不安全性。 (2) (2) 系统因素系统因素:通过:通过磁盘容错技术磁盘容错技术,来防止由磁盘部,来防止由磁盘部分的故障所造成的文件不安全性。分的故障所造成的文件不安全性。 (3) (3) 自然因素自然因素: 通过通过“后备系统后备系统”来防止由自然因素来防止由自然因素( (随着时间的推移磁盘上的数据可能发生溢出或逐渐消失)随着时间的推移磁盘上的数据可能发生溢出或逐渐消失)所造成的不安全性。所造成的不安全性。 本小节讨论磁盘容错技术。本小节讨论磁盘容错技术。第六章 文件管理 容错技术:容错技术:是通过在系统中设置冗余部件的是通过在系统
45、中设置冗余部件的方法,来提高系统可靠性的一种技术。方法,来提高系统可靠性的一种技术。 磁盘容错技术(系统容错技术磁盘容错技术(系统容错技术SFTSFT):):则是则是通过增加通过增加冗余的磁盘驱动器冗余的磁盘驱动器、磁盘控制器磁盘控制器等方法,等方法,来提高磁盘系统可靠性的一种技术。具体可分以来提高磁盘系统可靠性的一种技术。具体可分以下三个级别:下三个级别:第六章 文件管理 8.4.1 8.4.1 第一级容错技术第一级容错技术SFT-SFT-主要用于防止因主要用于防止因磁盘表面缺陷磁盘表面缺陷所造成的数据丢失。所造成的数据丢失。 采取的措施:采取的措施: 1.1.双份目录和双份文件分配表双份目
46、录和双份文件分配表 2. 热修复重定向和写后读校验热修复重定向和写后读校验 (1) (1) 热修复重定向热修复重定向(Hot-Redirection)(Hot-Redirection)。 在磁盘中划出一部分作为热修复重定向区,存放坏在磁盘中划出一部分作为热修复重定向区,存放坏磁道的待写数据。磁道的待写数据。(2) (2) 写后读校验写后读校验(Read after write Verification)(Read after write Verification)方式。方式。 第六章 文件管理 8.4.2 8.4.2 第二级容错技术第二级容错技术SFT-SFT-为了为了防止磁盘驱动器发生故障防
47、止磁盘驱动器发生故障而造成的数据丢失。而造成的数据丢失。 采取的措施:采取的措施:1.1.磁盘镜像磁盘镜像(Disk Mirroring)(Disk Mirroring) 磁盘控制器主机通道磁盘驱动器图图 8-13 8-13 磁盘镜像示意磁盘镜像示意 增设一个完全相同的磁盘驱动器(磁盘)。增设一个完全相同的磁盘驱动器(磁盘)。 优点优点:磁盘驱动器发生故障时切换,仍能正常工作。:磁盘驱动器发生故障时切换,仍能正常工作。 缺点缺点:磁盘的利用率为:磁盘的利用率为5050。第六章 文件管理 2. 磁盘双工磁盘双工(Disk Duplexing) 图图 8-14 磁盘双工示意磁盘双工示意 主机磁盘控
48、制器磁盘控制器通道通道磁盘驱动器 为防止为防止磁盘控制器磁盘控制器/ /通道通道发生故障,将两台磁盘驱动发生故障,将两台磁盘驱动器分别接两个磁盘控制器器分别接两个磁盘控制器/ /通道。通道。第六章 文件管理 自看3. 基于集群技术的容错功能基于集群技术的容错功能第六章 文件管理 8.5 数据一致性控制数据一致性控制 8.5.1 事务事务 1. 事务的定义事务的定义 事务事务是用于访问和修改各种数据项的一个程序单位。是用于访问和修改各种数据项的一个程序单位。 事事务也可以被看作是一系列相关读和写操作。务也可以被看作是一系列相关读和写操作。 数据一致性数据一致性问题是指,保存在多个文件中的同一数据
49、,在任何情况下都必需能保证相同。 如:某种商品的进价有错时,必须同时修改流水账、付费账、分类账及总账等一系列文件中的该商品价格。 第六章 文件管理 事务的特性事务的特性(1 1)原子性。要么全部完成,要么一个都不改。)原子性。要么全部完成,要么一个都不改。 (2 2)一致性。事务完成时,必须使所有的数据都保持)一致性。事务完成时,必须使所有的数据都保持一致状态。一致状态。 (3 3)隔离性。一个事务对数据所做的修改,必须与任)隔离性。一个事务对数据所做的修改,必须与任何其他与之并发的事务相隔离。何其他与之并发的事务相隔离。 (4 4)持久性。事务完成之后,它对系统的影响是永久)持久性。事务完成
50、之后,它对系统的影响是永久性的。性的。第六章 文件管理 2. 事务记录事务记录(Transaction Record) 概念:概念:用来记录在事务运行时数据项修改的全部信息,故用来记录在事务运行时数据项修改的全部信息,故又称为又称为“运行记录运行记录”(LogLog)。)。该记录包括以下字段:该记录包括以下字段: 事务名事务名: 用于标识该事务的惟一名字;用于标识该事务的惟一名字; 数据项名数据项名: 它是被修改数据项的惟一名字;它是被修改数据项的惟一名字; 旧值旧值: 修改前数据项的值;修改前数据项的值; 新值新值: 修改后数据项将具有的值。修改后数据项将具有的值。 如果系统发生故障时,系统
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。