当前位置:文档之家› 操作系统第6章 文件管理(文件目录与目录文件)

操作系统第6章 文件管理(文件目录与目录文件)


具有相似的结构,它由用户所有文件的文件控制块组成。此外,
在系统中再建立一个主文件目录MFD(Master File Directory); 在主文件目录中,每个用户目录文件都占有一个目录项,其目录 项中包括用户名和指向该用户目录文件的指针。如图2所示:
2015/11/7
15
一 文件目录管理
图2
2015/11/7
●缺点:查找速度慢;文件不能重名。不便于实现文件共享。
文件名 文件名 1 文件名 2 … 物理地址 文件说明 状态位
2015/11/7
表1 单级目录
14
一 文件目录管理
【七】二级目录
●为了克服单级目录所存在的缺点,可以为每一个用户建立一个单 独的用户文件目录UFD(User File Directory)。这些文件目录
二级目录结构示意图
16
一 文件目录管理
●两级目录结构基本上克服了单级目录的缺点,并具有以下优点:
1) 提高了检索目录的速度。如果在主目录中有n个子目录,采用两 级目录可使检索效率提高n/2倍。
2) 在不同的用户目录中,可以使用相同的文件名。
3) 不同用户还可使用不同的文件名来访问系统中的同一个共享文件。 但当多个用户之间要相互合作去完成一个大任务,且一用户又需 去访问其他用户的文件时,这种隔离便成为一个缺点,因为这种 隔离会使诸用户之间不便于共享文件。
2015/11/7 11
一 文件目录管理
●当文件被打开时,要将磁盘索引结点拷贝到内存的索引结点中,便于
以后使用。在内存索引结点中又增加了以下内容: 1. 索引结点编号,用于标识内存索引结点。 2. 状态,指示i结点是否上锁或被修改。 3. 访问计数,每当有一进程要访问此i结点时,将该访问计数加1, 访问完再减1。 4. 文件所属文件系统的逻辑设备号。 5. 链接指针。设置有分别指向空闲链表和散列队列的指针。
2015/11/7
5
一 文件目录管理
【二】文件的组成与文件控制块(FCB)
●文件管理是通过文件控制块( FCB )进行的。FCB通常含有基本 信息、存取控制信息及使用信息三类。 1. 文件的组成 = 文件头+文件体 1)文件头 —— 存放的是文件说明信息 2)文件体 —— 文件本身的信息,记录集合或字符流集。 2. 基本信息类 —— 包括:
2015/11/7 18
一 文件目录管理
●多级文件目录下的文件打开流程(按BDF和SDF方式排列) 1. 将与MFD(主目录)相关的表目复制到内存; 2. 将基本文件表中的BFD的相关部分复制到内存;
3. 将符号文件表(SFD)找到所要使用的文件名;
4. 打开文件。 ●被打开的文件叫活动文件; ●内存中的 BFD,整个系统才有1张。
2015/11/7
13
一 文件目录管理
【六】单级目录
●所有文件存入一个目录表,每个文件占目录表中的一项。目录项中含 文件名、文件扩展名、文件长度、文件类型、文件物理地址以及其它 文件属性。此外,为表明每个目录项是否空闲,又设置了一个状态位。 单级目录的优点是简单,且能实现按名存取 ●所有的文件目录都是连续或顺序存放; ●文件目录表调入内存工作;
【四】文件的磁盘索引节点 ●每个文件有惟一的一个磁盘索引结点,它主要包括以下内容:
1.文件主标识符,即拥有该文件的个人或小组的标识符。 2.文件类型,包括正规文件、目录文件或特别文件。 3. 文件存取权限,指各类用户对该文件的存取权限。 4.文件物理地址,每一个索引结点中含有13个地址项,即iaddr(0)~ iaddr(12),它们以直接或间接方式给出数据文件所在盘块的编号。 5.文件长度,指以字节为单位的文件长度。 6.文件连接计数,在本文件系统中所有指向文件名的指针计数。 7.文件存取时间,指本文件最近被进程存取的时间、最近被修改的时 间及索引结点最近被修改的时间。
●在建立了一张Hash索引文件目录的基础上,可利用Hash方法进行查询,
即系统利用用户提供的文件名并将它变换为文件目录的索引值,再利用 该索引值到目录中去查找,这将显著地提高检索速度。
●在现代操作系统中,通常都提供在文件名中使用了通配符“*”、“?” 等模式匹配功能。Hash方法不能对使用了通配符的文件名进行目录检索。
现代操作系统
第21讲:第6章 文件管理
(文件目录与目录文件)
主讲:朱贵良
2015
2015/11/7 1
2015/11/7
2
内容提纲
一 文件目录管理
二 文件共享与文件保护
三 文件的访问控制 四 磁盘容错技术简介 本章小结
2015/11/7
3
一 文件目录管理
一 文件目录管理
【一】目录管理的基本功能
2015/11/7 26
二 文件共享与文件保护
Wang 用户文件目录
Test r
索引结点
Lee 用户文件目录
count= 2 文件物理地址
Test
Test r
图4
2015/11/7
基于索引结点的共享方式
27
二 文件共享与文件保护
●在索引结点中还有一个链接计数count,用于表示链接到本索引 结点(亦即文件)上的用户目录项的数目。当count=3时,表示 有三个用户目录项连接到本文件上,即有三个用户共享此文件。
2015/11/7
17
一 文件目录管理
【八】多级目录
●对于大型文件系统,通常采用三级或三级以上的目录结构,以提高对目 录的检索速度和文件系统的性能。多级目录结构又称为树型目录结构, 主目录称为根目录,把数据文件称为树叶,其它的目录均作为树的结 点。图2中,方框代表目录文件,圆圈代表数据文件。在该树型目录结 构中,主(根)目录中有三个用户的总目录项A、B和C。在B项所指出的B 用户的总目录 B中,又包括三个分目录 F、E和D,其中每个分目录中又 包含多个文件。如B目录中的 F分目录中,包含 J和N两个文件。为了提 高文件系统的灵活性,应允许在一个目录文件中的目录项既是作为目 录文件的 FCB,又是数据文件的 FCB,这一信息可用目录项中的一位来 指示。例如,在图3中,用户 A的总目录中,目录项 A是目录文件的 FCB, 而目录项B和D则是数据文件的FCB。
2015/11/7
7
一 文件目录管理
以上三类信息简要归纳为: ●文件名 ●文件的大小 ●文件的结构形式 ●文件的首地址 ●文件的修改日期,时间等
●文件的归属(即上级目录,目录层,副本信息等,控 制方式等)
2015/11/7
8
一 文件目录管理
【三】文件系统的层次模型
1. 目的:为用户提供一个完整的文件系统的概念;下 层为上层服务;上层使用下层的功能。
2. 优点:易于理解实现和维护;
3. 问题:划分要考虑到如果分层太少,连接与访问简 单,但每层内容复杂;分层太多,形成的参数太 多,传递速度慢。 4. Madnick 把文件系统画分为8层,如下图1所示
2015/11/7
9
一 文件目录管理
图1 文件系统的层次模型
2015/11/7 10
一 文件目录管理
2015/11/7
12
一 文件目录管理
【五】文件目录管理的知识准备
1.目录文件 —— 对文件目录(文件说明信息)进行管理的文件叫目录 文件,文件系统是通过目录文件对文件进行管理的 2.文件系统 1)定义:对文件进行管理的软件和数据的集合称为文件系统。 2)主要功能: ●为用户建立、撤消、读写、修改和复制文件提供服务; ●完成对文件的按名存取 ●传输与存取控制管理。 ●文件的配、回收、同名冲突、共享与保护管理 ●文件搜索方法等(识别与查找)
1.实现“按名存取”,目录管理中最基本的功能之一是通过提供的 访问文件名,便客快速准确地找到指定外存上的文件存储位置。 2.快速检索文件目录。通过合理地组织目录结构的方法,可加快对 目录的检索速度,从而提高对文件的存取速度。这是在设计一个 大、中型文件系统时所追求的主要目标。 3.实现文件共享。在多用户系统中,通过保留在外存中的副本,供 不同用户使用,以节省大量的存储空间,提高文件利用率。 4. 文件重名。系统允许在不同级别的目录中,命名相同的文件名。
(3) 如果在目录表的相应目录项中的文件名与指定文件名并不匹 配,则表示发生了“冲突”,此时须将其Hash值再加上一个常 数(该常数应与目录的长度值互质),形成新的索引值,再返回 到第一步重新开始查找。
2015/11/7
23
一 文件目录管理
【十】文件目录管理方法小结
1.单级目录管理方法:目录文件放置在外存,CPU浪费大,搜索慢。 2.二级目录管理方法2启动时,将所有目录文件读入内存。 ◆优点:速度快;◆缺点:内存占用多。 3. 多级目录管理方法:把正在使用的文件目录存入内存指定区。关 闭文件时,删除内存中的有关目录文件的内存副本。 ◆优点:速度快、内存占用少、层次清晰;
●文件打开与关闭的含义(由系统调用方式完成)
◆打开文件: 把文件存储设备上的目录文件复制到内存, ◆删除文件: 把内存文件的副本的删除操作称为关闭文件
2015/11/7
24
二 文件共享与文件保护
二 文件共享与文件保护
【一】基于索引结点的共享方式
●在树型结构的目录中,当有两个或两个以上的用户要共享一个子目 录或文件时,必须将共享文件或子目录链接到两个或两个以上的 用户目录中 ,才能方便地找到该文件。此时该文件系统的目录 结构已不再是树型结构,而是个有向非循环图。 ●解决该问题,可以引用索引结点,即文件的物理地址等文件属性, 不再是放在目录项中,而是放在索引结点中。在文件目录中只设 置文件名及指向相应索引结点的指针,如图4所示。此时,由任 何用户对文件进行附加操作或修改,都会引起相应结点内容的改 变。例如,增加其他用户可见的、新的盘块号和文件长度等,都 可以给其他用户提供共享服务。
相关主题