问答题 某文件系统采用多级索引的方式组织文件的数据存放,假定在文件的i_node中设有13个地址项,其中直接索引10项,一次间接索引项1项,二次间接索引项1项,三次间接索引项1项。数据块大小为4KB,磁盘地址用4B表示,问:
问答题 这个文件系统允许的最大文件长度是多少?
【正确答案】已知物理块大小为4KB,磁盘地址占4B,则每个物理块可容纳磁盘地址数为4KB/4B=1K。根据题目条件,直接索引的物理块有10个,一次间接索引的物理块有1K个,两次间接索引的物理块有1K×1K=1M个,三次间接索引的物理块有1K×1K×1K=1G个,那么最大文件的物理块个数为10+1K+1M+1G,又因为每个物理块大小为4KB,故总长度是(10+1K+1M+1G)×4KB=40KB+4MB+4GB+4TB 综上,这个文件系统允许的最大文件长度为40KB+4MB+4GB+4TB,大约为4TB。
【答案解析】
问答题 一个2GB大小的文件,在这个文件系统中实际占用多少空间?
【正确答案】占用空间分为文件实际大小和索引项大小,文件大小为2GB,从1)的计算可知,需要使用到二次间接索引项。该文件占用2GB/4KB=512K个数据块。 512K=10+1K+(512K-1K-10) 即占满了10项直接索引块,占满了1000个一次间接索引块,还有512K-1K-10=511K-10个二次间接索引块,需要占用的索引块个数[*]。因此除了文件实际大小,占用的空间有1个i_node数据结构空间(13×4B=52B),1个一级索引块(4KB),1个二级索引块(4KB),511个二级索引下的一级索引块(511×4KB),如图所示。 [*] 除了文件实际大小占用的空间总共占52B+4KB+4KB+511×4KB=52B+4KB+2MB,加上文件实际大小2GB,那么该文件实际占用磁盘空间大小为2GB+2MB+4KB+52B。
【答案解析】
问答题 假设有规划表所示的访盘请求,请计算出对这些请求的服务次序,使得平均访问时间最短。设当前磁头的位置是6号柱面。
{{B}}访盘请求{{/B}}
请求顺序 柱面号 磁头号 扇区号
1 3 2 1
2 5 1 5
3 3 2 5
4 3 4 1
5 9 2 1
6 9 1 5
7 5 2 5
8 5 4 8
【正确答案】由于题目只要求给出最省时的响应顺序,所以对具体算法没有限定。要注意的是,移臂时间由于是机械操作,在整个磁盘的访问时间中占据了主要地位,因此要首先考虑。由于当前磁头位于6号柱面,请求中,柱面号中有3个为3、3个为5、2个为9,一共可以有6种响应顺序,通过计算得知按照5,3,9的响应顺序时间开销最小,也就是先响应请求顺序2、7和8(暂不分先后),然后响应请求顺序1、3和4(暂不分先后),最后响应请求顺序5和6(暂不分先后)。 然后考虑旋转延迟时间优化,2、7和8请求的磁头号均不同,分别为1、2和4,访问的扇区号分别为5、5、8,因此只要磁头号不同但扇区号相同的请求同时响应,即让2、7请求在一起即可。取其中一种顺序可为2→7→8。 1、3、4请求的磁头号分别为2、2、4,访问的扇区分别为1、5、1,因此只要让磁头号不同但扇区号相同的请求同时响应,即让1、4请求在一起即可。取其中一种顺序可为3→1→4。 5、6请求的磁头号分别为2、1,访问的扇区号分别为1、5,不存在优势顺序,取其中一种可为5→6。 综上,可取服务次序为2→7→8→3→1→4→5→6。
【答案解析】