什么是磁盘碎片及磁盘碎片是怎么产生的、磁盘读写原理及整理碎片

http://www.guanggao6.com 08-24电脑硬件知识[阅读:145次]

什么是磁盘碎片及磁盘碎片是怎么产生的、磁盘读写原理及整理碎片为http://www.guanggao6.com整理发布,类型为电脑硬件知识,本站还有更多关于电脑硬件,电脑硬件维修,电脑学习,电脑入门,电脑学习 - 电脑硬件知识的文章。
正文:

一、什么是磁盘碎片? 

其实磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的。 

[blocked ads] 

当应用程序所需的物理内存不足时,一般操作系统会在硬盘中产生临时交换文件,用该文件所占用的硬盘空间虚拟成内存。虚拟内存管理程序会对硬盘频繁读写,产生大量的碎片,这是产生硬盘碎片的主要原因。 

其他如ie浏览器浏览信息时生成的临时文件或临时文件目录的设置也会造成系统中形成大量的碎片。文件碎片一般不会在系统中引起问题,但文件碎片过多会使系统在读文件的时候来回寻找,引起系统性能下降,严重的还要缩短硬盘寿命。另外,过多的磁盘碎片还有可能导致存储文件的丢失。 

二、磁盘碎片是怎么产生的? 

又因为在文件操作过程中,windows系统可能会调用虚拟内存来同步管理程序,这样就会导致各个程序对硬盘频繁读写,从而产生磁盘碎片。 

还有一种情况就是当中间的一个扇区内容被删除后,新写入一个较小的文件,这样在这个文件两边就会出现一些空间,这时候再写入一个文件,两段空间的任意一部分都不能容纳该文件,这时候就需要将文件分割成两个部分,碎片再次产生了。 
最常见的就是下载电影之类的大文件,这期间大家一半都会处理一下其它事情,而下载下来的电影文件被迫分割成若干个碎片存储于硬盘中。因此下载是产生碎片的一个重要源头。还有就是经常删除、添加文件,这时候如果文件空间不够大,就会产生大量的磁盘碎片,随着文件的删改频繁,这种情况会日益严重。
虽然说磁盘碎片对于正常工作影响并不大,但是会显著降低硬盘的运行速度,这主要是硬盘读取文件需要在多个碎片之间跳转,增加了等待盘片旋转到指定扇区的潜伏期和磁头切换磁道所需的寻道时间。


三、磁盘读写操作的原理 

知道了磁盘碎片的产生原因之后,我们还有必要了解一下程序运行时磁盘的读写动作。一般运行一个程序时,磁盘驱动器的磁头所做的工作是先搜索该程序运行必需的文件,然后读取数据,最后做读后处理——将数据传送至磁盘高速缓存(cache)和内存中。搜索时间在硬盘性能指标中被称为平均寻道时间(average seek time),单位为毫秒(ms),目前主流硬盘的平均寻道时间小于9.5ms。如果能将应用程序的相关文件放在磁盘的连续空间内,磁头搜索的时间将会减少很多。读取时也是如此,磁盘读取位于磁头下方扇区的数据所需时间仅为将磁头移到另一地点再读取相同数据所需时间的五分之一。读盘时,系统先检查数据是否在高速缓存中,如果有则直接读取;如果没有则访问磁盘,也就是读盘。当需要多次读取同一份数据时,cache的作用很大,但对于第一次读取某个文件,cache就无能为力了。于是搜索时间和读取时间在很大程度上影响着程序执行的效率。 

