[操作系统概念]第七部分——文件与目录

目录

这部分总结的比较简略
* 文件包含文件本身和文件相关的信息。
* 不同类型文件的开头几个字节有特定的次序,用于表示该文件是什么类型,需要如何操作。
* 对文件的组织管理需要有目录这种形式的数据结构。通过目录可以索引文件,存储和文件相关的位置等信息,文件信息也保存在目录中。

目录的结构

  • 单层结构:较简单的目录用单层的目录,实现是一个MAP,每一个目录中文件的条目索引一个真实文件的地址。所有文件都包含在一个目录中,这种结构对于目录对不同用户使用,文件有不同名称等情况不能处理。
  • 双层结构:类似于单层鲁姆,不过是两层,第一层是用户,第二层是文件目录。
    双层目录
  • 树状结构:即便是双层目录,每个用户下文件也都是包含在一级目录下的,没有层次,而树状目录允许用户创建富有层次的目录,但是树状结构不能支持对文件的共享。
  • 无环图目录:对于多用户下需要共享的文件,尤其是大文件,如果多个用户分辨储存一次,浪费空间。在树状目录中共享无法实现,所以有了无环图目录,它允许目录含有共享的子目录或者文件,无环还强调目录之间的引用关系不存在环。此外,无环图对共享目录的遍历开销更大。存在共享的目录存在一个问题:如果一方删除了共享文件,另一方的目录如何处理?一种方法是删除文件时,另其他所有目录的引用全部置为无效,另一种处理方法是保留文件直到对这个文件的所有目录引用都消失。
  • 通用图目录:相比于无环图,这里强调通用图可能存在环,那么高效的遍历算法就是通用图看重的了。

文件系统

文件系统的分层设计:(由低到高)

  1. 设备
  2. I/O控制:由设备驱动程序和中断处理程序组成,负责磁盘和内存之间的数据传输
  3. 基本文件系统:发送一般命令控制对磁盘物理块的读写
  4. 文件组织系统:将物理块与逻辑块相映射
  5. 逻辑文件系统:管理文件系统的所有结构数据等元数据
  6. 应用程序

文件系统的实现

  • 每个卷(分区)的引导控制块:保存磁盘启动操作系统所需要的信息,没有操作系统则为空,NTFS下称为分区引导扇区,UFS下称为引导块
  • 卷控制块:包括每个卷的详细信息,如分区的总块数,空闲块数等,NTFS下称为主控文件表,UFS下称为超级块
  • 每个文件系统的目录结构:用于组织文件
  • 每个文件的文件控制块:包括文件的详细信息,包括文件的大小,数据块,拥有者等

目录的实现

  • 线性列表:拥有线性数据结构的公共优缺点,查找耗时,创建新文件需要先遍历是否文件重名
  • 哈希表:避免了线性表的查找性能低的问题,但是需要处理哈希本身的问题:冲突和重新哈希
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值