磁盘存储必知必会的知识点
1002024-11-14 09:11:15
神奇的现象:一个字符却占用 4KB?
你可以跟着一起实验,在你的电脑(Windows 或者 MacBook 都可
以)上新建或者修改一个 Txt 格式的文档,使其只有一个字符“a”,然后保存。
然后查看该文件的详情,会神奇的发现:只有一个字符 a 的文件却占用着 4KB 的磁盘空间?
更神奇的是,如果写入 1000 个、2000 个、4096 个 “a”,都是占用 4KB;持续增加数量,而如果写入 4097 个“a”,将占用 8KB?
这究竟是怎么回事呢?
磁盘的物理结构
要回答这个问题,得从磁盘的物理结构说起。磁盘的物理结构主要包括盘片、磁头、磁道、扇区和柱面等部分,它们共同构成了磁盘存储和检索数据的基础。
如上图所示,磁盘是由一个或者多个叠放在一起的盘片(Platter)构成的;每个盘片有两个表面(Surface),表面覆盖的磁性材料负责记录信息。
在盘片中央有一个主轴(Spindle),主轴可以使得盘片以固定的速度绕轴旋转,这个速度通常就是我们平时所说的磁盘是多少转的,专业术语叫做转每分钟(Revolution Per Minute,RPM)。
这样的结构封装在一个密封的容器中,我们叫做磁盘驱动器(Disk drive),简称磁盘(Disk)。
每个表面是由一组同心圆组成的,这些同心圆称为磁道(Track)。
每个磁道被划分为一组扇区(Sector)。每个扇区包含相等数量的数据位(通常是 512 字节)。
扇区之间是由间隙(Gap)隔开的,这些间隙不存储数据。
柱面(Cylinder)是所有盘片表面到主轴中心距离相等的磁道的集合。
磁盘容量
一个磁盘上可以记录的最大位数称为磁盘容量。磁盘容量是评估磁盘性能和存储能力的重要指标,它指的是磁盘可以存放数据量的大小。
磁盘容量的计算方式: 假设一个磁盘有 5 个盘片,每个面 20000 条磁道,每条磁道平均 300 个扇区,每个扇区 512 字节那么磁盘容量为:
根据笔者的计算机硬盘设置,1 个簇 =8 个扇区 =4 KB(4096 字节), 因此,无论多小的文件,在硬盘上应该也会占用 4 KB 的空间。
扇区是磁盘在物理上可读写的最小单位。一个扇区的长度一般为 512 字节。在电脑上,软件读写磁盘的单位是簇( cluster), 它的长度是扇区的整数倍,一般是 8 倍。
同一个簇中不能存放不同的文件,否则无法只删除簇中的部分文件。 因此,无论多小的文件,都要占用一个簇的空间,所有文件实际占用的磁盘空间是簇的整数倍。
1 个簇=8 个扇区=4 KB(4096 字节),无论写入 1 个“a”、2 个“a”,还是 4096 个“a”,都会占用 4KB 的磁盘空间。
而如果 4097 个字符“a”,1 个簇已经无法存下了,需要使用 2 个簇,那就是 8KB。
磁盘操作
磁盘读写操作的过程可以分为以下几个步骤:
磁盘读写操作过程
磁盘的读写其实就是读写头(read/write head)来读写存储在磁性表面的位。
移动传动臂(Arm)依靠机械运动定位到盘面上的磁道的操作称为寻道(Seek)。
寻道完成之后,会“寻找扇区”;“寻找扇区”传动臂不动,是依靠磁盘旋转来实现的;可以对照着物理结构图想一想。
当扇区确定之后,就可以从该扇区第一位开始读取内容了。
其实,上述的过程只是物理结构方面的过程,真正的读写过程中肯定还得靠操作系统的参与。
磁盘操作时间估算
在上面过程中,涉及寻道时间、旋转时间、传送时间。
寻道时间:移动传动臂,定位磁道所需要的时间;依赖读写头以前的位置和传动臂在盘面上移动的速度,一般为 3-9ms;
旋转时间:旋转磁盘,定位到扇区所需要的时间;依赖读写头到达目标扇区时盘面的位置以及磁盘旋转速度;
传送时间:读取整个扇区数据的时间;依赖磁盘旋转速度和每条磁道的扇区数目;
提高磁盘访问速度
那如何提高磁盘访问速度呢?
首先,从上面过程分析,可以想到的办法肯定是让提高影响访问时间的影响参数。可以让磁盘的传动臂移动得更快一点;旋转得更快一点;每条磁道上面的扇区数多一些;那么买电脑的时候也可以参考这些参数。
其次,可以考虑更换为固态硬盘,固态硬盘使用闪存芯片代替传统磁盘的机械驱动器,随机访问时间比旋转磁盘要快得多,能耗也更低,同时更结实。
其他,其实还可以通过操作系统方面的优化,这个后续再操作系统部分更新。
- 本文分类:硬盘知识
- 本文标签:无
- 浏览次数:100 次浏览
- 发布日期:2024-11-14 09:11:15
- 本文链接:https://m.yingpan.xyz/zhishi/vE9kEDZJeo.html
- 上一篇 > 总抱怨硬盘速度慢?快来了解提高电脑存储速度的方法
- 下一篇 > 如何手动拆下硬盘并销毁数据?