考虑一个存于磁盘上的文件系统 其中的文件由大小为512B的块组成。假定每一个文件有一个文件目
问题详情
考虑一个存于磁盘上的文件系统,其中的文件由大小为512B的块组成。假定每一个文件有一个文件目录项,该目录项包含该文件的名字、文件长度以及第一块(或第一索引块)和最后一块的位置,而且该目录项位于内存。对于索引结构文件,该目录项指明第一索引块,该索引块又依次指向511个文件块且有一指向下一索引块的指针。针对连续、链接、索引结构的每一种,要求:
a.说明在这个系统中是如何实现逻辑地址到物理地址映射的;
b.如果当前位于逻辑块10(即最后一次访问的块是逻辑块10)且访问逻辑块4,请说明必须从盘上读多少个物理块。请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:设文件的逻辑地址(字节)为1a用512去除1a分别记1bn和bd为除得的商和余数则1bn表示该块得逻辑块号bd表示块内偏移。设文件的起始块号为sbn。那么针对 3种结构分别有:①连续结构。连续结构也就是文件以连续方式存放依次在内存排列其过程是:pbn=sbn+1bn;/*要访问的物理块号*/;1块。②链接结构。查链接表直至找到所需要的块号过程是:m1:=sbnif 1bn>0 Thenbeginfor I:=0 to 1bn-1beginm1:=m1.next; /*取位于m1的物理块;用下一块地址替代m1+t*/end;end;pbn:=m1;/*要访问的物理块号*/4块。③索引结构。将第一索引块读进内存记为index记r=1bn/511:s=:1bn mod 511if r>0 thenbeginfor I:=I to rbegin读入index(512)块并记为index endendpbn:=index(s)1块。
设文件的逻辑地址(字节)为1a,用512去除1a,分别记1bn和bd为除得的商和余数,则1bn表示该块得逻辑块号,bd表示块内偏移。设文件的起始块号为sbn。那么针对 3种结构,分别有:①连续结构。连续结构也就是文件以连续方式存放,依次在内存排列,其过程是:pbn=sbn+1bn;/*要访问的物理块号*/;1块。②链接结构。查链接表直至找到所需要的块号,过程是:m1:=sbnif 1bn>0 Thenbeginfor I:=0 to 1bn-1beginm1:=m1.next; /*取位于m1的物理块;用下一块地址替代m1+t*/end;end;pbn:=m1;/*要访问的物理块号*/4块。③索引结构。将第一索引块读进内存,记为index,记r=1bn/511:s=:1bn mod 511if r>0 thenbeginfor I:=I to rbegin读入index(512)块,并记为index endendpbn:=index(s)1块。