2009年第30题
文件系统中,文件访问控制信息存储的合理位置是( )
A. 文件控制块 \qquad B. 文件分配表 \qquad C. 用户口令表 \qquad D.系统注册表
解析
本题考查有关文件系统中关于文件控制块的基本知识,同时也要求了解选项中其他三个的基本含义。
题干中的“文件访问控制信息”,是操作系统或文件系统中用于管理和控制用户或进程对文件、目录等资源访问权限的关键安全机制。它通过定义不同用户或用户组对文件的操作权限,确保只有授权的主体能够以合法方式访问或修改资源,从而保护数据的机密性、完整性和可用性。
选项 A 中的文件控制块是操作系统中用于描述和管理文件的核心数据结构,文件系统通过访问 FCB 中的数据执行文件操作。每个文件均对应唯一的 FCB,而所有 FCB 的集合构成文件目录(即目录文件)。文件目录本身以特殊文件形式存储于外存,目录中的每个条目即为一个 FCB。
- 基础属性
- 标识信息:文件名是用户访问文件的唯一标识符,需确保同一目录下无重复。
- 存储信息:包含存储设备标识、起始物理块地址及文件存储容量(以磁盘块数量或字节数为单位)。
- 结构信息:
- 逻辑结构:定义文件组织形式,如无结构的字节流(流式文件)或带记录结构的文件(记录式文件),并记录定长/变长记录属性。
- 物理结构:描述文件在外存的物理存储方式,如连续分配(顺序文件)、链表链接(链接文件)或索引表映射(索引文件)。
- 权限控制:通过存取权限位标识文件所有者、授权用户及普通用户的访问权限(如读、写、执行),保障文件安全性。
- 状态管理:记录文件的创建时间、最后修改时间等元数据,以及动态使用信息,例如当前打开该文件的进程数量、文件锁定状态、内存修改未同步至磁盘的标记等。
由此可知,文件访问控制信息的存储位置应该是文件控制块。
此外,另外三个干扰选项的含义,对于学习者而言,也应了解。
- 文件分配表:记录文件在存储设备上的磁盘块分配情况(如 FAT32/exFAT 中的块链关系),仅涉及物理存储管理,与权限无关。
- 用户口令表:存储用户账户的认证信息(如密码),属于用户认证模块,与文件的访问控制权限无直接关联。
- 系统注册表:(仅 Windows 系统)存储系统配置和软件参数,不直接存储文件级的访问控制信息(文件权限在 Windows 中通过 NTFS 的 ACL 存储在文件元数据中,元数据)。
本题答案:A
在现代操作系统的文件管理中,已经不再使用“文件控制块”(FCB)的术语了。
- Linux/Unix 系:索引节点(inode)替代 FCB
- 在 Ext2/3/4、XFS 等文件系统中,FCB 被拆分为两部分:
- inode:存储元数据(权限、所有者、存储块指针、时间戳等),不包含文件名。
- 目录项(dentry):仅存储文件名和对应的 inode 编号,通过 inode 编号关联到元数据。
- Windows NTFS:主文件表(MFT)条目
- NTFS 将每个文件(包括目录、系统文件)表示为 MFT 中的一条记录,每条记录包含:
- 属性列表:文件名、权限(ACL)、数据块指针、时间戳等元数据,以 “属性” 形式存储。
- 可扩展属性:支持稀疏文件、数据流等高级特性。
- 与 FCB 的区别:
- 文件名可作为独立属性存在(允许同一文件有多个别名,如 NTFS 的硬链接)。
- 元数据和数据均以属性形式存储,甚至小文件的内容可直接嵌入 MFT 记录(无需分配磁盘块)。
- 分布式文件系统(如 HDFS、Ceph)
- 元数据由独立节点管理(如 HDFS 的 NameNode、Ceph 的 MDS),存储文件路径、副本位置、权限等信息。
- 每个文件对应元数据服务中的一个条目,结构类似 FCB,但支持分布式查询和高可用性。
虽然在现代操作系统中不再使用 FCB 术语,但是仍为每个文件维护独立的元数据结构体,实现文件管理、权限控制等核心功能。从这个角度看,FCB 的本质仍未消失,只是从早期单一的 FCB 结构,发展为 inode、MFT 条目、分布式元数据对象等更高效的形式,适应高性能、分布式、安全增强等需求。
现代元数据存储更灵活、可扩展,且与文件名、物理存储解耦,但 “文件 - 元数据绑定” 的设计思想一脉相承。