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 。若某文件的索引节点已在内存中,则把该文件偏移量(按字节编址)为
1234
和307400
处所在的磁盘块读入内存,需访问磁盘块次数分别是 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 。