- 10
- 0
- 约1.12千字
- 约 1页
- 2022-07-09 发布于山东
- 举报
7.6 目录实现
目录分配和目录管理算法的选择对文件系统的效率、性能和可靠性有很大影响。这一部分讨论
这些算法的优缺点。
1. 线性列表
最为简单的目录实现方法是使用存储文件名和数据块指针的线性列表。这种方法编程简单但
运行费时。要创建新文件,必须首先搜索目录以确定没有同样名称的文件存在。接着,在目录后增
加一个新条目。要删除文件时,根据给定文件名搜索目录,接着释放分配给它的空间。如果要重用
目录条目,可以有许多办法。可以将目录条目标记为不再使用(赋予它一个特定的文件,如全为
空的名称或为每个条目增加一个使用-非使用位),或者可以将它加到空闲目录条目列表上。第三
方法是将目录的最后一个条目拷贝到空闲位置上,并减少目录长度。链表可以用来减少删除文件
的时间。
目录条目的线性列表的真正缺点是查找文件需要线性搜索。目录信息需要经常使用,用户在
访问文件时会注意到现实的快慢。事实上,许多操作系统采用软件缓存来存储最近访问过的目录
信息。缓存命中避免了不断地从磁盘读取信息。排序列表可以使用二分搜索,并减少平均搜索时间 。
不过,列表始终需要排序的要求会使文件的创建和删除复杂化,这是因为可能需要移动不少的目
录信息来保持目录的排序。一个更为复杂的树数据结构,如 B 树,可能更为有用。已排序列表的
个优点是不需要排序步骤就可生成排序目
原创力文档

文档评论(0)