文章目录
- 磁盘
- 磁盘的物理结构
- LBA寻址法
- 抽象管理分区化
- 总结
磁盘
磁盘是计算机存储系统的核心部件之一,主要用于长期存储数据。磁盘的基本概念、物理结构和逻辑组织形式直接影响着其性能和使用效率。
下面的图片是一个磁盘:
磁盘打开之后的结构如下:
磁盘盘片是高速旋转的,顺时针旋转或者逆时针旋转跟磁盘有关,读写的磁头是只能左右摆动的。
这就形成了机械磁盘,我们来看看磁盘的物理结构:
磁盘的物理结构
上面是磁盘的物理结构,每一圈叫做磁道,每个磁道上的每一块叫做扇区,磁盘上的每个扇区一般都可以存储512KB
磁头在左右摆动用来定位磁道,磁盘在不断旋转用来定位扇区。
扇区是磁盘存储的最小单位,所以假如我们需要修改一个比特位的数据,我们也需要将整个扇区加载到内存当中进行修改。
因为一个磁盘能够存储的容量很有限,所以一般磁盘的两面都会用来存储,并且一般一个磁盘中不止一个盘面,实际上有两个以上的盘面。
实际上磁盘的结构是这样的,这里有三个磁盘面,磁盘面的编号从h0~h5。图上所示的柱面是假想出来的。
柱面是所有盘片上处于相同位置的磁道集合,每个磁道由其上的多个扇区组成。当我们将这些磁道想象为一个整体时,就形成了一个柱面。
这里产生了六个磁头,这六个磁头是共进退的,同时指向不同盘面中的同一个区域的扇区。
所以我们定位文件的步骤:
1.先定位磁头。
2.确定磁头要访问哪一个柱面(磁道)
3.定位扇区
上面步骤也就是CHS定址法
用Linux查看是否存在扇区信息:
可以看见Linux确实存在扇区这个概念,还可以看到有多少扇区,还有起始扇区和结束扇区。
上面我们讲了CHS定制法,CHS 定址法在早期的硬盘中曾经是常用的寻址方式,但随着硬盘容量的增加及其物理结构的复杂性,CHS 方法显得不再适用。现代硬盘和操作系统大多使用 LBA(逻辑块寻址)来代替 CHS,解决了容量限制、寻址效率等问题。
因为CHS具有很大的局限性,所以引入了LBA寻址法。
LBA寻址法
LBA(Logical Block Addressing,逻辑块寻址) 是一种现代硬盘寻址方法,它通过简单的逻辑块编号来替代传统的 CHS(Cylinder-Head-Sector) 定址法,使得硬盘容量和寻址方式更加灵活和高效。LBA 的出现解决了 CHS 的局限性,并且被广泛应用于现代硬盘、SSD 和其他存储设备。
这是多个盘面,我们先从单个盘面开始看起。
上面标红的磁道我们可以将其拉直形成一个线性的数组:
一恶搞磁道形成一维数组,但是有多个磁头同时指向每一个磁盘面对应的磁道,所以就有了我们的柱面,按照上面这个红色区域另外六个盘面对应的磁道会形成柱面,我们沿着柱面切开就形成了二维数组:
当不同的柱面都展开时就形成了三维数组:
这就是CHS的来源,因为每个磁道的个数和磁头个数还有扇区都是确定的,所以我们将其抽象为一个一维数组:
抽象管理分区化
根据上述,所以只需要用一个一维数组就可以管理这个磁盘,操作系统在进行IO时,以扇区为单位,512字节,单次IO的数据量有点少,所以计算机通常都是以4KB的数据块来进行IO的。
这里引入数据块的概念:一个数据块------8个扇区
上面的图就是形成的数据块。
我们以数据块为单位抽象为一维数组:
但是假如我们有500G要管理还是有很多块,还是不好管理,所以我们引入分区管理,假如我们有500G我们将其分为5个区,每个区100G
这样只需要管理好每个区域即可管理好磁盘,我们再将每个区域分为若干个组:
我们从管理分区切换到管理好每一个组即可。
每个组中也有很多块区,如上图所示。
这里我们需要介绍一下inode,我们都知道一个文件是有数据和属性构成的,属性也是数据,是以结构体的方式搭建起来的(inode),我们称这个属性的集合为inode,一个文件仅有一个inode,或者没有。
下面是inode的结构
原则上一个inode是128字节,但是有一些是256字节,所以我们接下来统一为2256字节。
每个文件都是一个inode的,我们可以通过ls的选项来查看inode:
当然这里还有很多没有说完,下一篇接着说。
总结
在本文中,我们深入探讨了磁盘的物理结构、LBA 寻址法以及分区管理的相关内容。首先,了解了磁盘的物理结构——它由多个盘片、磁头、磁道、扇区等组成,并且通过这些结构实现了数据的存储和访问。随后,我们介绍了 LBA 寻址法,它通过简化寻址方式,取代了传统的 CHS 定址法,为现代大容量硬盘的使用提供了支持。最后,我们讨论了磁盘分区化的概念,通过抽象管理的方式,使得磁盘的使用更加灵活、便捷,提升了数据的管理和存取效率。
磁盘技术的演进使得存储设备的性能和容量不断提升,从而支撑起了各类数据密集型应用的快速发展。在今后的技术进步中,磁盘的物理结构和管理方式仍将不断优化,以应对日益增长的存储需求和性能挑战。无论是硬件设计,还是软件管理,磁盘存储的持续创新都将为信息技术的发展提供重要支持。