问答题 在磁盘上有一个文件系统,磁盘每块512字。假定每个文件在目录中占有一个目录项;该目录项给出了文件名、第一个索引块的地址、文件长度(块数)。在索引块中(包含第一个索引块)前面511个字指向文件块,即第i个索引项(i=0,1,…,510)指向文件的i块,索引块中最后一个字指向下一个索引块,最后一个索引块中最后一个字为nil。假定目录在存储器中,每个文件的逻辑块号均从0号开始标号,逻辑块长与物理块长相同,对这样的索引物理结构,该系统应如何将逻辑块号变换成物理块号?
【正确答案】根据题意,首先将题设条件转化为磁盘存储结构,如图所示。设逻辑地址为L,假设逻辑块号为n。
[*]

逻辑块号变换成物理块号的过程为:首先根据逻辑文件的文件名找到目录表中该文件对应的目录项,找出第一个索引块的地址d1,若n<511,取出第一个索引块第n项的值,即为查找逻辑块号所对应的物理块号w。如果n≥511,得到第二个索引块的地址d2,令n=n-511,若此时n≥511,则继续令d2-511,得到第三个索引块地址d3,……依次类推,直到n<511时,取出第i个索引块第n项的值,即为查找逻辑块号所对应的物理块号w。
【答案解析】