磁盘的物理结构
磁盘的物理结构是指磁盘存储数据的形式。
磁盘是通过把其物理表面划分成多个空间来使用的。划分的方式有扇区方式和可变长方式两种,前者是指将磁盘划分为固定长度的空间,后者则是指把磁盘划分为长度可变的空间。一般的Windows计算机所使用的硬盘和软盘,采用的都是扇区方式。扇区方式中,把磁盘表面分成若干个同心圆的空间就是磁道,把磁道按照固定大小(能存储的数据长度相同)划分而成的空间就是扇区(如下图)。
扇区是对磁盘进行物理读写的最小单位。Windows中使用的磁盘,一般1个扇区是512字节。不过,Windows在逻辑方面(软件方面)对磁盘进行读写的单位是扇区整数倍簇。根据磁盘容量的不同,1簇可以是512字节(1簇=1扇区)、1KB(1簇=2扇区)、2KB、4KB、8KB、16KB、32KB(1簇=64扇区)。磁盘的容量越大,簇的容量也越大。不过,在软盘中,1簇=512字节=1扇区,簇和扇区的大小是相等的。
不管是硬盘还是软盘,不同的文件是不能存储在同一个簇中的,否则就会导致只有一方的文件不能被删除。因此,不管是多么小的文件,都会占用1簇的空间。这样一来,所有的文件都会占用1簇的整数倍的磁盘空间。
由于在硬盘上做试验比较麻烦,所以我们选择在软盘上进行。首先,把软盘按照“1.44MB,512字节/扇区”进行格式化。软盘中,1扇区=1簇。格式化完成后,我们可以看一下磁盘的属性,这时的已用空间应该是0字节,因为没有存储任何文件,如下图:
接下来,让我们用记事本等文本编辑工具(文本编辑工具指的是像简易的文字处理机那样可以输入文字的应用。标准的Windows 中都带有记事本(notepad.exe)这一文字编辑工具)。做成一个只有1个半角文字的文件,并将其保存到软盘中,然后再来看一下磁盘的属性。这时我们就会发现,虽然文件的大小只有1字节,但使用空间却变成了512字节。
再次打开上述文件,并增加一些文字,然后覆盖保存。如下图:
这时再查看一下磁盘的属性就会发现,当文件大小未达到512个半角文字(=512字节)时,已用空间一直是512字节。一旦达到513个文字,已用空间就会一下子变成1024字节(=2簇)。通过这个实验,想必大家都应该明白磁盘的数据保存是以簇为单位来进行了吧。
以簇为单位进行读写时,1簇中没有填满的区域会保持不被使用的状态。虽然这看起来是有点浪费,不过该机制就是如此规定的,所以我们也没有什么好办法。另外,如果减少簇的容量,磁盘访问次数就会增加,就会导致读写文件的时间变长。由于在磁盘表面上,表示扇区区分的领域是必要的,因此,如果簇的容量过小,磁盘的整体容量也会减少。扇区和簇的大小,是由处理速度和存储容量的平衡来决定的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了