4.2.4 文件系统实现

(1)在目录中查找某个文件可以使用什么方法?

可以采用线性列表或哈希表法。

线性列表就是把文件名组织成一个线性表,查找的时候依次与线性表中每个表项进行比较。若把文件名按序排列使用折半查找法 可以降低平均的查找时间,但是建立新文件时会增加维护线性表的开销。

哈希表是用文件名通过哈希函数得到一个指向文件的指针,这种方法非常迅速,但是要注意避免冲突。

(2)文件的逻辑结构和物理结构有何区别?单个文件的逻辑结构和物理结构之间是否存在着某些制约关系?

文件的逻辑结构是用户可见的结构,即用户使用文件的结构。

文件的物理结构是文件在存储器上的组织结构,它表示了一个文件在辅存上的组织结构,它表示了一个文件在辅存上安置、链接、编目的方法。它和文件的存取方法以及辅存设备的特性等都有密切的联系。

单个文件的逻辑结构和物理结构之间虽无明显的制约或者关联的关系,但是如果物理结构选择不慎,也很难发挥出逻辑结构的特点,比如一个逻辑结构是顺序结构,而物理结构是隐式链接结构的文件,即使理论上可以很快找出某个记录的地址,而实际找的时候仍然需要在磁盘上一块一块地找。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

Linux下性能调试工具-top和sar运维笔记

作为一名资深的linux运维工程师,必须要熟练运用一些必要的系统性能调试工具,如top、sar工具。下面简单介绍下这几个工具的使用: 一、top top是Lin...

4106
来自专栏漫漫前端路

写个 vue-loading-template 组件

源码(star ? start : start):github.com/jkchao/vue-…

3872
来自专栏linux驱动个人学习

Linux核心调度器之周期性调度器scheduler_tick--Linux进程的管理与调度(十八)

因而内核提供了两个调度器主调度器,周期性调度器,分别实现如上工作, 两者合在一起就组成了核心调度器(core scheduler), 也叫通用调度器(gener...

1592
来自专栏Jack-Cui

Jetson TX1开发笔记(三):开发利器-Nsight Eclipse Edition

PC平台(Host): 虚拟机Ubuntu14.04 嵌入式平台(Target): Jeston TX1 一、NSight简介     Jetpack开...

2945
来自专栏逸鹏说道

【推荐】C#线程篇---你所不知道的线程池(4)

线程的创建和销毁都要耗费大量的时间,有什么更好的办法?用线程池! 太多的线程浪费内存资源,有什么更好的办法?用线程池! 太多线程有损性能,有什么更好的办法?用线...

3738
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用wrk对HTTP延迟进行基准测试

本文重点介绍称为开源HTTP基准测试工具WRK,它可以在高负荷下测量HTTP服务的延迟。

4230

控制MongoDB中的集合分布

分片标记(Shard tagging)是MongoDB 2.2.0版中的一项新功能。通过对集合进行标记使其被强制写入到本地数据中心,也可以用来将某个集合固定到一...

2246
来自专栏owent

理解Raft算法

之前已经有Paxos算法,用于解决分布式系统最终一致性问题,而且已经有了zookeeper这个成熟的开源实现。那么这个Raft算法有啥用呢?按照Raft官网的说...

4693
来自专栏运维

服务稳定性及应用防护方案

日志收集推荐使用Elastic Stack协议栈,可以满足收集海量日志需求,而且便于后续分析、报表、报警操作

1141
来自专栏三杯水

服务稳定性及应用防攻击方案

日志收集推荐使用Elastic Stack协议栈,可以满足收集海量日志需求,而且便于后续分析、报表、报警操作

1483

扫码关注云+社区

领取腾讯云代金券