zoukankan      html  css  js  c++  java
  • 形象理解 什么是磁盘碎片

    什么叫磁盘碎片

    磁盘,是我们程序居住的空间,我们用不同的方式对整个磁盘的空间进行管理。前面说过,包括各种方式,什么ext4、xfs、ntfs等。而磁盘里放的东西,就是一个一个的文件,同学们可以把磁盘想象成你家的屋子,文件就像一个个大大小小的箱子。每个箱子上面写着字,就是文件名。Windows 7喜欢把每个箱子都紧挨着放,一个挨一个,上下左右前前后后都紧贴着。这样,看上去很规整,可以让剩余的室闲空间比较完整。有同学说,我家也这么收拾,这样很利索呀。不过,对于操作系统,这样做虽然有好处,但是也会有一些问题。

    Linux对磁盘的管理机制不同,文件存放位置相对分散,因此不容易产生碎片。
    

    【文件增大产生碎片】

    比如,一开始存了一个文件,也就是搬来了一个箱子,比如叫“日记”。Windows 7把它放在最靠墙的位置。后来又存了很多其他的文件,在“日记”文件的前前后后,左左右右,上上下下都放满了。忽然这一天,日记文件被修改了,加了点内容,就相当于往“日记”那个箱子里加了东西。可是箱子已经满了,再往里加,箱子就要增大(也就是文件大小变大,毕竟是比喻,不是真的箱子,箱子怎么会伸缩)。可是箱子周围堆满了其他的箱子,没地方了,怎么办呢?

    可以把边上的箱子挪开一点,原来的箱子就可以扩大了。可是边上的箱子要是少还好办,要是很多,还都装了铅块铸铁大理石什么的,那可就累死了。那怎么办呢?只好把新的内容放在另一个小点的箱子里,放在别处。然后还得在原来的“日记”箱子上标注上“日记(第1部分,第2部分在东墙根)”。然后在新的箱子上写“日记(第2部分,结束)”。日子长了第2个箱子也被很多箱子挤在中间后,又要编辑日记文件,这个文件又变大了,就又要如法炮制出第3个箱子,乃至第4个,第5个……

    【碎片太多影响性能】

    等到有一天,要读取这个日记文件的时候,Windows 7就忙开了——首先,到西墙角找到日记第1部分,翻腾出里面的内容,然后往箱子上一看“第2部分见东墙根”,然后再跑到东墙根找第2个箱子,翻腾出里面的内容,再一看箱子“第3部分见大衣柜上头”,然后又搬梯子,上大衣柜一看“第4部分在厕所水箱后边”……等到 Windows 7把整个日记文件读完了,也累得半死了。这种情况,就是会影响性能的磁盘碎片。

    来源:http://showmecode.cn/links/book  ——《Linux入门很简单》

  • 相关阅读:
    javaweb消息中间件——rabbitmq入门
    virtual box 桥接模式(bridge adapter)下无法获取ip(determine ip failed)的解决方法
    Apache Kylin本地启动
    git操作
    Java学习总结
    Java中同步的几种实现方式
    hibernate exception nested transactions not supported 解决方法
    vue 中解决移动端使用 js sdk 在ios 上一直报invalid signature 的问题解决
    cookie 的使用
    vue 专门为了解决修改微信标题而生的项目
  • 原文地址:https://www.cnblogs.com/zrzm/p/14411825.html
Copyright © 2011-2022 走看看