如上图,每个柱面有三个盘面,即就是3个磁道,柱面可以抽象的理解成是一个套一个的立体的同心圆柱体
【例】(2019年408真题)磁盘有300个柱面,每个柱面有10个磁道,每个磁道有200个扇区,扇区大小为512B,则磁盘容量()
【分析】每个柱面有10个磁道,即就是共有10个盘面,磁盘有300个柱面,即就是每个盘面有300个磁道
磁盘容量 =
10
×
300
×
200
×
512
10 \times 300 \times 200 \times 512
10×300×200×512B =
10
×
300
×
100
×
(
2
×
512
B
)
10 \times 300 \times 100\times(2\times512B)
10×300×100×(2×512B) =
3
×
1
0
5
3\times 10^{5}
3×105KB
接上题,题目中又给出一个簇包含2个扇区,那么每个磁道有100个簇
要读/写一个簇,需要由驱动程序转化成物理地址:(柱面号,盘面号,扇区号),再由设备控制器控制硬件读取相应的扇区
(柱面号,盘面号,扇区号)
0~99号簇:
(
0
,
0
,
0
∼
199
)
(0, 0, 0\sim199)
(0,0,0∼199) (表示最里面一圈的柱面磁道,最上面一个盘面,0-199号扇区)
0号簇包含0号和1号扇区
1号簇包含2号和3号扇区
……
100~199号簇:
(
0
,
1
,
0
∼
199
)
(0, 1, 0\sim199)
(0,1,0∼199)
200~299号簇:
(
0
,
2
,
0
∼
199
)
(0, 2, 0\sim199)
(0,2,0∼199)
……
900~999号簇:
(
0
,
9
,
0
∼
199
)
(0, 9, 0\sim199)
(0,9,0∼199) (表示最里面一圈的柱面磁道,最下面一个盘面,0-199号扇区,此时第一个柱面的物理空间分配完毕)
——————————————————
1000~1099号簇:
(
1
,
0
,
0
∼
199
)
(1, 0, 0\sim199)
(1,0,0∼199) (表示从里往外数第二圈柱面,最上面一个盘面,0-199号扇区)
……
2000~2099号簇:
(
2
,
0
,
0
∼
199
)
(2, 0, 0\sim199)
(2,0,0∼199) (表示从里往外数第三圈柱面,最上面一个盘面,0-199号扇区)
由此可知,柱面号=
⌊
簇
号
/
1000
⌋
\left \lfloor 簇号/1000 \right \rfloor
⌊簇号/1000⌋
盘面号=⌊(簇号%1000)/100⌋
扇区号=(簇号%100)*2
【问】第100 530簇在磁盘上的物理地址是什么?
基于以上结论,柱面号=
⌊
100530
/
1000
⌋
\left \lfloor 100 530/1000 \right \rfloor
⌊100530/1000⌋=100
盘面号=⌊(100 530%1000)/100⌋=5
扇区号=(100 530%100)*2=60
得到物理地址:(100,5,60)
更多参考:https://blog.csdn.net/ly510587/article/details/100370841