zoukankan      html  css  js  c++  java
  • 磁盘碎片整理的工作原理(网摘)

     “磁盘碎片整理”这个术语通常用于指代Microsoft Windows中称为磁盘碎片整理程序的应用程序。它的设计目的是解决一个由于硬盘存储数据的方式而引起的问题。

    如果您读过硬盘工作原理一文,就会知道关于硬盘的三个主要事实:

      硬盘将数据存储在称为扇区的字节片中。设想将磁盘的表面划分成多个环(类似于树的年轮),然后将每个环划分成多个扇形区,那么每个环上的每个扇形区就是一个扇区。每个扇区可以容纳固定数量的数据,例如512字节。 
      硬盘有一个小磁臂,可以在磁盘表面的环与环之间移动。为了到达特定扇区,硬盘将磁臂移至相应的环,然后等待该扇区旋转到相应的位置。 
    用计算机专业术语来说,硬盘是一种慢速设备。与处理器及其内存的速度相比,磁臂移动和扇区旋转到位所耗费的时间几乎可以用“无限长”来形容。 
    有关更多信息,请参见硬盘工作原理一文。 
    鉴于第三个事实,人们希望尽可能地减少磁臂的移动,同时希望将数据存储在磁盘上的连续扇区中。

      下面,假设您将一个新的应用程序安装到一个空的硬盘上。因为磁盘是空的,所以计算机可以将该程序的文件存储到连续环上的连续扇区中。这是在硬盘上放置数据的高效方式。

      但是,随着对磁盘的使用增加,这种高效技术对磁盘而言越来越困难。主要原因是磁盘被填满了。于是您删除文件,以便回收空间。您删除的这些文件散布在磁 盘的整个表面。当您将新的应用程序或大型文件加载到磁盘上时,它们最终将存储在数百或数千个分散而狭小的空间中。当计算机尝试加载这些分散的碎片时,磁盘 的磁臂必须在整个表面移动,耗时极长。 

      磁盘碎片整理程序所蕴含的思想是:移动所有文件,使每个文件都存储在磁盘的连续环上的连续扇区中。优秀的碎片整理程序还可能尝试进一步的优化,例如, 将所有应用程序以“靠近”磁盘上的操作系统的方式放置,从而把加载应用程序时的移动次数减至最少。如果在旧磁盘上顺利执行碎片整理,文件的加载速度就会显 著提高。在从未填满或从未进行过大量文件删除操作的新磁盘上,碎片整理几乎没有什么效果,因为所有数据都是按顺序存储的。

      正如您猜想的那样,在相对较慢的硬盘上逐个挑选和移动数千个文件不是一件容易的工作——事实上,这通常需要花费数小时的时间。
  • 相关阅读:
    艾伟_转载:基于.NET平台的Windows编程实战(三)—— 项目的创建及主界面的设计 狼人:
    艾伟_转载:C# Design Patterns (2) Strategy 狼人:
    艾伟_转载:C# Design Patterns (5) Prototype 狼人:
    艾伟_转载:正则表达式30分钟入门教程 狼人:
    艾伟_转载:WCF安全之EndPointIdentity 狼人:
    艾伟_转载:老赵谈IL(3):IL可以看到的东西,其实大都也可以用C#来发现 狼人:
    艾伟_转载:.NET平台上的Memcached客户端介绍 狼人:
    艾伟_转载:关于.NET中的循环引用 狼人:
    艾伟_转载:VS 2008快捷键 狼人:
    艾伟_转载:Regex.Replace 方法的性能! 狼人:
  • 原文地址:https://www.cnblogs.com/lfzwenzhu/p/1498458.html
Copyright © 2011-2022 走看看