面试题答案
一键面试区别
- 定义角度
- 逻辑结构:是从用户观点出发所看到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理特性。例如顺序结构,用户看到的文件就像一条连续的记录序列。
- 物理结构:是指文件在外存上的存储组织形式,它与存储介质的特性紧密相关。比如连续分配,是将文件存储在连续的磁盘块上。
- 关注点
- 逻辑结构:关注的是文件信息的逻辑表示和操作便利性,便于用户对文件进行检索、插入、删除等操作。
- 物理结构:关注的是如何在存储设备上高效地存储和访问文件,以提高文件系统的性能,如磁盘空间利用率、文件读写速度等。
联系
文件的逻辑结构通过物理结构在存储设备上得以实现。不同的逻辑结构可能适合不同的物理结构,例如顺序结构的文件可能更适合连续分配的物理结构,以方便顺序读写。而索引结构的文件可能更适合索引分配的物理结构,以提高随机访问效率。
不同物理结构在文件读写操作时的优缺点
- 连续分配
- 优点
- 顺序读写速度快:因为文件存储在连续的磁盘块上,磁头移动距离小,顺序访问时能快速读取数据,适用于像视频、音频等顺序访问要求高的文件。
- 支持随机访问:由于知道文件起始块号和长度,可直接计算出要访问块的物理地址,随机访问效率较高。
- 缺点
- 磁盘空间利用率低:需要预先分配连续空间,如果文件大小估计不准确,可能会造成大量磁盘空间浪费。同时,文件扩展时可能因找不到连续空间而导致无法扩展。
- 文件创建和删除时易产生碎片:频繁的文件创建和删除操作,会在磁盘上留下许多不连续的小空闲块,降低磁盘利用率。
- 优点
- 链接分配
- 优点
- 磁盘空间利用率高:文件存储无需连续空间,能充分利用磁盘上的零散空间,避免了连续分配中因空间不连续而造成的浪费。
- 文件动态扩展方便:只需在链表末尾添加新块即可,无需担心连续空间不足的问题。
- 缺点
- 顺序读写速度慢:因为块与块之间通过指针链接,读取时需要依次读取每个块的指针,增加了寻道时间,导致顺序读写效率不如连续分配。
- 不支持高效随机访问:要访问文件中某一块,需从文件头开始遍历链表,直到找到目标块,随机访问效率较低。
- 优点
- 索引分配
- 优点
- 支持高效随机访问:通过索引表可直接定位到目标块的物理地址,随机访问速度快,适用于数据库等需要频繁随机访问的应用场景。
- 磁盘空间利用率较高:文件块不必连续存储,可充分利用零散空间。而且索引表相对较小,占用空间有限。
- 缺点
- 索引表管理开销:需要额外的空间来存储索引表,并且在文件创建、删除和修改时,需要维护索引表,增加了系统开销。
- 读写性能受索引表影响:如果索引表损坏或丢失,可能导致文件无法访问。同时,读取索引表也会增加一定的时间开销。
- 优点