家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生 家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生
您现在的位置:首页 >> 技术园地 >> 电脑维修技术 >> 信息正文

解析磁盘碎片原理

2009-2-16 23:42:40 来源: 不详 作者:佚名 访问:0次 字号:【
    一、什么是磁盘碎片?
  其实磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的。

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

  其他如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”。

  单击“确定”,然后“关闭”,回到“文件类型”选项卡,然后单击“关闭”。现在,打开“我的电脑”,右键单击想要整理磁盘碎片的驱动器,在弹出的快捷菜单中选择“快速整理磁盘碎片”即可。
打印本文   加入收藏   返回顶部   关闭窗口Tags:解析|析磁|磁盘|盘  

网站: http://www.hnygpx.net 报名电话:0731-5579057   13807313137 报名信箱: yp5579@263.net 咨询QQ: 361928696,873219118 

校址:湖南省长沙市雨花区红花坡路176号(正圆厂内)。 来校路线:长沙火车站售票处后坪乘135路至"鼓风站"下车,回走100米即到

电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校
中山市,固原市,银川市,玉树,海东,陇南市,酒泉市,张掖市,天水市,金昌市,兰州市,榆林市,延安市,渭南市,铜川市,阿里,山南,拉萨市,怒江,文山州,楚雄州,普洱市,昭通市,玉溪市,昆明市,毕节,铜仁,遵义市,贵阳市,甘孜州,资阳市,达州市,宜宾市,南充市,遂宁市,绵阳市,泸州市,自贡市,三亚市,崇左市,河池市,玉林市,钦州市,梧州市,柳州市,梅州市,肇庆市,湛江市,佛山市,珠海市,韶关市,湘西州,怀化市,郴州市,张家界市,邵阳市,株洲市,仙桃市,随州市,荆州市,荆门市,襄樊市,黄石市,驻马店市,信阳市,南阳市,漯河市,中卫市,石嘴山市,海西,海南藏州,黄南州,海北,甘南,庆阳市,平凉市,武威市,白银市,嘉峪关市,安康市,汉中市,咸阳市,宝鸡市,林芝,日喀则,昌都,迪庆,德宏,大理,西双版纳,红河州,临沧市,丽江市,保山市,曲靖市,黔东州,黔西州,安顺市,六盘水市,凉山州,阿坝州,雅安市,广安市,眉山市,内江市,广元市,德阳市,攀枝花市,成都市,海口市,来宾市,百色市,贵港市,北海市,桂林市,南宁市,云浮市,揭阳市,潮州市,清远市,阳江市,汕尾市,惠州市,茂名市,江门市,汕头市,深圳市,广州市,娄底市,永州市,益阳市,岳阳市,湘潭市,长沙市,恩施州,黄冈市,孝感市,鄂州市,十堰市,武汉市,周口市,商丘市,三门峡市,许昌市,焦作市,安阳市,鹤壁市,平顶山市,开封市,郑州市,聊城市,滨州市,德州市,莱芜市,日照市,泰安市,烟台市,潍坊市,东营市,淄博市,上饶市,济南市,抚州市,宜春市,赣州市,新余市,九江市,景德镇市,宁德市,南平市,泉州市,莆田市,厦门市,宣城市,亳州市,六安市,宿州市,黄山市,滁州市,安庆市,淮北市,马鞍山市,蚌埠市,芜湖市,合肥市,丽水市,舟山市,衢州市,金华市,湖州市,嘉兴市,宁波市,宿迁市,镇江市,盐城市,连云港市,苏州市,徐州市,南京市,绥化市,牡丹江市,佳木斯市,大庆市,鹤岗市,哈尔滨市,白城市,白山市,辽源市,吉林市,葫芦岛市,铁岭市,盘锦市,阜新市,锦州市,本溪市,鞍山市,沈阳市,锡林郭勒盟,通辽市,乌海市,吕梁市,忻州市,晋中市,晋城市,阳泉市,太原市,廊坊市,承德市,保定市,邯郸市,唐山市,宁夏,甘肃省,西藏,贵州省,重庆市,广西,湖南省,河南省,江西省,安徽省,江苏省,黑龙江省,辽宁省,山西省,天津市,四平市,内蒙古,吴忠市,果洛,西宁市,定西市,商洛市,西安市,那曲,黔南州,巴中市,乐山市,贺州市,防城港市,东莞市,河源市,常德市,衡阳市,咸宁市,宜昌市,濮阳市,新乡市,洛阳市,菏泽市,临沂市,威海市,济宁市,枣庄市,青岛市,吉安市,鹰潭市,萍乡市,南昌市,龙岩市,漳州市,三明市,福州市,池州市,巢湖市,阜阳市,铜陵市,淮南市,台州市,绍兴市,温州市,杭州市,泰州市,扬州市,淮安市,南通市,常州市,无锡市,大兴安岭,黑河市,七台河市,伊春市,双鸭山市,鸡西市,齐齐哈尔市,延边,松原市,通化市,长春市,朝阳市,辽阳市,营口市,丹东市,抚顺市,大连市,阿拉善盟,兴安盟,乌兰察布市,巴彦淖尔市,呼伦贝尔市,鄂尔多斯市,赤峰市,包头市,呼和浩特市,临汾市,运城市,朔州市,长治市,大同市,衡水市,沧州市,张家口市,邢台市,秦皇岛市,石家庄市,青海省,陕西省,云南省,四川省,海南省,广东省,湖北省,山东省,福建省,浙江省,上海市,吉林省,河北省,北京市