栏目:操作系统(<--点此查看更多)与 Java 开发和发布相关的操作系统知识,主要倾向 Linux
  • Linux文件系统分配策略

  • Mon Sep 03 15:31:07 CST 2012 编程者 我要收藏(...) 评论 ...
  • 块分配( block allocation ) 和 扩展分配 ( extent allocation )
  • 块分配( block allocation ) 和 扩展分配  ( extent allocation )

    块分配:磁盘上的文件块根据需要分配给文件,避免了存储空间的浪费。但当文件扩充时,会造成文件中文件块的不连续,从而导致过多的磁盘寻道时间。

    每一次文件扩展时,块分配算法就需要写入文件块的结构信息,也就是 meta-dada 。meta-data总是与文件一起写入存储设备,改变文件的操作要等到所有meta-data的操作都完成后才能进行,因此,meta-data的操作会明显降低整个文件系统的性能。

    扩展分配: 文件创建时,一次性分配一连串连续的块,当文件扩展时,也一次分配很多块。meta-data在文件创建时写入,当文件大小没有超过所有已分配文件块大小时,就不用写入meta-data,直到需要再分配文件块的时候。

    扩展分配采用成组分配块的方式,减少了SCSI设备写数据的时间,在读取顺序文件时具有良好的性能,但随机读取文件时,就和块分配类似了。文件块的组或块簇 ( block cluster) 的大小是在编译时确定的。簇的大小对文件系统的性能有很大的影响。

    注: meta-data 元信息:和文件有关的信息,比如权限、所有者以及创建、访问或更改时间等。

  • 信息来源:http://bianchengzhe.com (举报这篇文章)
  • 好评(...) 中评(...) 差评(...)