龙空技术网

磁盘存储必知必会的知识点

码上暴富 339

前言:

此刻各位老铁们对“windows 分区 整数”可能比较注重,兄弟们都需要剖析一些“windows 分区 整数”的相关知识。那么小编同时在网络上搜集了一些关于“windows 分区 整数””的相关文章,希望同学们能喜欢,咱们快快来学习一下吧!

神奇的现象:一个字符却占用 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;

旋转时间:旋转磁盘,定位到扇区所需要的时间;依赖读写头到达目标扇区时盘面的位置以及磁盘旋转速度;

传送时间:读取整个扇区数据的时间;依赖磁盘旋转速度和每条磁道的扇区数目;

提高磁盘访问速度

那如何提高磁盘访问速度呢?

首先,从上面过程分析,可以想到的办法肯定是让提高影响访问时间的影响参数。可以让磁盘的传动臂移动得更快一点;旋转得更快一点;每条磁道上面的扇区数多一些;那么买电脑的时候也可以参考这些参数。

其次,可以考虑更换为固态硬盘,固态硬盘使用闪存芯片代替传统磁盘的机械驱动器,随机访问时间比旋转磁盘要快得多,能耗也更低,同时更结实。

其他,其实还可以通过操作系统方面的优化,这个后续再操作系统部分更新。

标签: #windows 分区 整数