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

admin2017-04-28  40

问题 在实现文件系统时,为加快文件目录的检索速度,可利用文件控制块分解法。假设目录文件存放在磁盘上,每个盘块512B。文件控制块占64B,其中文件名占8B。通常将文件控制块分解成两部分,第一部分占10B(包括文件名和文件内部号),第二部分占56B(包括文件内部号和文件其他描述信息)。
—般地,若目录文件分解前占用n个盘块,则分解后改用m个盘块存放文件名和文件内部号部分。若要使访问磁盘次数减少,m、n应满足什么条件(假设访问每个文件控制块的概率相等,且最后一个盘块刚好放满文件控制块)?

选项

答案分解法前平均访问磁盘次数: (1+2+3+…+n)/n=n×(n+1)/2/n=(n+1)/2(次) 分解法后平均访问磁盘次数: [2+3+4+…+(m+1)]/m=m×(m+3)/2/m=(m+3)/2(次) 为了使访问磁盘次数减少,显然需要: (m+3)/2<(n+1)/2, 即m<n—2

解析 因为原本整个文件控制块都是在目录中的,而文件控制块分解法将文件控制块的部分内容放在了目录外,所以检索完目录后别忘了还需要读取一个磁盘找齐所有的文件控制块的内容。
转载请注明原文地址:https://kaotiyun.com/show/xXRi777K
0

最新回复(0)