在UNIX 中,如果一个盘块的大小为1KB,每个盘块号占4个字节,即每块可放256个地址。请转换下列文件的字节偏移量为物理地址:(1)9999;(2)18000;(3)420000。
正确答案:
步1 将逻辑文件的字节偏移量转换为文件的逻辑块号和块内偏移。方法是:将逻辑文件的字节偏移量/盘块大小,商为文件的逻辑块号,余数是块内偏移。
步2将文件的逻辑块号转换为物理块号。使用多重索引结构,在索引节点中根据逻辑块号通过直接索引或间接索引找到对应物理块号。
(1) 9000 L1=INT(9999,1024)=9 B1=MOD(9999,1024)=783
其逻辑块号为9,故直接索引addr[8]中可找到物理块号。
(2) 18000 L2=INT(18000,1024)=17 B1=MOD(18000,1024)=592
其逻辑块号为17,通过一次间接索引addr[10]中可找到物理块号。
(3) 420000 L1=INT(420000,1024)=410 B1=MOD(9000,1024)=160
其逻辑块号为410,通过二次间接索引addr[11]中可找到物理块号。
步2将文件的逻辑块号转换为物理块号。使用多重索引结构,在索引节点中根据逻辑块号通过直接索引或间接索引找到对应物理块号。
(1) 9000 L1=INT(9999,1024)=9 B1=MOD(9999,1024)=783
其逻辑块号为9,故直接索引addr[8]中可找到物理块号。
(2) 18000 L2=INT(18000,1024)=17 B1=MOD(18000,1024)=592
其逻辑块号为17,通过一次间接索引addr[10]中可找到物理块号。
(3) 420000 L1=INT(420000,1024)=410 B1=MOD(9000,1024)=160
其逻辑块号为410,通过二次间接索引addr[11]中可找到物理块号。
答案解析:有
微信扫一扫手机做题