在实现文件系统时,为加快文件目录的检索速度,可利用“文件控制块分解法”。假设目录文件存放在磁盘上,每个盘块有512字节。文件控制块占64字节,其中文件名占8个字节。通常将文件控制块分解成两部分,第一部分占16字节(包括文件名和文件内部号),第二部分占48字

admin2018-07-17  25

问题 在实现文件系统时,为加快文件目录的检索速度,可利用“文件控制块分解法”。假设目录文件存放在磁盘上,每个盘块有512字节。文件控制块占64字节,其中文件名占8个字节。通常将文件控制块分解成两部分,第一部分占16字节(包括文件名和文件内部号),第二部分占48字节(包括文件内部号和文件其他描述信息)。
假设某一目录文件共有254个文件控制块,试分别给出采用分解法前和分解法后,查找该目录文件的某一个文件控制块的平均访问磁盘次数。(访问每个文件的概率相同)

选项

答案本题考查文件系统的目录检索。 目录是存放在磁盘上的,检索目录时需要访问磁盘,速度很慢。利用“文件控制块分解法”加快目录检索速度的原理是:将文件控制块的一部分分解出去,存放在另一个数据结构中,而在目录中仅留下文件的基本信息和指向该数据结构的指针,这样一来能有效地缩减目录的体积,减少了目录在磁盘中的块数,于是检索目录时读取磁盘的次数也减少,于是也就加快了检索目录的速度。 分解法前,目录的磁盘块数为64x254/512=31.75,即32块。前31块中,每块放了512/64=8个,而最后一块放了254—31×8=6个。所以查找该目录文件的某一个文件控制块的平均访问磁盘次数=(8×(1+2+3+…+3 1)+6*32)/254=16.38次。 分解法后,目录的磁盘块数为16×254/512=7.9375块,即8块。前7块中,每块放了512/16=32块,而最后一块存放了254.7×32=30,所找的目录项在第1,2,3,4,5,6,7,8块的所需的磁盘访问次数分别为2,3,4,5,6,7,8,9次(最后一次根据文件内部号读出文件其他描述信息)。所以查找该目录文件的某一个文件控制块的平均访问磁盘次数=((2+3+4+5+6+7+8)*32+9*30)/254=5.47次。

解析
转载请注明原文地址:https://kaotiyun.com/show/0fRi777K
0

最新回复(0)