有名为MYFILE的文件 共20个逻辑记录 每个记录长为125字节。该文件采用链接结构存储到磁盘上 每个磁盘块的长
磁盘,字节,逻辑
已帮助 人
有名为MYFILE的文件,共20个逻辑记录,每个记录长为125字节。该文件采用链接结构存储到磁盘上,每个磁盘块的长度是512字节。试问:
-
应该采用记录成组方式把逻辑记录存储在磁盘空间里。现在一个逻辑记录长125个字节,而磁盘块的长度是512字节。所以,可以将4个逻辑记录组成一组,放到一个磁盘块里。一个磁盘块里放了4个逻辑记录后,还剩下12个字节,正好开辟成为指针,指向下一个磁盘块。所以,系统应该分配给MYFILE文件共5个磁盘块。$假设系统分配给MYFILE文件的磁盘块的块号为:8,2,24,18,11。那么它在磁盘上的链接结构示意图如图所示。
$首先要知道包含第1285字节的逻辑记录应该放在链接结构的第几块。因为一个逻辑记录是125个字节,4个逻辑记录放在一个磁盘块里。所以
1285/(125×4)=2 (“/”表示整除运算)
即包含第1285字节的逻辑记录应该放在链接结构的第3块(注意,由于是用整除,所以第1块应该是0)。
其次,文件系统沿着指针,把第3块(也就是块号为24的块)读入内存缓冲区中。
最后,由
1285%(125×4)=285(“%”表示求余运算)
且
125×2<285<125×3
所以把缓冲区里的第3个记录读到用户指定的内存区里。
