六、文件管理(4.目录管理)

对目录管理的要求:

        (1)实现“按名存取”。即用户只须向系统提供所需访问文件的名字,便能快速准确地找到指定文件在外存上的存储位置。这是目录管理中最基本的功能,也是文件系统向用户提供的最基本的服务。

        (2)提高对目录的检索速度。这是设计一个大、中型系统时所追求的主要目标。

        (3)文件共享。

        (4)允许文件重名。

一、文件控制块和索引块

1. 文件控制块(Windows类,和FAT匹配)

文件控制块中含有三类信息:

(1)基本信息类:

        ①文件名,指用于标识一个文件的符号名。

        ②文件物理位置,指文件在外存上的存储位置,包括存放文件的设备名、文件在外存上的起始盘号、文件所占用的盘块数或字节数。

        ③文件逻辑结构,指示文件是流式文件还是记录式文件、记录数;文件是定长记录还是边长记录等。

        ④文件物理结构,指示文件是顺序文件,还是链式文件或索引文件。

(2)存取控制信息类:

        文件主的存取权限、核准用户的存取权限以及一般用户的存取权限。

(3)使用信息类:

        使用信息类包括: 文件的建立日期和时间、文件上一次修改的日期和时间及当前使用信息(这项信息包括当前已打开该文件的进程数、是否被其它进程锁住、文件在内存中是否已被修改但尚未拷贝到盘上)。

        举例:MS-DOS中的文件控制块,含有文件名、文件所在第一个盘块号、文件属性、文件建立日期和时间以及文件长度等。

 ①文件名:(文件名的第一字节表明该文件的状态)

        00H表示空;

        E5H表示曾经使用,现已删除;

        2EH表示为子目录项。

②属性:(第11字节为文件属性字节,按位规定如下)

③时间:

        (第22字节0--4位)以2秒为增量的二进制树
        (23字节0--2位)+(22字节5--7位)为分钟
        (第23字节3--7位)为小时

④日期:

        (第24字节0--4位)为日期1--31
        (25字节0位)+(24字节5--7位)为月份1--12
        (第25字节1--7位)为年号0--119(1980--2099) 

2. 索引节点方式(Unix/Linux类)

(1)索引节点的引入

        文件目录存放在磁盘上,当文件数量很多时,文件目录会占用很多盘块。查询目录时,把查放目录的第一个盘块放入内存查询,没有找到查第二个盘块......

        发现这样查询的信息太多,因为文件名字和文件的其他信息绑定在一起,查询时只需要知道名字即可,其余信息暂时不需要知道。这样导致查询速度变慢。

        解决方法就是把文件名字和其余信息分开。

        例如在Unix系统中,使文件描述信息单独形成一个称为索引 结点的数据结构,简称为i结点。在文件目录中的每个目录项仅由文件名 和指向该文件所对应的i结点的指针所构成。

(2)索引节点内容

        (1) 文件主标识符,即拥有该文件的个人或小组的标识符。

        (2) 文件类型,包括正规文件、目录文件或特别文件。

        (3) 文件存取权限,指各类用户对该文件的存取权限。

        (4) 文件物理地址,每一个索引结点中含有13个地址项,即 iaddr(0)~iaddr(12),它们以直接或间接方式给出数据文件所在盘块的编号。

        (5) 文件长度,指以字节为单位的文件长度。

        (6) 文件连接计数,表明在本文件系统中所有指向该(文件的) 文件名的指针计数。

        (7) 文件存取时间,指本文件最近被进程存取的时间、最近被修改的时间及索引结点最近被修改的时间。

二、目录结构(多级目录结构)

1. 目录结构

        对于大型文件系统,通常采用三级或三级以上的目录结构,以提高对目录的检索速度和文件系统的性能。

2. 路径名

        在树形目录结构中,从根目录到任何数据文件,都只有一条惟一 的通路。在该路径上从树的根(即主目录)开始,把全部目录文件名与数据文件名依次地用“/”连接起来,即构成该数据文件的路径名 (path name)。系统中的每一个文件都有惟一的路径名。

3. 当前目录

        含义不解释了。

        从当前目录开始直到数据文件为止所构成的路径名,称为相对路径名;

        把从树根开始的路径名称为绝对路径名。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值