考虑文件系统中基于线性列表的目录实现。每个目录都是节点列表,其中每个节点都包含文件名以及文件元数据,例如指向数据块的指针列表。考虑给定目录foo。
以下哪个操作必须完全扫描foo才能成功完成?
(A)在foo中创建一个新文件
(B)从foo中删除现有文件
(C)重命名foo中的现有文件
(D)在foo中打开现有文件答案: (A) (C)
说明:由于目录包含节点列表,因此每个节点都包含文件名以及文件元数据,例如指向数据块的指针列表,
我们必须完全扫描foo才能重命名现有文件,并且目录中不允许重复文件名,因此,要创建一个新文件,首先我们必须检查该文件是否已存在,并且需要完整的文件名。扫描。
这个问题的测验