这里讲的主要是网上所谓的老式磁盘,
它是由一个个盘片组成的,
我们先从个盘片结构讲起。
如下图所示,
图中的一圈圈灰色同心圆为一条条磁道,
从圆心向外画直线,
可以将磁道划分为若干个弧段,
每个磁道上一个弧段被称之为一个扇区(图中绿色部分)。
扇区是磁盘的最小组成单元,
通常是512字节。
下图展示了由一个个盘片组成的磁盘立体结构,
一个盘片上下两面都是可读写的
图中蓝色部分叫柱面(cylinder).
简简单介绍了磁盘结构后,
下面我们将对磁盘的参数进行讲解。
磁盘的常见参数如下:
1. 磁头(head)
2. 磁道(track)
3. 柱面(cylinder)
4. 扇区(sector)
5. 圆盘(platter)
图2中磁盘是一个
3个圆盘
6个磁头
7个柱面(每个盘片7个磁道)的磁盘
图2中每条磁道有12个扇区,
所以此磁盘的容量为6*7*12*512字节。
即:
存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数
☆ 现代磁盘
下面讲一下现代磁盘,
在老式磁盘中,
尽管磁道周长不同,
但每个磁道上的扇区数是相等的,
越往圆心扇区弧段越短,
但其存储密度越高。
不过这种方式显然比较浪费空间,
因此现代磁盘则改为等密度结构,
这意味着外围磁道上的扇区数量要大于内圈的磁道,
寻址方式也改为以扇区为单位的线性寻址。
为了兼容老式的3D寻址方式,
现代磁盘控制器中都有一个地址翻译器
将3D寻址参数翻译为线性参数。
老式磁盘是等扇区结构,每个磁道的扇区数量相等。每个磁道的空间也相等,寻址的方式是3D寻址
现代磁盘是等密度结构,每个磁道上头的扇区数量不相等,每个磁道上头的空间也不相等。寻址的方式是线性寻址。其中有个地址翻译器可以兼容老师磁盘
Disk /dev/sda 是确定了是哪一块硬盘,硬盘总容量是21.5G,
21.5G=21.5*1024M=21.5*1024*1024K=21.5*1024^3byte=23085449216 bytes
图中显示字节数目为21474836480字节
计算相差1610612736 bytes=1572864 KB=1536M=1.5G
也就是这个硬盘按照字节数计算应该是只有20G。这个硬盘当中有255个磁头(疑惑一,磁头不是偶数)
每个磁道上面有63个扇区(疑惑二,现代磁盘每个磁道扇区不一样)
2610个柱面
Units = cylinders of 16065 * 512 = 8225280 bytes
这个16065是255*63的结果。这个一个柱面上头的扇区数目
这个Units表示的一个柱面的空间有多大。
这个一个柱面就是分区的最小单位
Sector size (logical / physical): 512 bytes / 512 bytes.
这是表示一个扇区的空间是512个在字节
那么这个硬盘上头有多少柱面呢
有多少个磁道,就应该有多少个柱面。
所以你看逻辑分区当中第一个5的最后end是
从上面的图中,可以看到Linux是用柱面来进行分区的。