问答题 请分别解释在连续分配方式、隐式链接分配方式、显式链接分配方式和索引分配方式中如何将文件的字节偏移量3500转换为物理块号和块内位移量(设盘块大小为1KB,盘块号需要占4B)。
【正确答案】文件的字节偏移量到磁盘物理地址的转换,关键在于对文件物理组织(或磁盘分配方式)的理解。连续分配方式是指为文件分配一段连续的文件存储空间;隐式链接分配则是指为文件分配多个离散的盘块,并将下一个盘块的地址登记在文件分配到的前一个盘块中;显式链接分配则通过FAT来登记分配给文件的多个盘块号;而索引分配方式则将多个盘块号登记在文件的索引表中。同时,在FCB的物理地址字段中,还登记有文件首个物理块的块号或指向索引表的指针(对于索引分配方式)。 首先,将字节偏移量3500转换成逻辑块号和块内位移: 3500/1024商为3,余数为428,即逻辑块号为3,块内位移为428。 (1)在连续分配方式中,可从相应文件的FCB中得到分配给该文件的起始物理盘块号,例如a0。故字节偏移量3500相应的物理盘块号为a0+3,块内位移为428。 (2)在隐式链接方式中,由于每个盘块中需要留出4B(通常是最后4B)来存放分配给文件的下一个盘块的块号,因此字节偏移量3500的逻辑块号为3500/1020的商3,而块内位移为余数440。 从相应文件的FCB中可获得分配给该文件的首个(第0个)盘块的块号,例如b0。然后可通过读b0块获得分配给文件的第1个盘块的块号,如b1。依次类推,得到第3块,b3。如此,便可得到字节偏移量3500对应的物理块号b3,而块内位移则为440。 (3)在显式链接方式中,可从文件的FCB中得到分配给文件的首个盘块的块号,如c0。然后可在FAT的第c0项中得到分配给文件的第1个盘块的块号,如c1。依次类推,找到第3个盘块的块号,如c3。如此,便可获得字节偏移量3500对应的物理块号c3,而块内位移则为428。 (4)在索引分配方式中,可从文件的FCB中得到索引表的地址。从索引表的第3项(距离索引表首字节12B的位置)可获得字节偏移量3500对应的物理块号,而块内位移为428。
【答案解析】