为何要整理磁盘 windows系统并不能自动将每个文件按照最大程度减少磁头搜索时间的原则放到磁盘上最合适的位置。于是microsoft在windows中加入了“disk defragment”(磁盘碎片整理程序),并提供了“taskmonitor”(任务监视器)来跟踪程序启动过程中的磁盘活动,以利于“disk defragment”能够更有效地工作。“taskmonitor”是随windows启动而自动运行的(当然要在“启动”中选中“taskmonitor”)。当加载某个应用程序时,它通过监视磁盘的访问动作来了解该程序启动时搜索和调用的文件,对所需文件进行定位,并将监视结果储存在“c:\windows\applog”隐藏目录中。这个目录中的大多数文件以“.lgx”为扩展名,其中“lg”代表记录文件(log file),“x”表示盘符,如d盘程序就以“.lgd”为扩展名;记录文件的文件名为taskmonitor所监视的应用程序的文件名,如e盘上的winzip程序记为“winzip32.lge”。用户进行磁盘碎片整理时,该程序会根据applog目录中的信息把应用程序的相关文件移动到磁盘上的连续空间内。 

taskmonitor仅在程序加载过程中对文件信息进行搜索,并且根据程序的加载频率调整优化的顺序,也就是说使用次数最多的软件可获得最多的关照。applog目录中的applog.ind文件就记录了应用程序运行的次数。用户需要将常用软件多次启动,接受taskmonitor的监视和记录,再使用disk defragment进行整理,才能真正实现程序启动速度的提高。但如果用户中途改变了常用软件,比如以前常用winzip,现在改用zipmagic,那么在相当长的时间内disk defragment还是先把与winzip相关的文件移到连续的空间内,而不是zipmagic,除非zipmagic的加载次数超过winzip。要解决这个问题,用户可将“winzip32.lgx”文件删除,记录文件不存在了,disk defragment也就不会去优化它了。 

四、该不该定期整理硬盘? 

实际上,定期整理硬盘应该是毫无疑问的。如果说硬盘碎片整理真的会损害硬盘的话,那也将是在对硬盘进行近乎天文数字般次数的整理之后。 

硬盘使用的时间长了,文件的存放位置就会变得支离破碎——文件内容将会散布在硬盘的不同位置上。这些“碎片文件”的存在会降低硬盘的工作效率,还会增加数据丢失和数据损坏的可能性。碎片整理程序把这些碎片收集在一起,并把它们作为一个连续的整体存放在硬盘上。windows自带有这样的程序:磁盘碎片整理程序(diskdefragmenter),但在工具软件nortonutilities和nuts&bolts中有更好的此类程序。 

然而,碎片整理对硬盘里的运转部件来说的确是一项不小的工作。如果硬盘已经到了它生命的最后阶段,碎片整理的确有可能是一种自杀行为。但在这种情况下,即使您不进行碎片整理,硬盘也会很快崩溃的。 

实际上在大多数情况下,定期的硬盘碎片整理减少了硬盘的磨损。不管怎么说,让硬盘的磁头从1处读取文件总比从8处读取要容易得多。因此,一个每两周或四周整理一次的硬盘的寿命应当比一个永远不整理的硬盘长。 

五、整理前的准备工作 

我们在整理硬盘前一般都要对它清理垃圾信息,检查有无错误,最后才能谈到碎片的整理和优化。因此,我们在整理硬盘前,应该首先做好这些工作: 

1、应该把硬盘中的垃圾文件和垃圾信息清理干净。系统工作一段时间后,垃圾文件就会非常之多,有程序安装时产生的临时文件、上网时留下的缓冲文件、删除软件时剩下的dll文件或强行关机时产生的错误文件等,建议“菜鸟”朋友还是使用微软的“磁盘清理程序”代劳,“老鸟”当然可以使用一些功能更强的软件或手工清理。 

2、检查并修复硬盘中的错误。首选的仍然是微软的“磁盘扫描程序”,虽然它的速度实在不怎么样,但只要你有足够的耐心,经过这个程序对磁盘完整而详细的扫描后,相信系统中的绝大多数错误已经被修复了。当然你也可以尝试一下其他工具,如扁鹊神医“norton windoctor”,它的速度可比windows中的“磁盘扫描工具”快多了。 

六、整理方法及注意 

在windows里,用户可以从“开始”菜单中选择“程序/附件/系统工具/磁盘碎片整理程序”,弹出选择驱动器窗口,选择要整理的分区,然后点击[确定]即可开始整理,但此方法碎片整理过程非常耗时,一般2gb左右的分区需要1个小时以上,所以建议读者: 

