好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第8章-磁盘存储器的管理课件.ppt

64页
  • 卖家[上传人]:鲁**
  • 文档编号:591533665
  • 上传时间:2024-09-18
  • 文档格式:PPT
  • 文档大小:1.45MB
  • / 64 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第六章 文件管理 第八章第八章 磁盘存储器的管理磁盘存储器的管理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.连续组织方式:连续组织方式:为每一个文件分配一组相邻接的盘为每一个文件分配一组相邻接的盘块,通常位于一条磁道上,读块,通常位于一条磁道上,读/写时不必移动磁头写时不必移动磁头8.1.1 连续组织(分配)方式连续组织(分配)方式 顺序文件顺序文件 第六章 文件管理 图图 8-18-1磁盘空间的连续分配磁盘空间的连续分配 第六章 文件管理 2. 连续分配的主要优缺点连续分配的主要优缺点 主要主要优点优点:: (1)(1)简单简单, ,顺序访问容易,且支持顺序存取和随机存取顺序访问容易,且支持顺序存取和随机存取 (2)(2)顺序存取速度快,所需的磁盘寻道次数和寻道时间最少。

      顺序存取速度快,所需的磁盘寻道次数和寻道时间最少主要主要缺点缺点:: ((1 1)要求有连续的存储空间磁盘被无数次的划分后易形成外存)要求有连续的存储空间磁盘被无数次的划分后易形成外存的的碎片碎片,同样可用,同样可用““紧凑紧凑””的方法解决但花费大量机器时间的方法解决但花费大量机器时间 ((2 2)必须事先知道文件的长度必须事先知道文件的长度 ((3 3)不能灵活地删除和插入记录不能灵活地删除和插入记录 ((4 4)对于那些动态增长的文件,很难知道文件的最终大小,很难)对于那些动态增长的文件,很难知道文件的最终大小,很难为其分配空间;即使能知道最终大小,预分配会造成大量空间为其分配空间;即使能知道最终大小,预分配会造成大量空间的长期闲置的长期闲置 第六章 文件管理 •概念概念: : 一个文件的信息存放在若干不连续的物理块中,各块一个文件的信息存放在若干不连续的物理块中,各块之间通过指针连接,前一个物理块指向下一个物理块之间通过指针连接,前一个物理块指向下一个物理块 分类:分类:隐式链接、显示链接隐式链接、显示链接。

      8.1.2 链接组织(分配)方式链接组织(分配)方式1. 隐式链接隐式链接 采用隐式链接组织方式时,在文件目录的每个目录采用隐式链接组织方式时,在文件目录的每个目录项中,都须含有指向链接文件项中,都须含有指向链接文件第一个盘块第一个盘块和和最后一个盘最后一个盘块的指针块的指针 第六章 文件管理 图图 8-2 8-2 磁盘空间的链接式分配磁盘空间的链接式分配 文件 第六章 文件管理 •缺点:缺点:–只适合顺序访问只适合顺序访问–随机访问效率极低,比如要访问文件的第随机访问效率极低,比如要访问文件的第100个盘块,则需要启动磁盘个盘块,则需要启动磁盘100次,每次需次,每次需要几十要几十ms•解决方法:以簇为单位,假设一个簇包含解决方法:以簇为单位,假设一个簇包含4个块,个块,这样访问文件的第这样访问文件的第100个盘块,则需启动个盘块,则需启动25次磁次磁盘,查找时间成倍减少;但增加了内部碎片盘,查找时间成倍减少;但增加了内部碎片 第六章 文件管理 2. 显式链接显式链接 图图 8-3 8-3 显式链接结构显式链接结构 (文件分配表)(文件分配表) 文件分配表文件分配表FAT——FAT——该表在整个磁盘仅设一张。

      把用于链接文件各物该表在整个磁盘仅设一张把用于链接文件各物理块的指针理块的指针显式显式地存放在内存的地存放在内存的FATFAT表表中 第六章 文件管理 MS-DOS的文件物理结构1011 第六章 文件管理 •优点优点: : ((1 1)采取离散分配方式,消除了)采取离散分配方式,消除了外部碎片外部碎片问题,提高了问题,提高了磁盘空间利用率;磁盘空间利用率; ((2 2)有)有利于文件动态增长利于文件动态增长,无须事先知道文件的大小无须事先知道文件的大小对文件的对文件的插入和删除也十分方便插入和删除也十分方便; ;•缺点缺点:(:(1 1)存取速度慢,不适于随机存取(直接存取))存取速度慢,不适于随机存取(直接存取); ; ((2 2)可靠性问题,如指针出错)可靠性问题,如指针出错; ; ((3 3)更多的寻道次数和寻道时间)更多的寻道次数和寻道时间; ; ((4 4)链接指针占用一定的空间(隐式链接))链接指针占用一定的空间(隐式链接); ; ((5 5))FATFAT需占用较大的内存空间(显式链接);需占用较大的内存空间(显式链接);3.链接组织方式优缺点链接组织方式优缺点 第六章 文件管理 8.1.3 FAT技术 微软公司早、中期的操作系统采用微软公司早、中期的操作系统采用FATFAT技术,主要有技术,主要有1212位的位的FATFAT、、1616位的位的FATFAT、、3232位的位的FATFAT。

      引入引入“卷卷”的概念,的概念,一个卷即一个分区一个卷即一个分区,最多可以有四个,最多可以有四个卷,每卷划出单独区域存放自己的目录、卷,每卷划出单独区域存放自己的目录、FATFAT表、逻辑驱动表、逻辑驱动器字母 现代操作系统中,一个物理磁盘可以有多个卷,一个卷现代操作系统中,一个物理磁盘可以有多个卷,一个卷也可以由多个物理磁盘组成也可以由多个物理磁盘组成 第六章 文件管理   1.  FAT12   1) 早期的FAT12文件系统   FAT12是以盘块为基本分配单位的由于FAT是文件系统中最重要的数据结构,为了安全起见,在每个分区中都配有两张相同的文件分配表FAT1和FAT2在FAT的每个表项中存放下一个盘块号,它实际上是用于盘块之间的链接的指针,通过它可以将一个文件的所有的盘块链接起来,而将文件的第一个盘块号放在自己的FCB中 第六章 文件管理 图8-4 MS-DOS的文件物理结构 第六章 文件管理   2) 以簇为单位的FAT12文件系统   如果把每个盘块(扇区)的容量增大n倍,则磁盘的最大容量便可增加n倍但要增加盘块的容量是不方便和不灵活的为此,引入了簇(cluster)的概念。

      优点:能适应磁盘容量不断增大的情况,还可以减少FAT表中的项数,减少FAT所占的内存空间 缺点:增加了簇内的碎片 第六章 文件管理   2.  FAT16    FAT12表中的表项最多只允许4096个这样,随着磁盘容量的增加,必定会引起簇的大小和簇内碎片也随之增加   3.  FAT32  由于FAT16表的长度只有65535项,随着磁盘容量的增加,簇的大小也必然会随之增加,为了减少簇内零头,也就应当增加FAT表的长度,这样也就由FAT16演变为FAT32 第六章 文件管理 第六章 文件管理 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是以簇作为磁盘空间分配和回收的基本单位的。

      一个文件占用若干个簇,一个簇只属于一个文件这样,在为文件分配磁盘空间时,就无须知道盘块的大小,只要根据不同的磁盘容量,选择相应大小的簇,即:使NTFS具有了与磁盘物理块大小无关的独立性 第六章 文件管理   3. 文件的组织  在NTFS中,以卷为单位,将一个卷中的所有文件信息、目录信息以及可用的未分配空间信息,都以文件记录的方式记录在一张主控文件表MFT(Master File Table)中,该表是NTFS卷结构的中心,从逻辑上讲,卷中的每个文件作为一条记录,在MFT表中占有一行,其中还包括MFT自己的这一行每行大小固定为1KB,每行称为该行所对应文件的元数据(metadata),也称为文件控制字 第六章 文件管理 8.1.5 索引分配索引分配 问问题题的的引引入入::链链接接分分配配方方式式虽虽然然解解决决了了连连续续分分配配方方式式所存在的问题,但又所存在的问题,但又出现了另外两个问题出现了另外两个问题,, 即:即: (1) (1) 不能支持高效的直接(随机)存取不能支持高效的直接(随机)存取 (2) FAT(2) FAT需占用较大的内存空间需占用较大的内存空间。

      解决方法:解决方法:在打开某个文件时,只需把该文件占用的在打开某个文件时,只需把该文件占用的盘块号调入内存即可,没必要将整个盘块号调入内存即可,没必要将整个FATFAT调入内存为此,调入内存为此,应将每个文件所对应的盘块号集中地放在一起应将每个文件所对应的盘块号集中地放在一起————索引索引分配方法分配方法 第六章 文件管理 1.1.单级索引组织方式单级索引组织方式 一个文件的信息存放在若干不连续物理块中,系统一个文件的信息存放在若干不连续物理块中,系统为每为每个文件个文件建立一个专用数据结构建立一个专用数据结构----索引表索引表,并将这些块的块号存,并将这些块的块号存放在该索引表中放在该索引表中 第六章 文件管理 索引结构优缺点:索引结构优缺点:•优点:优点: 支持随机存取,满足了文件动态增长、插入删支持随机存取,满足了文件动态增长、插入删除的要求,不会产生外部碎片除的要求,不会产生外部碎片•缺点:缺点: 索引表本身带来了系统开销且索引块空间利用索引表本身带来了系统开销且索引块空间利用率低,不适合于小文件。

      率低,不适合于小文件 第六章 文件管理 多级索引多级索引: :将一个将一个大文件的所有索引表大文件的所有索引表(二级索引(二级索引) )的地址放的地址放在另一个索引表(一在另一个索引表(一级索引级索引) )中如:盘块大小如:盘块大小1KB1KB,每,每个盘块号占个盘块号占4B4B,单级,单级索引允许的最大文件索引允许的最大文件长度为:长度为:256*1KB=256KB256*1KB=256KB二级索引允许的最大二级索引允许的最大文件长度为:文件长度为:256*256KB=64MB256*256KB=64MB2. 多级索引组织方式多级索引组织方式 第六章 文件管理 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时,时, 要利用索引结点中的地址项要利用索引结点中的地址项i.addr(10)来提供一次间接地址假如在一次间址块中可存来提供一次间接地址假如在一次间址块中可存放放1K个盘块号,个盘块号, 因而允许文件长达因而允许文件长达4 MB+40KB ((3)多次间接地址多次间接地址 当文件长度更大时,当文件长度更大时, 需采用二次间址分配方式用地需采用二次间址分配方式用地址项址项i.addr(11)提供二次间接地址文件最大长度可达提供二次间接地址文件最大长度可达4 GB+ 4 MB+40KB 同理,同理, 采用地址项采用地址项i.addr(12)作为三作为三次间接地址,次间接地址, 其所允许的文件最大长度可达其所允许的文件最大长度可达4 TB +4 GB+ 4 MB+40KB 第六章 文件管理 8.2 文件存储空间的管理文件存储空间的管理 1. 1. 空闲表法(空白文件目录)空闲表法(空白文件目录)————连续分配方式连续分配方式 将所有空闲块记录在一个表中,即空闲块表。

      将所有空闲块记录在一个表中,即空闲块表2. 2. 空闲链表法空闲链表法 把所有空闲块链成一个链把所有空闲块链成一个链3. 3. 位示图法位示图法 用一串二进制位反映磁盘空间中分配使用情况用一串二进制位反映磁盘空间中分配使用情况, , 每每个物理块对应一位个物理块对应一位, , 分配物理块为分配物理块为1 1,否则为,否则为0 04. 4. 成组链接法成组链接法 空闲盘块分成若干组,然后将其链成一个链,利用空闲盘块分成若干组,然后将其链成一个链,利用空闲盘块号栈实现分配和回收空闲盘块号栈实现分配和回收 第六章 文件管理 1. 1. 空闲表法空闲表法 概概念念::属属于于连连续续分分配配方方式式一一个个连连续续的的未未分分配配区区域域称称为为空闲区,将系统中所有空闲区的情况用一个表格记录如:空闲区,将系统中所有空闲区的情况用一个表格记录如:8.2.1 空闲表法和空闲链表法空闲表法和空闲链表法 第六章 文件管理 存存储储空空间间的的分分配配::空空闲闲盘盘区区的的分分配配与与内内存存的的动动态态分分配配类类似似,,同样是采用同样是采用首次适应算法、循环首次适应算法首次适应算法、循环首次适应算法等。

      等 存存储储空空间间的的回回收收::当当用用户户撤撤消消一一个个文文件件时时,,系系统统回回收收该该文文件所占用的空间件所占用的空间类似于内存回收的方法类似于内存回收的方法 优点:优点:分配速度高、可减少访问磁盘的分配速度高、可减少访问磁盘的I/OI/O频率 应用:应用:对换空间、文件较小时、多媒体文件对换空间、文件较小时、多媒体文件 第六章 文件管理 2. 空闲链表法空闲链表法 ((1 1)空闲盘块链)空闲盘块链::把其中所有的把其中所有的““空闲盘块空闲盘块” ” 链在一起链在一起 优点优点:分配:分配/ /回收一个盘块时简单回收一个盘块时简单 缺点缺点:为一个文件分配盘块时,可能要重复操作多次为一个文件分配盘块时,可能要重复操作多次2 2))空空闲闲盘盘区区链链::把把所所有有的的““空空闲闲区区””((每每个个空空闲闲区区包包含含多个空闲块)多个空闲块) 拉成一条链拉成一条链 盘盘区区分分配配/ /回回收收方方法法与与内内存存的的动动态态分分区区分分配配类类似似常常采采用用首首次次适适应应算算法法,,为为提提高高检检索索速速度度,,可可用用显显示示链链接接方方法,即在内存中建一张链接表。

      回收时相邻的合并法,即在内存中建一张链接表回收时相邻的合并 第六章 文件管理 8.2.2 位示图法位示图法 1. 位示图位示图 (P261) 图图 8-10 8-10 位示图位示图 位示图,通常可用位示图,通常可用m*nm*n个位数个位数构成,并使构成,并使m*nm*n等于磁盘的总块数等于磁盘的总块数用用一串一串二进制位二进制位反映磁盘空间反映磁盘空间的分配使用情况的分配使用情况, , 每个物理块对应一位每个物理块对应一位, , “1”“1”表示对应的表示对应的物理物理块已分配,块已分配,““0”0”表示其对应的块未分配表示其对应的块未分配 第六章 文件管理 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代表每行的位数。

      代表每行的位数 (3) (3) 修改位示图,修改位示图, 令令mapmap[[i,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)易找到一个或一组相邻接的空闲盘块(只需在位示易找到一个或一组相邻接的空闲盘块(只需在位示图中找出几个连续为图中找出几个连续为0 0的位即可)的位即可) (2)(2)位示图小、占用空间少,因而可保存在内存中节位示图小、占用空间少,因而可保存在内存中节省了许多磁盘启动操作此法常用于微型机和小型机中省了许多磁盘启动操作此法常用于微型机和小型机中。

      第六章 文件管理 8.2.3 成组链接法成组链接法 (自看)(自看)1. 空闲盘块的组织空闲盘块的组织 图图 8 8- -1 11 1 空空闲闲盘盘块块的的成成组组链链接接法法 第六章 文件管理 2. 空闲盘块的分配与回收空闲盘块的分配与回收 当系统要为用户分配文件所需的盘块时,须调用盘块分配过程来完成该过程首先检查空闲盘块号栈是否上锁,如未上锁,便从栈顶取出一空闲盘块号,将与之对应的盘块分配给用户,然后将栈顶指针移一格若该盘块号已是栈底, 即S.free(0),这是当前栈中最后一个可分配的盘块号由于在该盘块号所对应的盘块中记有下一组可用的盘块号,因此,须调用磁盘读过程,将栈底盘块号所对应盘块的内容读入栈中,作为新的盘块号栈的内容,并把原栈底对应的盘块分配出去 然后,再分配一相应的缓冲区(作为该盘块的缓冲区)最后,把栈中的空闲盘块数减1并返回 第六章 文件管理 在系统回收空闲盘块时,须调用盘块回收过程进行回收它是将回收盘块的盘块号记入空闲盘块号栈的顶部,并执行空闲盘块数加1操作当栈中空闲盘块号数目已达100时, 表示栈已满,便将现有栈中的100个盘块号, 记入新回收的盘块中,再将其盘块号作为新栈底。

      第六章 文件管理 8.3 提高磁盘提高磁盘I/O速度的途径速度的途径 1. 1. 磁盘高速缓存的形式磁盘高速缓存的形式 是是指指利利用用内内存存中中的的存存储储空空间间,,来来暂暂存存从从磁磁盘盘中中读读出出的的一一系系列列盘盘块块中中的的信信息息因因此此,,这这里里的的高高速速缓缓存存是是一一组组在在逻逻辑辑上上属属于于磁盘,磁盘, 而物理上是驻留在内存中的盘块而物理上是驻留在内存中的盘块高速缓存在内存中可分成两种形式高速缓存在内存中可分成两种形式 第第一一种种是是在在内内存存中中开开辟辟一一个个单单独独的的存存储储空空间间来来作作为为磁磁盘盘高高速缓存,其大小是固定的,不会受应用程序多少的影响;速缓存,其大小是固定的,不会受应用程序多少的影响; 第第二二种种是是把把所所有有未未利利用用的的内内存存空空间间变变为为一一个个缓缓冲冲池池,,供供请请求分页系统和磁盘求分页系统和磁盘I/OI/O时时( (作为磁盘高速缓存作为磁盘高速缓存) )共享8.3.1 8.3.1 磁盘高速缓存磁盘高速缓存 第六章 文件管理 2. 数据交付方式数据交付方式 数数据据交交付付::是是指指将将磁磁盘盘高高速速缓缓存存中中的的数数据据传传送送给给请请求求者者进进程程。

      系系统统可可以以采采取取两两种种方方式式,, 将将数数据据交交付付给给请请求求进程:进程: (1) (1) 数数据据交交付付这这是是直直接接将将高高速速缓缓存存中中的的数数据据,, 传传送到请求者进程的内存工作区中送到请求者进程的内存工作区中 (2) (2) 指指针针交交付付只只将将指指向向高高速速缓缓存存中中某某区区域域的的指指针针,, 交付给请求者进程交付给请求者进程 后后一一种种方方式式由由于于所所传传送送的的数数据据量量少少,,因因而而节节省省了了数数据据从从磁磁盘盘高高速速缓缓存存存存储储空空间间到到进进程程的的内内存存工工作作区区的的时时间间 第六章 文件管理 3. 置换算法置换算法 高高速速缓缓存存满满时时,,存存在在置置换换问问题题较较常常用用的的置置换换算算法法仍仍然然是是最最近近最最久久未未使使用用算算法法LRULRU、、最最近近未未使使用用算算法法NRUNRU及及最最少少使用算法使用算法LFULFU等等 由由于于请请求求调调页页中中的的联联想想存存储储器器与与高高速速缓缓存存( (磁磁盘盘I/OI/O中中) )的的工工作作情情况况不不同同,,因因而而使使得得在在置置换换算算法法中中所所应应考考虑虑的的问问题题也也有有所所差差异异。

      因因此此,,现现在在不不少少系系统统在在设设计计其其高高速速缓缓存存的的置置换换算算法法时时,,除除了了考考虑虑到到最最近近最最久久未未使使用用这这一一原原则则外外,, 还还考考虑了以下几点:虑了以下几点: (1) (1) 访问频率访问频率 (2) (2) 可预见性可预见性 (3) (3) 数据的一致性数据的一致性 第六章 文件管理   基于上述考虑,在有的系统中便  基于上述考虑,在有的系统中便将高速缓存中的所有盘将高速缓存中的所有盘块数据拉成一条块数据拉成一条LRULRU链 对于那些对于那些会严重影响到数据一致性的盘块数据放在会严重影响到数据一致性的盘块数据放在LRULRU链链的头部,的头部,使它们能被优先写回磁盘,以减少发生数据不一致使它们能被优先写回磁盘,以减少发生数据不一致性的概率性的概率 对于那些对于那些很久都可能不再使用的盘块数据,也放在很久都可能不再使用的盘块数据,也放在LRULRU链链的头部的头部,使它们能被优先写回磁盘,可以尽早地腾出高速缓,使它们能被优先写回磁盘,可以尽早地腾出高速缓存的空间存的空间 对于那些对于那些可能在不久之后便要再使用的盘块数据可能在不久之后便要再使用的盘块数据,应挂,应挂在在LRULRU链的链的尾部尾部,以便在不久以后需要时,只要该数据块尚未,以便在不久以后需要时,只要该数据块尚未从链中移至链首而被写回磁盘,便可直接到高速缓存中从链中移至链首而被写回磁盘,便可直接到高速缓存中( (即即LRULRU链中链中) )去找到它们。

      去找到它们 第六章 文件管理 4. 周期性地写回磁盘周期性地写回磁盘 为防止那些经常被访问且已经被修改的数据丢失:为防止那些经常被访问且已经被修改的数据丢失: 在在UNIXUNIX系系统统中中::专专门门增增设设了了一一个个修修改改(update)(update)程程序序,, 使之在后台运行,该程序周期性地调用一个系统调用使之在后台运行,该程序周期性地调用一个系统调用SYNCSYNC 而而在在MS-DOSMS-DOS中中::只只要要高高速速缓缓存存中中的的某某盘盘块块数数据据被被修修改改,,便便立立即即将将它它写写回回磁磁盘盘,,并并将将这这种种高高速速缓缓存存称称为为““写写穿穿透透、、高速缓存高速缓存”(write-through cache)”(write-through cache) 优点:修改数据不会丢失优点:修改数据不会丢失 不足:频繁地启动磁盘不足:频繁地启动磁盘 第六章 文件管理 8.3.2 8.3.2 提高磁盘提高磁盘I/OI/O速度的其它方法速度的其它方法 为了减少磁盘为了减少磁盘I/OI/O的时间,除了在系统中设置磁盘高速缓存外,还有的时间,除了在系统中设置磁盘高速缓存外,还有下面几种方法,它们已被许多系统采用。

      下面几种方法,它们已被许多系统采用 1 1.提前读.提前读(Read-ahead)(Read-ahead)  因为用户  因为用户( (进程进程) )对文件进行访问时,经常采用顺序访问方式,在读对文件进行访问时,经常采用顺序访问方式,在读当前块时可以预知下一次要读的盘块因此,可以采取预先读方式当前块时可以预知下一次要读的盘块因此,可以采取预先读方式优点:减少启动优点:减少启动I/OI/O的次数,大大减少了读数据的时间这也就等效于提的次数,大大减少了读数据的时间这也就等效于提高了磁盘高了磁盘I/OI/O的速度 “ “提前读提前读””功能已被广泛采用,如在功能已被广泛采用,如在UNIXUNIX系统、系统、OS/2OS/2,以及在,以及在3 Plus3 Plus和和NetwareNetware等的网络等的网络OSOS中,都已采用该功能中,都已采用该功能 第六章 文件管理     2 2.延迟写.延迟写空闲缓冲区链 第六章 文件管理     3 3.优化物理块的分布.优化物理块的分布  另一种提高磁盘  另一种提高磁盘I/OI/O速度的重要措施是速度的重要措施是优化文件物理块的优化文件物理块的分布,使磁头的移动距离最小分布,使磁头的移动距离最小。

      离散组织方式(链接、索引),如果安排的过于分散,离散组织方式(链接、索引),如果安排的过于分散,会增加磁头的移动距离会增加磁头的移动距离 第六章 文件管理   4 4.虚拟盘(.虚拟盘(RAMRAM))  所谓  所谓虚拟盘虚拟盘,是指利用内存空间去仿真磁盘,又称为,是指利用内存空间去仿真磁盘,又称为RAMRAM盘该盘的设备驱动程序也可以接受所有标准的磁盘操作,但盘该盘的设备驱动程序也可以接受所有标准的磁盘操作,但这些操作的执行,不是在磁盘上而是在内存中这些操作的执行,不是在磁盘上而是在内存中这些对用户都这些对用户都是透明的是透明的 虚拟盘的虚拟盘的主要问题是主要问题是:它是易失性存储器,故一旦系统或:它是易失性存储器,故一旦系统或电源发生故障,或系统再启动时,原来保存在虚拟盘中的数据电源发生故障,或系统再启动时,原来保存在虚拟盘中的数据将会丢失因此,虚拟盘通常用于存放临时文件,如编译程序将会丢失因此,虚拟盘通常用于存放临时文件,如编译程序所产生的目标程序等所产生的目标程序等 虚拟盘与磁盘高速缓存的主要区别在于虚拟盘与磁盘高速缓存的主要区别在于: : 虚拟盘中的内容虚拟盘中的内容完全由完全由用户控制用户控制,而高速磁盘缓存中的内容则是,而高速磁盘缓存中的内容则是由由OSOS控制的控制的。

      第六章 文件管理 8.3.38.3.3 廉价磁盘冗余阵列( 廉价磁盘冗余阵列(RAIDRAID))   它它是是利利用用一一台台磁磁盘盘阵阵列列控控制制器器,,来来统统一一管管理理和和控控制制一一组组((几几台台到到几几十十台台))磁磁盘盘驱驱动动器器,,组组成成一一个个高高度度可可靠靠的的、、快快速速的大容量磁盘系统数据的存取方式如下:的大容量磁盘系统数据的存取方式如下:  1 1.并行交叉存取.并行交叉存取  系统将每一盘块中的数据分为若干个子盘块数据,再把每系统将每一盘块中的数据分为若干个子盘块数据,再把每一个子盘块的数据分别存储到各个不同磁盘中的相同位置上一个子盘块的数据分别存储到各个不同磁盘中的相同位置上 第六章 文件管理     2 2..RAIDRAID的分级的分级    RAIDRAID被被分分为为不不同同的的等等级级,,功功能能依依次次增增强强在在刚刚被被推推出出时时,,是是分分成成6 6级级的的,,即即RAID RAID 0 0级级至至RAID RAID 5 5级级,,后后来来又又增增加加了了RAID RAID 6 6级和级和RAID 7RAID 7级  (1) RAID 0(1) RAID 0级。

      级本级本级仅提供了并行交叉存取仅提供了并行交叉存取它虽能有效它虽能有效地提高磁盘地提高磁盘I/OI/O速度,但并速度,但并无冗余校验功能无冗余校验功能,致使磁盘,致使磁盘系统的系统的可靠性不好可靠性不好   (2) RAID 1级它具有它具有磁盘镜像功能磁盘镜像功能,故其比传统的镜像,故其比传统的镜像盘速度快,但其磁盘容量的盘速度快,但其磁盘容量的利用率只有利用率只有50%,它是以牺牲磁,它是以牺牲磁盘容量为代价的盘容量为代价的 第六章 文件管理 ((3 3))RAID RAID 2级级一一般般不不用用,,与与RAID 3级级相相似似,,数数据据按按位位或或字字节节拆分到各驱动器上拆分到各驱动器上4 4))RAID RAID 3 3级级具具有有并并行行传传输输功功能能的的磁磁盘盘阵阵列列它它利利用用一一台台奇偶校验盘奇偶校验盘5)) RAID 4级级数数据据按按扇扇区区拆拆分分到到各各个个驱驱动动器器上上,,是是一一种种具具有有独独立立传传送送功功能能的的磁磁盘盘阵阵列列每每个个驱驱动动器器都都各各有有自自己己独独立立的数据通路,独立地进行读的数据通路,独立地进行读/写,用写,用一台奇偶校验盘一台奇偶校验盘。

      6))RAID 5级级与与RAID组组是是方方式式类类似似,,无无专专门门的的校校验验盘盘用用来来进进行行纠纠错错的的校校验验信信息息,,是是以以螺螺旋旋(Spiral)方方式式散散布布在在所所有数据盘上有数据盘上 第六章 文件管理 ((7 7))RAID RAID 6 6级级和和RAID RAID 7 7级级这这是是强强化化了了的的RAIDRAID在在RAID RAID 6 6级级的的阵阵列列中中,,设设置置了了一一个个专专用用的的、、可可快快速速访访问问的的异异步步校校验验盘盘RAID RAID 7 7级级是是对对RAID RAID 6 6级级的的改改进进,,在在该该阵阵列列中中的的所所有有磁磁盘盘,,都都具具有有较较高高的的传传输输速速率率和和优优异异的的性性能能,,是是目目前前最最高高档档次次的的磁磁盘盘阵列,但其价格也较高阵列,但其价格也较高     3 3..RAIDRAID的优点的优点    (1) (1) 可靠性高可靠性高 ((2)) 磁盘磁盘I/O速度高 ((3)) 性能性能/价格比高价格比高 第六章 文件管理 8.4 提高磁盘可靠性的技术提高磁盘可靠性的技术影响文件安全性的主要因素:影响文件安全性的主要因素: (1) (1) 人人为为因因素素::通通过过存存取取控控制制机机制制来来防防止止由由人人为为因因素素所造成的文件不安全性。

      所造成的文件不安全性 (2) (2) 系系统统因因素素::通通过过磁磁盘盘容容错错技技术术,,来来防防止止由由磁磁盘盘部部分的故障所造成的文件不安全性分的故障所造成的文件不安全性 (3) (3) 自然因素自然因素:: 通过通过““后备系统后备系统””来防止由自然因素来防止由自然因素( (随着时间的推移磁盘上的数据可能发生溢出或逐渐消失)随着时间的推移磁盘上的数据可能发生溢出或逐渐消失)所造成的不安全性所造成的不安全性 本小节讨论磁盘容错技术本小节讨论磁盘容错技术 第六章 文件管理 容错技术:容错技术:是通过在系统中设置冗余部件的是通过在系统中设置冗余部件的方法,来提高系统可靠性的一种技术方法,来提高系统可靠性的一种技术 磁盘容错技术(系统容错技术磁盘容错技术(系统容错技术SFTSFT):):则是则是通过增加通过增加冗余的磁盘驱动器冗余的磁盘驱动器、、磁盘控制器磁盘控制器等方法,等方法,来提高磁盘系统可靠性的一种技术具体可分以来提高磁盘系统可靠性的一种技术具体可分以下三个级别:下三个级别: 第六章 文件管理 8.4.1 8.4.1 第一级容错技术第一级容错技术SFT-ⅠSFT-Ⅰ主要用于防止因主要用于防止因磁盘表面缺陷磁盘表面缺陷所造成的数据丢失。

      所造成的数据丢失 采取的措施:采取的措施: 1.1.双份目录和双份文件分配表双份目录和双份文件分配表 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-Ⅱ为了为了防止磁盘驱动器发生故障防止磁盘驱动器发生故障而造成的数据丢失而造成的数据丢失 采取的措施:采取的措施:1.1.磁盘镜像磁盘镜像(Disk Mirroring)(Disk Mirroring) 图图 8-13 8-13 磁盘镜像示意磁盘镜像示意 增设一个完全相同的磁盘驱动器(磁盘)。

      增设一个完全相同的磁盘驱动器(磁盘) 优点优点:磁盘驱动器发生故障时切换,仍能正常工作磁盘驱动器发生故障时切换,仍能正常工作 缺点缺点:磁盘的利用率为:磁盘的利用率为5050% 第六章 文件管理 2. 磁盘双工磁盘双工(Disk Duplexing) 图图 8-14 磁盘双工示意磁盘双工示意 为防止为防止磁盘控制器磁盘控制器/ /通道通道发生故障,将两台磁盘驱动发生故障,将两台磁盘驱动器分别接两个磁盘控制器器分别接两个磁盘控制器/ /通道 第六章 文件管理 •自看3. 基于集群技术的容错功能基于集群技术的容错功能 第六章 文件管理 8.5 数据一致性控制数据一致性控制 8.5.1 事务事务 1. 事务的定义事务的定义 事事务务是是用用于于访访问问和和修修改改各各种种数数据据项项的的一一个个程程序序单单位位 事事务也可以被看作是一系列相关读和写操作务也可以被看作是一系列相关读和写操作 数据一致性数据一致性问题是指,保存在多个文件中的同一数据,在任何情况下都必需能保证相同 如:某种商品的进价有错时,必须同时修改流水账、付费账、分类账及总账等一系列文件中的该商品价格。

      第六章 文件管理   事务的特性  事务的特性  (  (1 1)原子性要么全部完成,要么一个都不改要么全部完成,要么一个都不改 ((2 2)一致性事务完成时,必须使所有的数据都保持)一致性事务完成时,必须使所有的数据都保持一致状态一致状态 ((3 3)隔离性一个事务对数据所做的修改,必须与任)隔离性一个事务对数据所做的修改,必须与任何其他与之并发的事务相隔离何其他与之并发的事务相隔离 ((4 4)持久性事务完成之后,它对系统的影响是永久)持久性事务完成之后,它对系统的影响是永久性的 第六章 文件管理 2. 事务记录事务记录(Transaction Record) 概念:概念:用来记录在事务运行时数据项修改的全部信息,故用来记录在事务运行时数据项修改的全部信息,故又称为又称为““运行记录运行记录””((LogLog)该记录包括以下字段:该记录包括以下字段: 事务名事务名:: 用于标识该事务的惟一名字;用于标识该事务的惟一名字; 数据项名数据项名:: 它是被修改数据项的惟一名字;它是被修改数据项的惟一名字; 旧值旧值:: 修改前数据项的值;修改前数据项的值; 新值新值:: 修改后数据项将具有的值。

      修改后数据项将具有的值 如果系统发生故障时,系统便可通过事务记录表对以如果系统发生故障时,系统便可通过事务记录表对以前所发生的事务进行清理(前所发生的事务进行清理(redo(Ti)/undo(Ti)redo(Ti)/undo(Ti)) 第六章 文件管理 3. 恢复算法恢复算法 利利用用事事务务记记录录表表,,系系统统能能处处理理任任何何故故障障,,不不致致造造成成存存储储器器中信息的丢失恢复算法可利用以下两个过程:中信息的丢失恢复算法可利用以下两个过程: (1) (1) undoundo〈〈T Ti i〉〉该该过过程程把把所所有有被被事事务务T Ti i修修改改过过的的数数据据,,恢复为修改前的值恢复为修改前的值 (2) (2) redoredo〈〈T Ti i〉〉该该过过程程能能把把所所有有被被事事务务T Ti i修修改改过过的的数数据据,,设置为新值设置为新值 如果系统发生故障,系统应对以前所发生的事务进行清理如果系统发生故障,系统应对以前所发生的事务进行清理 第六章 文件管理 8.5.2 检查点检查点 1. 检查点检查点(Check Points)的作用的作用 引引入入检检查查点点的的主主要要目目的的,,是是为为了了避避免免系系统统发发生生故故障障时时需需清清理理大大量量记记录录,,因因此此对对事事务务记记录录表表中中事事务务记记录录的的清清理理工工作作经经常常化化,,即即每每隔隔一一定定时时间间便便做做一一次下述工作(建立检查点,保存系统状态):次下述工作(建立检查点,保存系统状态): 首首先先是是将将驻驻留留在在易易失失性性存存储储器器( (内内存存) )中中的的当当前前事事务务记记录录表表中中的的所所有有记记录,输出到稳定存储器中;录,输出到稳定存储器中; 其其次次是是将将驻驻留留在在易易失失性性存存储储器器中中的的所所有有已已修修改改数数据据,,输输出出到到稳稳定定存存储储器中;器中; 然后然后是将事务记录表中的是将事务记录表中的〈〈检查点检查点〉〉记录,输出到稳定存储器中;记录,输出到稳定存储器中; 最最后后是是把把检检查查点点记记录录在在事事务务记记录录表表中中地地址址写写入入一一个个“重重新新开开始始文文件件”中中。

      每每当当出出现现一一个个〈〈检检查查点点〉〉记记录录时时,,系系统统便便执执行行上上小小节节所所介介绍绍的的恢恢复复操作,利用操作,利用redoredo和和undoundo过程实现恢复功能过程实现恢复功能 )) 由此推出新的恢复算法:由此推出新的恢复算法: 第六章 文件管理 2. 新的恢复算法新的恢复算法 (?)(?) 当当系系统统出出现现故故障障时时,,恢恢复复例例程程首首先先查查找找事事务务记记录录表表,,确确定定在在最最近近检检查查点点以以前前开开始始执执行行的的最最后后的的事事务务T Ti i在在找找到到这这样样的的事事务务后后,, 再再返返回回去去搜搜索索事事务务记记录录表表,,便便可可找找到到第第一一个个检检查查点点记记录录,,恢恢复复例例程程便便从从该该检检查查点点开开始始,,返返回回搜搜索索各各个个事事务务的的记录,并利用记录,并利用redoredo和和undoundo过程对它们进行处理过程对它们进行处理 如如果果把把所所有有在在事事务务T Ti i以以后后开开始始执执行行的的事事务务表表示示为为事事务务集集T T,, 则则新新的的恢恢复复操操作作要要求求是是::对对所所有有在在T T中中的的事事务务T TK K, , 如如果果在在事事务务记记录录表表中中出出现现了了〈〈T TK K托托付付〉〉记记录录,,则则执执行行redoredo〈〈T TK K〉〉操操作作;; 反反之之,,如如果果在在事事务务记记录录表表中中并并未未出出现现〈〈T TK K托托付付〉〉记记录录,,则则执行执行undoundo〈〈T TK K〉〉操作。

      操作 第六章 文件管理 8.5.3 并发控制并发控制 实现实现:除了信号量机制外,常用的是比较简单的、且较灵活:除了信号量机制外,常用的是比较简单的、且较灵活的同步机制的同步机制————锁1. 1. 利用互斥锁实现利用互斥锁实现““顺序性顺序性”” 仅允许仅允许一个事务一个事务对相应对象执行读或写操作对相应对象执行读或写操作2. 2. 利用互斥锁和共享锁实现顺序性利用互斥锁和共享锁实现顺序性 共享锁允许共享锁允许多个事务多个事务对相应对象执行对相应对象执行读操作读操作,而不,而不允许任何一个执行写操作允许任何一个执行写操作概念概念:在多用户系统和计算机网络环境下,由于事务具有:在多用户系统和计算机网络环境下,由于事务具有原子性,使各个事务原子性,使各个事务对数据项的修改是互斥的,对数据项的修改是互斥的,即使各个即使各个事务按某种次序依次执行(顺序性)事务按某种次序依次执行(顺序性) 第六章 文件管理 8.5.4 重复数据的数据一致性问题重复数据的数据一致性问题 1. 重复文件的一致性重复文件的一致性 图图 8-18 UNIX8-18 UNIX类型的目录类型的目录 第六章 文件管理 2. 2. 链接数一致性检查链接数一致性检查 为为每每个个盘盘块块建建立立一一个个表表项项,,其其中中含含有有该该索索引引结结点点号号的的计计数数值值。

      在在进进行行检检查查时时,,从从根根目目录录开开始始查查找找,,每每当当在在目目录录中中遇遇到到该该索索引引结结点点号号时时,,便便在在该该计计数数器器表表中中相相应应文文件件的的表表项项上上加加1 1当当把把所所有有目目录录都都检检查查完完后后,,便便可可将将该该计计数数器器表表中中每每个个表表项项中中的的索索引引结结点点号号计计数数值值与与该该文文件件索索引引结结点点中中的的链链接接计计数数countcount值值((共共享享文文件件的的用用户户数数))加加以以比比较较,, 如如果果两两者者一一致致,,表示是正确的;否则,便是发生了链接数据不一致的错误表示是正确的;否则,便是发生了链接数据不一致的错误 如如果果索索引引结结点点中中的的链链接接计计数数countcount值值大大于于计计数数器器表表中中相相应索引结点号的计数值应索引结点号的计数值 如如果果出出现现countcount值值小小于于计计数数器器表表中中索索引引结结点点号号计计数数值值的的情况时,就有潜在的危险情况时,就有潜在的危险。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.