文件目录

文件目录是一种数据结构,用于标识系统中的文件及其物理地址,供检索时使用

对目录管理的要求

  1. 实现“按名存取”。用户只需要向系统提供所需要访问文件的名字,便能快速地找到指定文件在外存上的存储位置。这是目录管理中最基本的功能,也是文件系统向用户提供的最基本的服务。
  2. 提高对目录的检索速度
  3. 文件共享,在多用户系统中,应允许多个用户共享一个文件
  4. 允许文件重名

文件控制块

为了对一个文件进行正确的存取,必须为文件设置用于描述和控制文件的数据结构。
文件管理程序可借助于文件控制块中的信息对文件做各种操作。
文件控制块的有序集合称为文件目录
一个文件控制块就是一个文件目录项,一个文件目录也被看做是一个文件,称为目录文件。
文件控制块FCB
为了能对系统中的大量文件施以有效的管理,在文件控制块中,通常包含三种信息。
(1)
基本信息类:
文件名,文件物理位置、文件逻辑结构、文件的物理结构
(2)
存取控制信息类
(3)使用信息类

索引结点

文件目录通常是存放在磁盘上的当文件很多时,文件目录可能会占用大量盘块。在查找目录的过程中,必须先将目录文件中的第一个盘块中的目录调入内存,然后将用户所给定的文件名,与目录项中的文件名一一比较。若未找到指定文件,还需要将下一盘块的目录项调入内存。

在检索目录文件的过程中,只用到了文件名,仅当找到一个目录项(其中的文件名与指定要查找的文件名相匹配)时,才需从该目录项中读出该文件的物理地址。其他一些对该文件进行描述的信息在检索目录时一概不用。
这些信息在检索目录时不需要调入内存。
UNIX系统中,采用了把文件名与文件描述信息分开的方法
使文件描述信息单独形成一个称为索引结点的数据结构——i结点
在文件目录中的每个目录项仅由文件名和指向该文件所对应的i结点的指针构成

简单的文件目录

  1. 单级文件目录
    整个文件系统中只建立一张目录表,每个文件占一个目录项。
    每当要建立一个新文件时,必须先检索所有的目录项,来保证新文件名在目录项中是唯一的。
    但只能实现按名存取
    缺点:
    (1)查找速度慢。对于一个具有N个目录项的单机目录,检索出一个目录项,需要查找N/2个目录项。
    (2)不允许重名。
    (3)不便于实现文件共享(不允许不同用户使用不同的名字访问同一个文件)
  2. 两级文件目录
    为每一个用户建立一个单独的用户文件目录,每个用户文件目录,由每个用户所有文件的文件控制块构成。在系统中在建立一个主文件目录,在主文件目录中,每个用户目录都占有一个目录项,其目录项包括用户名和指向该用户目录文件的指针。
    (1)提高了检索目录的速度
    (2)在不同的用户目录中,可以使用相同的文件名
    (3)不同用户还可使用不同文件名访问系统中的同一个共享文件

树形结构目录

在每个目录文件中,只能有一个根目录,每个文件和每个目录都只能有一个父目录。数据文件称为树叶。
从根目录到任何数据文件都只有一条唯一的通路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饼干饼干圆又圆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值