问答题
在实现文件系统时,为加快文件目录的检索速度,可利用“文件控制块分解法”。假设目录文件存放在磁盘上,每个磁盘块为512B,文件控制块占64B,其中文件名占8B。通常将文件控制块分解成两部分,第一部分占10B(包括文件名和文件内部号),第二部分占56B(包括文件内部号和文件其他描述信息)。
问答题
假设某一目录文件共有254个文件控制块,试分别给出采用分解法前和分解法后,查找该目录文件某一文件控制块的平均访问磁盘次数。
【正确答案】假设某一目录文件共有254个文件控制块,而每个磁盘块为512B,文件控制块占64B。
采用分解法前,一个盘块可存放:512/64=8个目录项,则254个文件控制块要占:254/8=32个目录块,故平均查找一个目录项需访问磁盘:32/2=16次。
采用分解法后,将文件控制块分解成两部分,第一部分占10B(包括文件名和文件内部号),第二部分占56B(包括文件内部号和文件其他描述信息i)。一个盘块可存放:512/10=51个目录项,这样254个目录项要占:254/51=5个目录块。平均查找一个目录项需访问磁盘:5/2≈3次,而得到文件控制块还应访问一次磁盘,故总共需访问磁盘:3+1=4次。
【答案解析】
问答题
一般地,若目录文件采用分解法前占用n个盘块,采用分解法后改用m个盘块存放文件名和文件内部号部分,请给出访问磁盘次数减少的条件。
【正确答案】由分解法计算可知,若文件控制信息占用的字节数大于文件名和文件内部号部分占用的字节数两倍以上时,即n>2m时,访问磁盘次数将减少。
【答案解析】