码迷,mamicode.com
首页 > 其他好文 > 详细

磁盘碎片

时间:2015-07-11 16:25:16      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:

磁盘碎片的产生

俗话说一图胜千言,先用一张ACSII码图来解释为什么会产生磁盘碎片。


                技术分享

上面的ASCII图表示磁盘文件系统,因为眼下上面没有不论什么数据文件,所以我把他表示成0。

在图的最上側和左側各有a-z 26个字母。这是用来定位每一个数据字节的详细位置,如第1行1列是aa,26行26列是zz。

我们创建一个新文件,理所当然的,我们的文件系统就产生了变化,如今是

                     技术分享

如图所看到的:”内容表”(TOC)占领了前四行,在TOC里存贮着每件文件在系统里所在的位置。
在上图,TOC包含了一个名字叫hello.txt的文件,其详细内容是”Hello, world”,在系统里的位置是ae到le。



接下来再新建一个文件


                     技术分享
如图。我们新建的文件bye.txt紧贴着第一个文件hello.txt。

事实上这是最理想的系统结构。假设你将你的文件都依照上图所表示的那样一个挨着一个。紧紧的贴放在一起的话,那么读取他们将会很的easy和迅速,这是由于在硬盘里动得最慢的(相对来说)就是传动手臂,少位移一些,读取文件数据的时间就会快一些。

然而恰恰这就是问题的所在。如今我想在”Hello, World”后加上些感叹号来表达我强烈的感情,如今的问题是:在这种系统上,文件所在的行就没有地方让我放这些感叹号了。由于bye.txt占领了剩下的位置。

如今有俩个方法能够选择。可是没有一个是完美的

1.我们从原位置删除文件,又一次建个文件又一次写上”Hello, World!!”. –这就无意中延长了文件系统的读和写的时间。

2.打碎文件。就是在别的空的地方写上感叹号。也就是”身首异处”–这个点子不错。速度非常快,并且方便。可是,这就同一时候意味着大大的减慢了读取下一个新文件的时间。



假设你对上面的文字没概念,上图

                    技术分享

这里所说的方法二就像是我们的windows系统的存储方式,每一个文件都是紧挨着的,但假设当中某个文件要更改的话,那么就意味着接下来的数据将会被放在磁盘其它的空余的地方。

假设这个文件被删除了。那么就会在系统中留下空格,久而久之,我们的文件系统就会变得支离破碎,碎片就是这么产生的。

试着简单点。讲给mm听的硬盘读写原理简化版 

                 技术分享

硬盘的结构就不多说了,我们寻常电脑的数据都是存在磁道上的,大致上和光盘差点儿相同.读取都是靠磁头来进行.
            技术分享


我们都知道,我们的数据资料都是以信息的方式存储在盘面的扇区的磁道上,硬盘读取是由摇臂控制磁头从盘面的外側向内側进行读写的.所以外側的数据读取速度会比内側的数据快非常多.

                 技术分享

事实上我们的文件大多数的时候都是破碎的,在文件没有破碎的时候,摇臂仅仅须要寻找1次磁道并由磁头进行读取,仅仅须要1次就能够成功读取;可是假设文件破碎成 11处,那么摇臂要来回寻找11次磁跟踪磁头11时间阅读完整的能力来读取文件,阅读相对没有休息的时候,它变得乏味.

版权声明:本文博客原创文章,博客,未经同意,不得转载。

磁盘碎片

标签:

原文地址:http://www.cnblogs.com/lcchuguo/p/4638679.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!