一级目录的平均访盘次数:
按照数据结构的顺序查找效率来理解,目录有n项,要访问其中的某一项,最好的情况下是查找的第一项即为目标查找项,只需访盘一次,最差的情况下是访问到第n个才查找到目标项,需访问n次,故平均查找次数是(1+2…+n)/n。
【例1】(王道上面的题目)一个文件系统中,其FCB占64B,一个盘块大小为1KB,采用一级目录。假定文件目录中有3200个目录项,则查找一个文件平均需要()次访问磁盘
【解析】
目录项占用盘块数=320064B/1KB=200个
一级目录平均访问盘块数带入上述公式得
(1+2+…+200)/200=100.5次
(通俗补充:有3200个目录项,每个目录项64B,共320064B,要把它们放到一个个大小为1KB的盘块里,共需要3200*64B/1KB=200个。我们要从这200个盘块里找到目标FCB是顺序找的,就是一个一个盘块地找,而一级目录结构是“按名存取”,“按名存取”就是说只要这个盘块里面有那一下子就访问到。一个一个盘块找可能在第一个盘块找到,可能在第二个…第200个找到,平均下来就是1+2+3…+200的和再除以200)
目录项分解法:
可以将其理解为把FCB拆成符号目录项和基本目录项两部分,缩短“目录”长度,减少占用盘块数,提高访问命中率,以降低平均访盘次数。如有需要例题解析,可在评论区留言。
在学的小菜鸡一名,如果解释错误或者不好的地方,还请多多指教。