一个文件系统中有一个20MB大文件和一个20KB小文件,当分别采用连续分配、隐式链接分配方案时,每块大小为4096B,每块地址用4B表示,问: 如需要读大文件前面第5.5KB的信息和后面第(16MB+5.5KB)的信息,则每个方案各需要多少次盘I/O操作

admin2018-07-17  24

问题 一个文件系统中有一个20MB大文件和一个20KB小文件,当分别采用连续分配、隐式链接分配方案时,每块大小为4096B,每块地址用4B表示,问:
如需要读大文件前面第5.5KB的信息和后面第(16MB+5.5KB)的信息,则每个方案各需要多少次盘I/O操作?

选项

答案连续分配:为读大文件前面和后面信息都需先计算信息在文件中相对块数,前面信息相对逻辑块号为5.5K/4K=1(从0开始编号),后面信息相对逻辑块号为(16M+5.5K)/4K=4097。再计算物理块号:文件首块号+相对逻辑块号,最后每块分别只需花一次磁盘I/O操作读出该块信息。 链接分配:为读大文件前面5.5KB的信息,只需先读一次文件头块得到信息所在块的块号,再读一次第1号逻辑块得到所需信息,一共需要2次读盘。而读大文件16MB+5.5KB处的信息,逻辑块号为(16M+5.5K)/4092=410l,要先把该信息所在块前面块顺序读出,共花费4101次磁盘I/O操作,才能得到信息所在块的块号,最后再花一次I/O操作读出该块信息。所以总共需要4102次I/O操作才能读取(16MB+5.5KB)处的信息。

解析
转载请注明原文地址:https://jikaoti.com/ti/fAfjFFFM
0

最新回复(0)