磁盘碎片是什么?磁盘碎片对硬盘有什么危害?
磁盘碎片是什么?
磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的。当应用程序所需的物理内存不足时,一般操作系统会在硬盘中产生临时交换文件,用该文件所占用的硬盘空间虚拟成内存。虚拟内存管理程序会对硬盘频繁读写,产生大量的碎片,这是产生硬盘碎片的主要原因。
磁盘碎片的产生,是从硬盘诞生的时候开始的。最初的磁盘操作系统开发者设计了一个文件分配表,用来记录哪些文件储存在哪些扇区当中,这样就允许一个文件可以储存在不连续的扇区当中。有了文件分配表,在操作系统上同一分区中移动文件时,不必移动储存在扇区中的数据,只需修改文件分配表中的链接就可以了,删除文件时也不必重写文件所在的扇区,只需将文件分配表中该文件所在的扇区标记为空就可以了。
磁盘碎片对硬盘有什么危害?
通常,磁盘碎片并不影响硬盘的正常工作,它的主要危害在于会降低硬盘的读写速度,不过当大量磁盘碎片存在于Windows的重要文件中时,也可能导致系统崩溃或数据丢失。磁盘碎片会降低硬盘读写速度的原因来自两个方面。
1、当硬盘读取文件“橘子”时,磁头需划过区域,但其中有一部分并不是“橘子”所在的扇区,因此,和读取连续的文件比起来,读取碎片“橘子”时,硬盘增加了等待盘片旋转到指定扇区的潜伏期和磁头切换磁道所需的寻道时间。同理,在写入数据时,也会因无法将数据写入到连续的扇区中而降低速度。
2、操作系统会在内存中划分一部分区域作为缓存,有些硬盘也会为内置的缓冲区设置缓存功能,缓存的一项功能是“预取”:在硬盘读取完指定扇区的数据之后、接到系统的下一条指令之前,磁头接着读取相邻的若干扇区的数据并存入缓存中,如果系统接下来所需的数据正好就是相邻扇区的数据,那么便可以直接从缓存中读取而不用磁头再寻址,提高了访问速度。
缓存同样可以增加硬盘的写入速度。在实际生活中,一般的文件都会占用成千上万个扇区的空间,根据缓存“预取”的原理,如果硬盘中的文件完全没有磁盘碎片的话,那么“预取”的命中率就可以达到几乎100%,但因为有磁盘碎片,通常“预取”的命中率只在50%左右。