文件管理地一些题_第1页
文件管理地一些题_第2页
文件管理地一些题_第3页
文件管理地一些题_第4页
文件管理地一些题_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章文件管理6.1文件和文件系统6.2文件的逻辑结构6.3外存分配方式6.4目录管理6.5文件存储空间的管理6.6文件共享与文件保护6.7数据一致性控制

空闲表和空闲链表不适用于大型文件系统(表太长),UNIX系统将这两种方法相结合,将空闲盘块分成组,每组第一块存一个空闲表成组链接起来,兼二者之优点克服了它们的缺点。…...6.5.3.成组链接法1.空闲盘块的组织:

(1)

空闲盘块号栈:此栈存储当前正在分配的一组空闲盘块号及本组尚有的空闲块总数N,N兼作栈顶指针。如:N=100,S.free(0)—S.free(99)存储当前组空闲盘块号

(2)

每组的第一块存储下一组空闲盘块号形成链。

(3)最末组的空闲盘块号栈存放在前一组的第一空闲块中,其中的S.free(0)存放结束标志。图6-23空闲盘块的成组链接法2.空闲块的分配和回收:

利用空闲盘块号栈。(1)分配:

N=N-1;if(N>0)分配S.free(N);else{m=S.free(N);读入S.free(N);分配m;}(2)回收:if(N=100){写入回收块;N=0}S.free(N)=回收块号;N=N+1;100300299…201NS.free(0)S.free(1)…S.free(99)100400399…301...990999…901............6.6文件共享与文件保护

文件共享指系统允许多个用户(进程)使用同一个文件(或子目录)。系统只需保留该共享文件的一份副本,

这样可以节省时间和存储空间,减少了用户工作量。当前常用两种文件共享方法:6.6.1基于索引结点的共享方式在树型结构的目录中,当有两个(或多个)用户要共享一个子目录或文件时,必须将共享文件或子目录连接到两个或多个用户的目录中;此时目录的结构已不再是树型结构而是一个有向非循环图。如果文件的描述信息直接存储在用户的目录表中,当某个用户对文件修改时这些描述信息的内容也可能发生变化,此时该文件的其它共享者目录的对应信息并未随之改变,引起共享错误。UFD(W)

file1……UFD(Z)

file2…………count=2W/file1Z/file2索引结点

为了解决这一问题可以将目录表中文件的描述信息存储在索引结点中,而仅将文件名和指向索引结点的指针存放在目录表中。索引结点中的count用作共享计数(链接计数)。DEFABC

IJK

LN

GH

B/I

A/D/NB/KC/G

图中表示有向非循环图的目录结构,圆圈表示索引结点和文件本身。

UFD(C)

owner=Ccount=1链接前UFD(B)UFD(C)owner=Ccount=2链接后UFD(B)owner=Ccount=1所有者删除后问题:删除文件时怎样考虑?当文件主删除文件时可能会发生指针悬空。6.6.2利用符号链(SymbolicLink)实现文件共享

要使用户B能共享用户C的文件F,系统可建立一个类型为LINK的新文件,如起名为G(或仍为F),放在B的目录中,

该文件只包含被共享文件F的路径名。这种连接方法称为符号链接(SymbolicLinking),当B要访问G文件时,被OS截获,OS根据G的LINK类型确定它是符号链,再按此符号链找到共享文件F。

当文件主C删除文件F后,若B试图通过文件G符号链访问F,则只会因找不到文件访问失败,不会发生指针悬空。

图6-19多级目录结构

符号链的共享方式存在的问题:当其他用户去读共享文件时,系统是根据给定的文件路径名,逐个分量(名)地去查找目录,直至找到该文件的索引结点。因此,在每次访问共享文件时,都可能要多次地读盘。这使每次访问文件的开销甚大,且增加了启动磁盘的频率。要为每个共享用户建立一条符号链,该链实际上是一个文件,要为它配置一个索引结点,这也要耗费一定的磁盘空间。优点:能够用于链接(通过计算机网络)世界上任何地方的计算机中的文件,此时只需提供该文件所在机器的网络地址以及该机器中的文件路径即可。两种方法的共同问题:遍历文件系统=〉共享文件的多次遍历;转存文件系统=〉共享文件的多个拷贝6.6.3磁盘容错技术

磁盘容错技术:通过设置冗余的磁盘驱动器、磁盘控制器等部件,来提高可靠性的技术。系统(磁盘)容错技术SFT:三级

SFT-1低级:

SFT-2中级:

