我开始对硬盘的运行方式感到困惑,特别是在盘片上写入和读取数据的方式。
根据这篇文章:
http://www.tech-faq.com/how-data-is-stored-in-your-hard-disk.html
硬盘以线性路径写入数据(我推测是这样的)。如果是这样,那么扇区是用来做什么的?
答案1
根据这篇文章: http://www.tech-faq.com/how-data-is-stored-in-your-hard-disk.html 硬盘以线性路径写入数据(正如我所推测的那样)。
不幸的是,你引用的那篇文章不太好。作者使用了“线性路径”的概念,但磁盘也被称为随机存取设备(相对于顺序存取设备比如磁带)。所谓的“第二个概念”是“数据存储在第一个可用空间上“是错误的,因为分配是由操作系统的文件系统决定的,并且基于奇怪的因素(圆柱边界?),正如 WinXP 的碎片整理表示中未使用的簇块所证明的那样。(维基百科文章也好不到哪里去:它有不准确之处并且以 PC 为中心。)
使用磁盘扇区的原因是:
- 它是磁记录的(整体)单元。
- 它是数据访问和传输的单位。
- 它是分配的(基本)单位。
磁记录
在磁性介质上读写数据需要介质移动,并且需要擦除和写入磁头远离现有数据打开和关闭。因此磁盘数据总是以扇区为单位写入和读取(或者更准确地说是数据记录) 以保留每个轨道的布局(或格式)。
更完整的解释是我的回答: 硬盘被覆盖后,是否可以检测到硬盘上先前的字节位置?
要点是,将数据写入磁盘时必须避免干扰驱动器上现有的任何数据(当打开擦除和写入磁头时)。磁盘上的数据分为记录. 之间的区域记录被称为记录间间隙或简称为间隙。间隙内有一个特殊区域,称为写拼接. 擦除和写入磁头必须仅在这些范围内打开或关闭写拼接区域,以免损坏任何现有的录制数据(包括每次录制前后的间隙数据)。注意:(物理)格式化硬盘的过程是写入地址标记,身分證據, (空白的)数据记录以及硬盘每条磁道上每个扇区所需的所有间隙。当一个扇区被“写入”时,只有数据记录(及其前导和尾随差距)的扇区被重写。地址标记和身分證據格式化之后永远不会被重写。
数据访问和传输
磁盘驱动器是“随机访问”设备。也就是说,每个扇区都是可寻址的,扇区可以按任何顺序读写。请注意,访问扇区可以是随机的,但扇区内的字节是按顺序排列的。相比之下,顺序存取设备(例如磁带)可能必须先处理介质开头的所有前面的记录,然后才能访问所请求的记录。
由于总是需要从磁盘读取或写入一个完整的“扇区”,因此主机和驱动器之间的接口传输的数据字节数也应相同。驱动器接口两侧的缓冲区必须存在,以容纳传输的扇区数据。较大的扇区大小会对(主机)主内存留作磁盘缓冲区的数量以及在这些缓冲区上执行 I/O 的时间产生(负面影响)。
分配
文件系统将定义一些分配单位,用于分配可用(或未使用)空间和已分配空间(用于文件)。此分配单位将始终基于一定数量的扇区,因为扇区大小是访问和物理 I/O 的基本单位。较小的分配大小(例如只有 1 个扇区)往往具有更多的负值(而不是正值,即更少的浪费)松弛扇区空间会对文件系统(和磁盘)性能产生影响,例如更大的分配表、更多的簿记。较小的扇区大小还可能限制扇区寻址和总磁盘容量,因此需要转向更大的 4KB 扇区。
请注意,磁盘驱动器和磁盘控制器并不总是强制使用固定大小的扇区。例如,存储模块驱动器 (SMD)(我为其制作了控制器固件)可以具有任意大小的“扇区”,包括每个轨道上不同大小的“扇区”。当然,文件系统可能难以跟踪大小的位置。因此,整个驱动器只使用一种大小的扇区,这非常简化。IBM 的 PC 更进一步,仅支持 512 字节扇区(直到出现光学介质,并再次支持 4KB 扇区)。在 IBM PC 之前,使用的扇区大小为 128、256 和 1024 字节以及 512(尤其是软盘,它重用了许多硬盘概念,包括软扇区)。由于磁性介质的数据容量取决于磁道格式(包括扇区大小),而磁道格式又取决于操作系统和文件系统,因此磁性介质(即硬盘和软盘)过去(很久以前)会宣传未格式化的容量(以及基于十进制的“MB”和“GB”)。由于 PC 将 512 字节扇区设为标准大小,因此 HDD 不再支持软扇区划分,“未格式化容量”是一个毫无意义的数字。
答案2
扇区使 I/O 独立于特定磁盘的物理特性。通过将每个磁道分成固定大小的扇区,磁盘 I/O 可以不考虑每个磁道上有多少个扇区,甚至不考虑不同磁道是否具有不同数量的扇区。
答案3
在计算机硬件中,扇区是硬盘或光盘轨道的细分。扇区存储固定量的数据。扇区的典型格式允许保存 512 字节(例如:硬盘和软盘)或 2048 字节(例如:光盘)的数据。