t
磁盘
root
A
B
C
D1 Dn
……
E F
D2
G H Z
⼤⼩:9个块 12个块 6154个块
注1:假设该磁盘中每个盘块的⼤⼩为4KB。
注2:下图为该⽂件系统中的⽬录结构示意,⽅形为⽬录⽂件,圆形为普通⽂件。
⼤⼩:3个块
6号块4号块3号块2号块1号块 7号块0号块 5号块
14号块12号块11号块10号块9号块 15号块8号块 13号块
22号块20号块19号块18号块17号块 23号块16号块 21号块
30号块28号块27号块26号块25号块 31号块24号块 29号块
Made By @王道咸⻥⽼师-计算机考研
⽤于引导操作
系统初始化的
⼀段程序
引导块
(boot block)
根⽬录
(存在固定位置)
指向⽂件A对应的inode
指向“上⼀级⽬录”对应的inode
指向⽂件C对应的inode
指向⽂件B对应的inode
指向“当前⽬录”对应的inode
7C
2B
1
inode 号
(2 B)
0
0
A
..
.
⽂件名
(14 B)
⽂件名 inode 号
1.
Dn ……
…………
……
Dm
……
…………
……
……
D3 ……
……
5
0
D1
……
……
D4
D2
..
⽬录⽂件A的内容
思考1:如何确定⽬录⽂件A需要占多少个块?
回答1:(⽬录项的数 * 每个⽬录项的⼤⼩)/块⼤⼩
思考2:如果从根⽬录开始查找,要将⽂件 “/A/Dm” 读⼊内存,描述背后发⽣了什么?
回答2:根⽬录⽂件常驻内存,⾸先查内存中的根⽬录,找到⽬录项A——根据⽬录项A可知,⽂件A对应 1号inode结点,因此要将1
号inode结点从磁盘读⼊内存——根据刚读⼊的1号inode结点,可知⽂件A的索引信息,也就是知道了⽂件A的每⼀个块存储在什么
位置,接下来可读⼊⽬录⽂件A的第⼀块(6号物理块)——尝试查找⽬录项Dm,如果没找到,那么还需要读⼊⽬录⽂件A的第⼆
块(7号物理块)——找到⽬录项Dm之后,根据⽬录项记录的inode号,将Dm的inode结点从磁盘读⼊内存——根据Dm的inode结
点,读⼊Dm的第⼀块(m号物理块)、第⼆块(k号物理块)
⽬录⽂件C的内容
⽂件B
的第3块
⽂件B
的第1块
⽂件B
的第2块
⽂件名 inode 号
7.
4
0
3
F
E
..
7..
inode 号
3.
⽂件名
⽬录⽂件E的内容
⽂件名 inode 号
4.
11
7
10
9
Z
H
G
..
⽬录⽂件F的内容
注:虽然⽬录E下⾯没有任何东⻄,但是⽬录⽂件E也会包含两个⽬录项,“.”和“..”
问题1:⽂件B是⼀个 .mp3 类型的⽂件,什么歌呢——周杰伦的《发如雪》。如果你
的⾳乐播放器,每次只读⼊⼀块的数据。那这⾸歌直接快进到最后⼀句,背后发⽣了
什么?
回答1:这⾸歌的最后⼀句,应该存储在该⽂件的最后⼀个逻辑块。此时⽂件B的inode
结点已经被调⼊内存,因此只需要根据inode节点中保存的混合索引表,即可直接找到
B的最后⼀个逻辑块存放在哪⼉,显然,应该是8号物理块。因此如果快进到歌曲的最
后⼀句,背后会根据索引表的指示,调⼊8号物理块
歌曲部分:狼⽛⽉伊⼈憔悴…
歌曲部分:... 你若撒 今⽣我把酒奉陪
位示图
(bit map)
………… ……… …
…… …… … …… …
… ………… …… …
… … …… ……… …
… … … …… … ……
………… …………
… … …… …………
……… ……… ……
… …… ……… ……
… …… …… … ……
… …… …… ………
11 1 111 1 1
1 11 111 01
0 11 11 1 10
01000101
71 30 52 64
inode 区
注:“inode结点”就是“索引节点”。在Unix
⽂件系统中,所有的索引结点集中存放。⽤
于表示“⽂件物理结构”的“混合索引表”被包
含在inode结点中,通过“混合索引表”,即
可找到⼀个⽂件中每个块存储的物理位置
1
5
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
根⽬录⽂件对应的
inode 结点
⽬录⽂件A对应的
inode 结点
普通⽂件B对应的
inode 结点
⽬录⽂件C对应的
inode 结点
普通⽂件Dm对应的
inode 结点
⽬录⽂件E对应的
inode 结点
⽬录⽂件F对应的
inode 结点
…….11 1310 1512 1614
…….
…
…
…
19
21
…
…
NULL
NULL
…
12
…
16
…
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
…
….
….
…
…
…
…
NULL
24
…
6154
…
….
…
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
7
2
6
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
12
8
3
10
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
1
13
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
1
14
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
k
2
m
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
1
9
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
…
…
…
18
…
…
9
…
11
…
三级间接
⼆级间接
⼀级间接
直接索引9
直接索引8
直接索引2
直接索引6
直接索引1
直接索引4
共享计数
创建时间
所有者
直接索引5
直接索引3
直接索引7
直接索引0
总块数
普通⽂件G对应的
inode 结点
普通⽂件H对应的
inode 结点
普通⽂件Z对应的
inode 结点
⽂件G
的第1块
⽂件G
的第9块
⽂件H
的第1块
⽂件H
的第10块
⽂件H
的索引块
块号
23
(隐含的)
22
0
1023
NULL
3
NULL
1
NULL
NULL
2
4
⽂件H
的第11块
⽂件H
的第12块
注2:每⼀张索引表需要刚好占满⼀个块,因此,若每个磁盘块⼤
⼩为4KB,每个索引项4B,则⼀张索引表包含1024个索引项
⽂件Z
的索引块
5
NULL
块号
…
(隐含的)
…0
1023
…3
…
NULL
NULL
1
30
…2
4
⽂件Z
的索引块
⽂件Z
的第6154块
暂未使⽤的
inode 结点
暂未使⽤的
inode 结点
暂未使⽤的
inode 结点
暂未使⽤的
inode 结点
暂未使⽤的
inode 结点
注:图中
⻩⾊部分
就是⽂件
的混合索
引表
注:虚线
框⾥这⼀
⾏表示
inode结点
的编号
这个位示图,每个bit
对应⼀个物理块。1表
示不空闲,0表示空闲
块号
…
(隐含的)
…0
1023
…3
…
28
…
1
…
…2
4
注:这是⽂件Z的⼆级间接索引指向的索引块。注意观
察13号inode,⼆级间接索引指向 24
注:要找到⽂件的第6154块,应该先找到⽂件Z的inode结
点,根据其中的⼆级间接索引,找到存放在24号块中的第⼀级
索引表,通过24号块中的第5个索引项,找到存放在30号块的
第⼆级索引表,最后通过30号块的第1024个索引项,找到⽂
件Z的第6154个数据块,也就是28号磁盘块
超级块
(superblock)
注1:位示图中,每个bit对应⼀个磁盘块,因此,若磁盘块共有 n 个,
则位示图也⾄少要有 n bit。
注2:这⾥只⽤了⼀个磁盘块存储位示图,⼀个磁盘块⼤⼩为4KB,即
32K bit,因此这个位示图能⽀持的磁盘⼤⼩上限为 32K 个块。如果需
要⽀持更多磁盘块,则需要扩充位示图的⼤⼩
注1:在Unix⽂件系统中,每个⽂件必须对应⼀个inode结点,⽽ inode结点的总数是有上限的。如:该示意图中,仅⽤两个磁盘块,即8KB作为inode区,
假设每个inode⼤⼩为64B,则该⽂件系统最多只能存储8KB/64B=128个 inode结点,相应地,该系统最多只能⽀持128个⽂件。
注2:当⼀个进程通过open系统调⽤打开某个⽂件时,操作系统需要将该⽂件对应的 inode结点读⼊主存。
包含⼀些要
的⽂件系统管
理信息,如:
魔数、磁盘转
速、磁道数、
扇区数等
注1:根⽬录的信息存储在磁盘的固定位置,这样可以保证开机时,能够
找到根⽬录,再从根⽬录出发找到其他信息
注2:开机时,根⽬录的内容通常会被加载到内存,并⼀直常驻内存
注3:由于Unix⽂件系统采⽤了“索引节点”,因此每个⽬录项只需包含
“⽂件名、inode号”,⽂件的具体属性包含在 inode 中
注4:每个⽬录⽂件中默认包含两个⽬录项,分别是“.”和“..”。“.”表示
当前⽬录,“..”表示上⼀级⽬录。根⽬录⽐较特殊,没有所谓的“上⼀级
⽬录”,因此它的⽬录项“..”指向⾃身
当前⽬录是E,对应3号inode
上⼀级⽬录是C,对应7号inode
当前⽬录是C,对应7号inode
上⼀级⽬录是根⽬录,对应0号inode
⽂件E对应3号inode
⽂件F对应4号inode
当前⽬录是A,对应1号inode
上⼀级⽬录是根⽬录,对应0号inode
⽂件Dm对应5号inode
当前⽬录是F,对应4号inode
上⼀级⽬录是C,对应7号inode
⽂件G对应9号inode
⽂件H对应10号inode
⽂件Z对应11号inode
注1:如果⼀个磁盘块⽤于存储索引表,则通常将其称为“索引
块”;如果⼀个磁盘块⽤于存储⽂件的数据,则通常将其称为“数
据块”
指向⽂件H的第11个数据块
指向⽂件H的第12个数据块
Unix⽂件系统(UFS)示意图
中国大学MOOC中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC
中国大学MOOC