1、整理磁盘碎片的时候,要关闭其他所有的应用程序,包括屏幕保护程序,最好将虚拟内存的大小设置为固定值。不要对磁盘进行读写操作,一旦disk defragment发现磁盘的文件有改变,它将重新开始整理。 

2、整理磁盘碎片的频率要控制合适,过于频繁的整理也会缩短磁盘的寿命。一般经常读写的磁盘分区一周整理一次。 


七、磁盘扫描程序的命令参数 

命令参数在 dos时代可以说是一项基本的技能,很多程序都要靠命令参数来启动,而到了图形化界面时代,已很难再见到其踪迹,但它却实实在在地存在着,而且发挥着不小的作用。如很多 windows游戏的设置程序就是用 /setup 参数来实现的。通常我们不会太留意某些程序的命令参数,但他们往往包含着某些隐秘的功能,如果运用适当对你很有帮助。 

windows 中的磁盘扫描程序就包含着许多命令参数,你可以在ms_dos方式下或在“运行”对话框中实现,如果需要经常用命令参数,还可以建立一个快捷方式。 

/silent 启动磁盘扫描程序不允许作任何选项设置和高级设置。 

/a 检查所有的本地硬盘 

/n 自动启动和退出磁盘扫描程序 

/p 防止磁盘扫描程序修复所发现的错误 

x: x 表示指定要检查的驱动器号(不需要 / 的命令参数) 

举例: 

1)检查驱动器 e 并自动启动和退出磁盘扫描程序 

scandskw e: /n 

2)检查所有的硬盘并防止磁盘扫描程序修复发现的任何错误 

scandskw /a /p  



八、运行过其他文件整理程序怎么办 

当运行了其他磁盘文件整理程序(如winalign)后,它可能扰乱了taskmon记录的数据,若此时直接进行碎片整理,可能会得不偿失,达不到优化性能的目的。解决的办法是在进行碎片整理之前,多次运行windows和自己最常用的程序,这样可以让taskmon重新收集到正确的统计数据,指导进行磁盘优化。 

最后,当启动windows98的磁盘碎片整理程序时,可能会诧异界面中的intel标志。为什么处理器的生产厂商会参与编写这个优化磁盘的软件呢?这是因为硬盘寻道时间的缓慢会导致系统整体性能的下降,这样会有损cpu超级计算能力的形象,让人误以为是cpu性能的低下。microsoft的一个测试表明,在奔腾233的机器上启动windows仅仅比奔腾150快3%,也就是说,快速的cpu并不能克服磁盘延迟的缺点。于是,在共同利益的驱动下,intel和microsoft联合开发了windows98的磁盘碎片整理程序,用来消除硬盘寻道缓慢的瓶颈。 


九、如何快速地整理磁盘碎片 

每次需要整理磁盘碎片时都需要选择“开始”*“程序”*“附件”*“系统工具”*“磁盘碎片整理程序”,然后再指定驱动器,很麻烦。能否有简单的方法完成这一系列操作? 

在windows资源管理器中,选择“查看”*“文件夹选项”(或“查看”*“选项”),选择“文件类型”选项卡,并在“已注册的文件类型”列表中选择“驱动器”。单击“编辑”按钮,打开“编辑文件类型”对话框,选择“新建”,在“操作”栏中,键入“快速整理磁盘碎片”。在“用于执行操作的应用程序”栏中键入“c:\windows\defrag.exe "%1" \noprompt”。 

单击“确定”,然后“关闭”,回到“文件类型”选项卡,然后单击“关闭”。现在,打开“我的电脑”,右键单击想要整理磁盘碎片的驱动器,在弹出的快捷菜单中选择“快速整理磁盘碎片”即可。 


如果觉得《什么是磁盘碎片及磁盘碎片是怎么产生的、磁盘读写原理及整理碎片》不错,可以推荐给好友哦。