acautomaton
acautomaton
发布于 2024-10-10 / 9 阅读
0
0

Chapter 4. 文件管理

Chapter 4. 文件管理

公式与性质

  • 磁盘索引节点的内容:文件主标识符、文件类型、文件存取权限、文件物理地址、文件长度、文件链接计数、文件存取时间。

  • 内存索引节点的内容:索引节点号、状态、访问计数、逻辑设备号、链接指针。

  • 文件的基本操作:创建、删除、读、写、打开和关闭等。

  • 文件保护的方法:口令保护、加密保护、访问控制等。

  • 只要完成了 open() 系统调用,后面再使用 read()write()Lseek()close() 等文件操作的系统调用,就不再使用文件名,而是使用文件描述符

  • 显式链接支持顺序访问也支持直接访问

    寻找下一块时直接在内存中查找,不需要每次都进行磁盘 I/O,内存速度 \gg 磁盘,约等于直接访问。

  • k 层多级索引需要进行 k+1 次磁盘 I/O

  • 文件系统的层次:应用程序 \Longleftrightarrow 逻辑文件系统 \Longleftrightarrow 文件组织模块 \Longleftrightarrow 基本文件系统 \Longleftrightarrow I/O 控制 \Longleftrightarrow 设备。

概念

  • 目录使得文件可以按层次方式组织。文件目录本身也以文件的形式存储在磁盘上。

  • 磁盘的访问以块为基本单位。

  • 逻辑文件是从用户观点看的文件组织形式,是由用户决定的,与用户如何使用文件和文件在用户看来是如何组织的有关。

  • 数据文件在存放到存储介质上时,其采用的组织形式与存储介质的物理特性有关,和存储介质的分配方式没有必然联系。

  • 文件系统的主要目的是实现对文件的按名存储

  • 为了实现文件系统的安全保护,任何一个用户进入系统时都必须注册,这一级管理是系统级安全管理。

    进入系统时

考点

  • UNIX 中,文件名(在目录项中)和文件描述信息(在索引节点(包含物理信息(文件主标识符、文件物理地址、文件类型、文件长度、文件存取权限等))中)时分开存放的。

  • 某文件系统中,针对每个文件,用户类别分为 4 类,访问权限分为 5 种。若文件控制块中用二进制位串表示权限,为表示不用类别用户对一个文件的访问权限,则描述文件权限的位数至少应为 4*5=20

    5 种访问权限不等于 5 种状态, 5 种访问权限有 2^5 种状态,故每个用户的状态位需要 5 位。

  • 当数据频繁修改并以随机顺序频繁访问时,从访问速度、存储空间使用和易于更新这几方面考虑,利于达到最大效率的文件组织是 Hash 文件或索引文件

    不能使用堆文件。频繁修改时堆会频繁调整。

  • 最简单的文件访问方法是顺序访问

  • 索引式文件组织的一个主要优点是能实现物理块的动态分配

    不是不需要链接指针。顺序组织文件也不需要链接指针。

  • 在文件的索引节点中存放直接索引指针 10 个,一级和二级索引指针各 1 个。磁盘块大小为 1KB,每个索引指针占 4B 。若某文件的索引节点已在内存中,则把该文件偏移量(按字节编址)为 1234307400 处所在的磁盘块读入内存,需访问磁盘块次数分别是 1,3

    10 个直接索引指针共 10 \times 1{KB} = 10{KB} \gt 1234B ,所以 1234 采用直接索引即可,访问 1 次磁盘。
    一级索引可表示 \frac {1{KB}}{4B} \times 1{KB} = 256{KB} ,二级索引可表示 {(\frac {1{KB}}{4B})}^2 \times 1{KB} = 64{MB}10{KB}+256{KB} \lt 307400 \lt 64{MB} ,故采用二级索引,访问 3 次磁盘。

  • 文件系统用位示图法表示磁盘空间的分配情况,位图存于磁盘的 32 \sim 127 号块中,每个盘块占 1024B ,盘块和块内字节均从 0 开始编号。假设要释放的盘块号为 409612 ,则位图中要修改的位所在的盘块号和块内字节号分别是 82, 1

    每个盘块可表示 1024 * 8 = 8192 个盘块,要释放的盘块在位示图中位于第 \lfloor 409612 \div 8192 \rfloor = 50 个盘块中,故盘块号为 32+50=82,块内字节号为 \lfloor (409612\mod 8192) \div 8 \rfloor = 1


评论