文件管理1《第四章》

文件管理
文件与文件系统的基本概念
文件是指由创建者所定义的、具有文件名的一组相关元素的集合,可分为有结构文件和无结 构文件两种。
文件的逻辑结构(顺序文件;索引文件;索引顺序文件);
两种形式的文件结构
文件的逻辑结构(File Logical Structure)。从用户角度观察到的文件组织形式。
文件的物理结构,又称为文件的存储结构。文件在外存上的存储组织形式。
(1) 顺序文件。这是由一系列记录按某种顺序排列所形成的文件。
(2) 索引文件。当记录为可变长度时,通常为之建立一张索引表,并为每个记录设置一个表 项,以加快对记录检索的速度。
(3) 索引顺序文件。这是上述两种文件构成方式的结合。它为文件建立一张索引表,为每一 组记录中的第一个记录设置一个表项。
文件在外存上的组织形式:连续分配,链接分配,索引分配
文件控制块和索引节点
文件控制块:为了能对系统中的大量文件施以有效的管理,在文件控制块中,通常应含有三
类信息,即基本信息、存取控制信息及使用信息。
索引节点:

  1. 索引结点的引入
    在查找目录的过程中,先将存放目录文件的第一个盘块中的目录调入内存,然后把用户所给 定的文件名与目录项中的文件名逐一比较。若未找到指定文件,便再将下一个盘块中的目录 项调入内存。
  2. 磁盘索引结点
    这是存放在磁盘上的索引结点。每个文件有惟一的一个磁盘索引结点,它主要包括以下内容:
    (1) 文件主标识符。 (2) 文件类型。 (3) 文件存取权限。 (4) 文件物理地址。
    (5) 文件长度。 (6) 文件连接计数。 (7) 文件存取时间。
  3. 内存索引结点
    这是存放在内存中的索引结点。当文件被打开时,要将磁盘索引结点拷贝到内存的索引结点 中,便于以后使用。在内存索引结点中又增加了以下内容:
    (1) 索引结点编号,用于标识内存索引结点。
    (2) 状态,指示 i 结点是否上锁或被修改。
    (3) 访问计数,每当有一进程要访问此 i 结点时,将该访问计数加 1,访问完再减 1。
    (4) 文件所属文件系统的逻辑设备号。
    (5)链接指针。设置有分别指向空闲链表和散列队列的指针。
    目录结构
    单极目录结构:支持按名存取,不允许重名,不适用于多用户
    两级目录结构:提高了检索目录的速度。在不同的用户目录中,可以使用相同的文件名。缺
    乏灵活性,不能对文件进行分类。
    多级目录结构: 在两级目录结构的基础上,允许用户再创建自己的子目录及子目录的子目录
    无环图目录结构:
    1.线性检索法
    线性检索法又称为顺序检索法。在单级目录中,利用用户提供的文件名,用顺序查找法直接 从文件目录中找到指名文件的目录项。
  1. Hash 方法
    在进行文件名的转换时,有可能把 n 个不同的文件名转换为相同的 Hash 值,即出现了所谓 的“冲突”。一种处理此“冲突”的有效规则是:
    (1) 在利用 Hash 法索引查找目录时,如果目录表中相应的目录项是空的,则表示系统中并 无指定文件。
    (2) 如果目录项中的文件名与指定文件名相匹配,则表示该目录项正是所要寻找的文件所对 应的目录项。
    (3) 如果在目录表的相应目录项中的文件名与指定文件名并不匹配,则表示发生了“冲突”, 此时须将其 Hash 值再加上一个常数(该常数应与目录的长度值互质),形成新的索引值,再返回到第一步重新开始查找。
    文件共享的定义:一个文件被多个用户或程序使用
    共享形式:
    1.被多个用户使用,由存取权限控制
    2.被多个程序使用,但各用自己的读写指针
    3.被多个程序使用,但共享读写指针
    目的:节省时间和存储空间,减少了用户工作量;进程间通过文件交换信息
    基于索引结点的共享方式(硬链接)
    利用符号实现文件共享(软链接)

    Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
    【硬连接】硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
    【软连接】另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
    文件系统的层次结构
  1. 用户调用接口:文件系统为用户提供与文件及目录有关的调用,如新建、打开、读写、关闭、删除文件,建立、删除目录等。此层由若干程序模块组成,每一模块对应一条系统调用,用户发出系统调用时,控制即转入相应的模块。
  2. 文件目录系统:管理文件目录,其任务有管理活跃文件目录表、管理读写状态信息表、管理用户进程的打开文件表、管理与组织在存储设备上的文件目录结构、调用下一级存取控制模块。
  3. 存取控制验证:实现文件保护主要由该级软件完成,它把用户的访问要求与FCB中指示的访问控制权限进行比较,以确认访问的合法性。
  4. 逻辑文件系统与文件信息缓冲区:根据文件的逻辑结构将用户要读写的逻辑记录转换成文件逻辑结构内的相应块号。
  5. 物理文件系统:把逻辑记录所在的相对块号转换成实际的物理地址。
  6. 分配模块:管理辅存空间,即负责分配辅存空闲空间和回收辅存空间。
  7. 设备管理程序模块:分配设备、分配设备读写用缓冲区、磁盘调度、启动设备、处理设备中断、释放设备读写缓冲区、释放设备等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值