SFT-3高级:1.影响文件安全的因素:人为因素;系统因素;自然因素2.安全措施:存取控制机制;磁盘容错技术;后备系统3.容错技术:设置冗余部件,来提高系统的可靠性;1.第一级磁盘容错技术SFT-1

用于防止因磁盘表面缺陷造成的数据破坏或丢失,包括双份目录、双份文件分配表和写后读校验等措施。(1)双份目录和双份文件分配表(2)热修复重定向和写后读校验热修复重定向:将磁盘的2~3%作为热修复重定向区写后读校验:写盘后立即读并与原数据校验2.第二级磁盘容错技术SFT-2防止磁盘驱动器和控制器故障导致的系统不正常;(1)磁盘镜像两个磁盘驱动器互为备份(2)磁盘双工通道、磁盘控制器和磁盘驱动都为双份主机磁盘控制器通道主机磁盘控制器磁盘控制器通道通道3.基于集群技术的容错功能所谓集群,是指由一组互连的自主计算机组成统一的计算机系统,给人们的感觉是,它们是一台机器。利用集群系统不仅可提高系统的并行处理能力,还可用于提高系统的可用性。它包括三种工作模式:(1)双机热备份模式(2)双机互为备份模式(3)公共磁盘模式数据0数据1的备份CPU磁盘0数据1数据0的备份磁盘1块交错备份重点难点学习提示1、顺序文件、索引文件和索引顺序文件,各自优缺点和适用于的场合2、连续分配、链接分配和索引分配3、位示图法和成组链接法4、目录管理5、文件共享方式对于本章的知识点,文件存储空间的管理可以命制综合应用题,混合索引下计算文件实际占用磁盘空间和最大文件、计算访问磁盘次数可以命制综合应用题,其它知识点可以命制单项选择题。2009年联考所占分值为6分,2010年联考所占分值为6分。1.文件的顺序存取是()。【电子科大2003】A.按终端号一次存取B.按文件的逻辑号逐一存取C.按物理块号一次存取D.按文件逻辑记录的大小逐一存取2.如果文件系统中有两个文件重名,不应采用()。【南京理工2007】A.单级目录结构B.两级目录结构C.树形目录结构D.多级目录结构3.设文件F1的当前引用计数值为1,先建立F1的符号链接(软链接)文件F2,再建立F1的硬链接文件F3,然后删除F1。此时,F2和F3的引用计数值分别是()。A.0、1B.1、1C.1、2D.2、1BAB4.下列关于打开文件open和关闭文件close的叙述,只有()是错误的。【浙江大学2006】A.close()操作告诉系统,不再需要指定的文件了,可以丢弃它B.open()操作告诉系统,开始使用指定的文件C.文件必须先打开,后使用D.目录必须先打开,后使用5.考虑一个文件存放在100个数据块中。文件控制块、索引块或索引信息都驻留内存。那么如果(),不需要做任何磁盘I/O操作。【浙江大学2006】A.采用continuousallocation策略,将最后一个数据块搬到文件头部B.采用linkedallocation策略,将最后一个数据块插入文件头部C.采用linkedallocation策略,将第一个数据块插入文件尾部D.采用singlelevelindexedallocation策略,将最后一个数据块插入文件头部D6.逻辑文件的组织形式是由()决定的。A.存储介质特性B.操作系统的管理方式C.用户D.主存容量【分析】文件的逻辑结构是用户所观察到的文件组织形式,数据组织形式取决于用户需求,例如,登记操作日志记录导致顺序文件的产生;对数据库中结构化数据的存取导致随机访问文件的产生。所以,逻辑文件的组织形式取决于用户,因此应该选择C。7.物理文件的组织方式是由()确定的。A.操作系统B.主存容量C.外存容量D.应用程序【分析】文件的物理结构是指文件在外存上的存储组织形式,既与存储介质的存储性能有关,又与操作系统所采用的外存分配方法有关。因此应该选择A。例:1.在实现文件系统时,为加快文件目录的检索速度,可利用“文件控制块分解法”。假设目录文件存放在磁盘上,每个盘块512字节。文件控制块占64字节。其中文件名占8字节。通常将文件控制块分解成两部分,第一部分占10字节(包括文件名和文件内部号),第二部分占56字节(包括文件内部号和文件其它描述信息)。【北京大学1997】(1)假设某一目录文件共有254个文件控制块,试分别给出采用分解法前和分解法后,查找该目录文件的某一个文件控制块的平均访问磁盘次数。(2)一般地,若目录文件分解前占用n个盘块,分解后改用m个盘块存放文件名和文件内部号部分,请给出访问磁盘次数减少的条件。【分析】目录文件也被看做一个文件,本身也需要一定数量的物理数据块。设目录文件需要的物理数据块为n,在单级目录中,对于线性检索法,检索某一个文件在目录文件中的那部分控制块,最好的情况只需要1次I/O(即在第一个物理数据块中),最坏的情况需要n次I/O(即在最后一个物理数据块中)。如果不采用分解法,则平均访问磁盘次数为(1+n)/2;如果采用分解法,还需读取一次磁盘以找到文件控制块的所有内容,设分解后目录文件占用m个盘块,则平均访问磁盘次数为(1+m)/2+1。所以,关键是计算不采用分解法和采用分解法两种情况下目录文件本身所需的物理数据块。解:(1)采用分解法前,目录所需的磁盘块数为(64*254)/512=31.75,也就是32块。所以查找该目录文件中的某一个文件控制块的平均访问磁盘次数为(1+32)/2=16.5。采用分解法后,目录所需的磁盘块数为(10*254)/512=4.96,也就是5块,检索目录文件后,还需读取一次磁盘以找到文件控制块的所有内容。所以查找该目录文件中的某一个文件控制块的平均访问磁盘次数为(1+5)/2+1=4。(2)访问磁盘次数减少的条件是:(1+m)/2+1<(1+n)/2,即m<n-2。2.某个系统采用成组链接法来管理磁盘空间,目前磁盘的状态如图所示。(1)该磁盘中目前还有多少个空闲盘快?(2)请简述磁盘块的分配过程。(3)在为某个文件分配3个盘块后,系统要删除另一文件,并回收它所占的5个盘块,它们的盘块号依次为700、711、703、788、701,请画出回收后的盘块链接情况。100300299…NS.free(0)S.free(1)…S.free(99)100400399…301990599…501............3、有一文件系统如下图所示。图中的框表示目录,圈表示普通文件。根目录常驻内存,目录文件组织成链接文件,不设文件控制块,普通文件组织成索引文件。目录表目指示下一级文件名及其磁盘地址(各占2个字节,共4个字节)。若下级文件是目录文件,指示其第一个磁盘块地址。若下级文件是普通文件,指示其文件控制块的磁盘地址。每个目录文件磁盘块最后4个字节供链接使用。下级文件在上级目录文件中的次序在图中为自左至右。每个磁盘块有512字节,与普通文件的一页等长。根目录ABCDHIPULEFGJKMNQRSTVW……………………文件系统结构示意图普通文件的文件控制块组织如图所示。其中,每个磁盘地址占2个字节,前10个地址直接指示该文件前10页的地址。第11个地址指示一级索引表地址,一级索引表中每个磁盘地址指示一个文件页地址;第12个地址指示二级索引表地址,二级索引表中每个地址指示一个一级索引表地址;第13个地址指示三级索引表地址,三级索引表中每个地址指示一个二级索引表地址。问:(1)一个普通文件最多可有多少个文件页?(2)若要读文件J中某一页,最多启动磁盘多少次?(3)若要读文件W中的某一页,最少启动磁盘多少次?(4)就上一问而言,为最大限度减少启动磁盘的次数,可采用什么方法?此时,磁盘最多启动多少次?该文件的有关描述信息磁盘地址磁盘地址……磁盘地址磁盘地址磁盘地址12111213普通文件的文件控制块组织解:(1)由题目中所给条件可知,磁盘块大小为512字节,每个磁盘地址中2个字节。因此,一个一级索引表可容纳256个磁盘地址。同样地,一个二级索引表可容纳256个一级索引表地址,一个三级索引表可容纳256个二级索引表地址。这样,一个普通文件最多可有页数为:10+256+256×256+256×256×256=16843018(2)从图中可以看出,目录文件A和目录文件D中,目录项都只有两个,因此这两个目录文件都不需拉链。若要读文件J中的每一页,首先从内存的根目录中找到目录文件A的磁盘地址,将其读入内存(第1次磁盘访问)。然后再从目录A中找出目录文件D的磁盘地址,并将其读入内存(第2次磁盘访问)。从目录D中找出文件J的文件控制块地址,将文件J的文件控制块读入内存(第3次磁盘访问)。在最坏情况下,要访问页的磁盘地址需通过三级索引才能找到,这时要三次访问磁盘才能将三级索引表读入内存(第4、5、6次磁盘访问)。最后读入文件J中的相应页(第7次访问磁盘)。由此可知,若要读文件J的某一页,最多启动磁盘7次。(3)从图中可以看出,目录文件C和目录文件U中,目录项数目较多,若目录项数超过127(512/4-1=127),则目录文件的读入可能需要多次磁盘读(因目录文件组织成链接文件)。在最好情况

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论