作者Aa841018 (andrew)
看板Grad-ProbAsk
标题[理工] OS-inode观念!
时间Tue Feb 19 22:03:05 2019
https://i.imgur.com/6NSIHt3.jpg
因为实在是想不通,想请教一下各位:
1-12放data block num,
13-15:single,double,triple
首先要确定拉出去的Index block内有几个data block num,於是
block size/block num(address)length=一个index block内所放的data block个数=2^10
(假设)
然後开始算max size=
(12+2^10+2^20+2^30)*block size
停!
如果13拉出去的一整个index block的大小=block size的话,那怎能这样算?
上面公式是在算index block内的data block num个数吧?怎能用整个index block size
来乘?
这里卡好久想不通………
我是哪里搞错了啊??
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.242.131.35
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1550584988.A.D6E.html
1F:推 seika555: 有点看不懂你的叙述,不过single跟double那边其实就是 02/19 22:33
2F:→ seika555: 跟multi-level page的道理一样,就是把原本的那个block 02/19 22:33
3F:→ seika555: 拿来当索引而已,因此才会用block-size去除以一个pointe 02/19 22:33
4F:→ seika555: r的大小,看总共几个索引 02/19 22:33
5F:推 skyHuan: 1到12每格里面存的都是pointer,会指到一个disk block,1 02/19 22:36
6F:→ skyHuan: 3的single是拿一个disk block来当index block,可以存1K 02/19 22:36
7F:→ skyHuan: 个(依你的假设)pointer,每个pointer都指到一个disk bloc 02/19 22:36
8F:→ skyHuan: k存档案,以此类推 02/19 22:36
9F:→ Aa841018: 对,然後计算出来的(12+………)这一串,应该是pointer 02/19 22:45
10F:→ Aa841018: 或者说是data block num的总数,那应该乘上pointer长而 02/19 22:45
11F:→ Aa841018: 不是block size吧? 02/19 22:45
12F:推 skyHuan: 题目要算的是可以存的档案大小,而你算的这些(12+...)都 02/19 22:49
13F:→ skyHuan: 是存pointer,每个都会再指到一个大小为4 KB的disk block 02/19 22:49
14F:→ skyHuan: ,所以能存的档案大小就是解答那样 02/19 22:49
15F:→ Aa841018: 哦!谢谢你,我终於懂了! 02/19 22:54
16F:推 Davidhu127: 借问一下,在Linux里面,大档案也会用到direct pointe 02/21 00:29
17F:→ Davidhu127: r(那12个)吗?还是会改成只用indirect?如果是後者的 02/21 00:29
18F:→ Davidhu127: 话,那这题答案应该会不一样才对。 02/21 00:29
19F:推 skyHuan: 都会从1开始长,12格用完到第13会长出single level,都 02/21 00:56
20F:→ skyHuan: 用完到14格会长出double依此类推 02/21 00:56