题目:设文件索引结点中又7个地址项,其中4个地址项是直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接索引,每个地址项大小为4B,若磁盘索引块和磁盘数据块大小均为256B,则可表示的单个文件最大长度是()
这里先给出求解的图解示意图:
1.先理解直接地址索引、一级间接索引、二级间接索引
- 直接地址索引:直接指向一个存数据的磁盘块
- 一级间接索引:指向一个内容全部是直接地址索引的磁盘块,它所指向的这个磁盘块中的每个直接地址索引,又指向不同的存数据的磁盘块
- 二级间接索引:先指向一个包含一级间接索引的磁盘块,每个一级间接索引再指向一个包含直接地址索引的磁盘块,每个直接地址索引再直接指向一个存数据的磁盘块
2.分析
- 每个磁盘块大小256B,每个地址项大小为4B,因此一个磁盘块可以存放256/4=64个地址项,因此,在一级间接索引和二级间接索引的那些中间的存放地址索引的磁盘块,每个可以存放64个地址
- 单个文件的索引结点包含的地址项所指向的存放数据的磁盘,若都是存放这个文件的数据,没有其他文件的数据跟它共享一个磁盘块,那这些所有所指的存放数据的磁盘块的大小就是单个文件的最大长度
- 4个直接地址索引,直接指向4个存放数据的磁盘块,这部分数据大小为4*256B=1024B
- 1个一级间接地址索引,指向一个包含64个直接地址索引的磁盘块,每个直接地址索引又指向一个存放数据的磁盘块,因此,一个一级间接地址索引所对应的数据大小为64*256B=16384B
- 1个二级间接地址索引,指向一个包含64个一级间接地址的磁盘块,每个一级间接地址又指向64个直接地址索引,因此一个二级间接地址索引一共指向6464个直接地址索引,因此一个二级间接地址索引对应的数据大小为6464*256=1048576B
- 因此,一个文件的索引结点包含的4个直接地址索引+2个一级间接索引+1个二级间接索引所能表示的单个文件最大长度为1024B+2*16384B+1048576B=1082368B=1057KB