文件管理_vg6n5f37y3v2f7nb

最后修改于

文件#

属性、FCB、inode
操作:open/closeread/writemove/delete
索引节点磁盘结构:类型、权限、标识符、地址、长度、链接计数、存取时间
索引节点内存结构:编号、状态、访问计数、逻辑设备号、链接等
打开 / 关闭:用户对文件操作时需要先打开,将文件信息(FCB)放入内存,持有文件指针,可以避免多次检索目录。控制多个进程对文件的同时访问。
image.png
权限控制:ACL/权限组/口令

  • ACL 较为复杂,长度无法预计。
  • 精简 ACL 只区分拥有者、组、其他三种用户
  • 口令:建立 FCB 判断口令。但不够安全。
  • 密码:为文件加密,但效率低下。

文件逻辑结构

  • 流式文件
  • 顺序文件:记录通常定长,适合大批量操作
  • 索引文件:定长记录文件可以直接计算获取到地址,变长记录通过索引表可以获取地址。
  • 顺序索引文件:将顺序记录分组,为第一条记录建立索引项。
  • 直接文件 / hash 文件通过内容直接获取地址,存取速度快,但是存在冲突。
目录#
  • 一级目录:建立一个目录表。查找慢、不可重名、不便于共享、不适合多用户
  • 两级目录:分为主文件目录和用户文件目录。不灵活
  • 树形目录:不适合共享
  • 有向无环图:增加文件引用计数,使得系统管理相对复杂

操作:搜索/创建/删除等
文件共享:

  • 硬链接:一个目录项,指向同一个文件 inode
  • 软连接,一个新文件,给出原来文件的路径