一道操作系统的习题,含答案,但我不知道为什么 20
在实现文件系统时,为加快文件目录的检索速度,可利用"文件控制块分解法"。假设目录文件存放在磁盘上,每个盘块512字节。文件控制块占64字节,其中文件名占8字节。通常将文件...
在实现文件系统时,为加快文件目录的检索速度,可利用"文件控制块分解法"。假设目录文件存放在磁盘上,每个盘块512字节。文件控制块占64字节,其中文件名占8字节。通常将文件控制块分解成两部分,第1部分占10字节(包括文件名和文件内部号),第2部分占56字节(包括文件内部号和文件其他描述信息)。(北京大学1997年试题)
①假设某一目录文件共有254个文件控制块,试分别给出采用分解法前和分解法后,查找该目录文件的某一个文件控制块的平均访问磁盘次数。
②一般地,若目录文件分解前占用n个盘块,分解后改用m个盘块存放文件名和文件内部号部分,请给出访问磁盘次数减少的条件。
【分析】
利用"文件控制块分解法"加快文件目录的检索速度,其原理是减少因查找文件内部号而产生的访问磁盘次数。因为在进行查找文件内部号的过程中不再需要把文件控制块的所有内容都读入,所以在查找过程中所需读入的存储块减少(即减少了访问磁盘的次数)。但是,采用这种方法访问文件,当找到匹配的文件控制块后,还需要进行一次磁盘访问,才能读出全部的文件控制块信息。这就是为何采用这种方法在一定条件下并不能减少访问磁盘的次数的原因。
【解答】
①采用分解法前,查找该目录文件的某一个文件控制块的平均访问磁盘次数为:
64×(254/2)/512=16采用分解法后,查找该目录文件的某一个文件控制块的平均访问磁盘次数为:10×(254/2)/512+1=4
②访问磁盘次数减少的条件为:m<n-2
254/2为什么要除以2, 64×(254/2)/512 10×(254/2)/512+1各应该怎么解释
还有第二小题怎么来的 展开
①假设某一目录文件共有254个文件控制块,试分别给出采用分解法前和分解法后,查找该目录文件的某一个文件控制块的平均访问磁盘次数。
②一般地,若目录文件分解前占用n个盘块,分解后改用m个盘块存放文件名和文件内部号部分,请给出访问磁盘次数减少的条件。
【分析】
利用"文件控制块分解法"加快文件目录的检索速度,其原理是减少因查找文件内部号而产生的访问磁盘次数。因为在进行查找文件内部号的过程中不再需要把文件控制块的所有内容都读入,所以在查找过程中所需读入的存储块减少(即减少了访问磁盘的次数)。但是,采用这种方法访问文件,当找到匹配的文件控制块后,还需要进行一次磁盘访问,才能读出全部的文件控制块信息。这就是为何采用这种方法在一定条件下并不能减少访问磁盘的次数的原因。
【解答】
①采用分解法前,查找该目录文件的某一个文件控制块的平均访问磁盘次数为:
64×(254/2)/512=16采用分解法后,查找该目录文件的某一个文件控制块的平均访问磁盘次数为:10×(254/2)/512+1=4
②访问磁盘次数减少的条件为:m<n-2
254/2为什么要除以2, 64×(254/2)/512 10×(254/2)/512+1各应该怎么解释
还有第二小题怎么来的 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询