UNIX三级索引技术
目标:学透软考的一道题目
基础知识
- 在文件系统中,文件的存储设备通常划分为若干个大小相等的物理块,每块长为512或1024字节。文件的物理结构是指文件在存储设备上的存储方法,常用的文件物理结构有:连续文件、串联文件和索引文件三种。
- 存储空间会被划分成n个物理块,在索引文件中,一个文件会被放入不同的物理块,这时需要索引表指出一个文件分别被拆分存在哪个块,所以索引表里存的是文件碎片的地址
索引文件:
是一种对文件存储不连续分配的方法,为每个文件建立一张索引表 (索引表不一定存在文件存放位置,为了减少访问磁盘的次数,一般先读入索引表),索引表中的每一表项指出文件信息所在的逻辑块号和与之对应的物理块号
对一些大的文件,当索引表的大小超过一个物理块时,会发生索引表的分配问题 ,一般采用多级(间接索引)技术
多级(间接索引)技术 :
这时在由索引表指出的物理块中存放的不是文件存储位置而是存放文件信息的物理块地址(即索引表里存索引表…)
Unix系统三级索引:
为了使一张索引表(一个数组)能完整存下一个文件
在Unix系统中,文件的物理结构采用索引方式。定义有一个索引节点字符数组(一张索引表),该字符数组最多可以放下13个地址项(理解成13个盘块或13个物理块),并且规定
地址项0-9采用直接寻址方法,
地址项10采用一级间接寻址,
地址项11采用二级间接寻址,
地址项12采用三级间接寻址。
题目分析
根据UNIX的文件存储规定,目测答案为B
换算过程: 11264字节/1024字节(1KB)=11KB ,由于地址项0-9可直接寻址10个物理盘块,又因为每个盘块的大小为1KB,所以访问文件前10KB采用直接寻址,地址项10采用一次间接寻址,即地址项10里存放的是一级索引表的地址
因为每个盘块号占4个字节,所以,一级索引表可存放1024(1KB)/4 = 256个物理块地址,所以当访问文件10–>10+256=266KB之间采用一次间接寻址
同理,二级索引表可存放的则为256256个物理块,三级索引表则为256乘256乘256
结构示意图