介绍一下linux文件系统分配策略


Posted in 面试题 onFebruary 25, 2013
块分配( block allocation ) 和 扩展分配 ( extent allocation )
块分配:磁盘上的文件块根据需要分配给文件,避免了存储空间的浪费。但当文件扩充时,会造成文件中文件块的不连续,从而导致过多的磁盘寻道时间。
每一次文件扩展时,块分配算法就需要写入文件块的结构信息,也就是 meta-dada 。meta-data总是与文件一起写入存储设备,改变文件的操作要等到所有meta-data的操作都完成后才能进行,
因此,meta-data的操作会明显降低整个文件系统的性能。
扩展分配: 文件创建时,一次性分配一连串连续的块,当文件扩展时,也一次分配很多块。meta-data在文件创建时写入,当文件大小没有超过所有已分配文件块大小时,就不用写入meta-data,直到需要再分配文件块的时候。
扩展分配采用成组分配块的方式,减少了SCSI设备写数据的时间,在读取顺序文件时具有良好的性能,但随机读取文件时,就和块分配类似了。
文件块的组或块簇 ( block cluster) 的大小是在编译时确定的。簇的大小对文件系统的性能有很大的影响。
注:meta-data 元信息:和文件有关的信息,比如权限、所有者以及创建、访问或更改时间等。

Tags in this post...

面试题 相关文章推荐
HashMap和Hashtable的区别
May 18 面试题
C语言编程题
Mar 09 面试题
求∏的近似值,直到最后一项的绝对值小于指定的数
Feb 12 面试题
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
May 18 面试题
一套比较完整的软件测试人员面试题
May 13 面试题
JPA的特点
Oct 25 面试题
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
Jun 20 面试题
初始化了一个没有run()方法的线程类,是否会出错?
Mar 27 面试题
写clone()方法时,通常都有一行代码,是什么?
Oct 31 面试题
请用Java实现列出某个目录下的所有文件
Sep 23 面试题
如何用Java判断一个文件或目录是否存在
Nov 19 面试题
Servlet如何得到客户端机器的信息
Oct 17 面试题
几个Shell Script面试题
Aug 31 #面试题
介绍一下write命令
Sep 24 #面试题
Linux操作面试题
May 16 #面试题
几个Linux面试题笔试题
Dec 01 #面试题
LINUX下线程,GDI类的解释
Dec 14 #面试题
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
Sep 07 #面试题
下列程序在32位linux或unix中的结果是什么
Mar 25 #面试题
You might like
mysql 性能的检查和优化方法
2009/06/21 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
Yii基于数组和对象的Model查询技巧实例详解
2015/12/28 PHP
redis查看连接数及php模拟并发创建redis连接的方法
2016/12/15 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
Laravel5.7 数据库操作迁移的实现方法
2019/04/12 PHP
php基于协程实现异步的方法分析
2019/07/17 PHP
div层的移动及性能优化
2010/11/16 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
JS中表单的使用小结
2014/01/11 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
javascript 原型链维护和继承详解
2014/11/26 Javascript
原生javascript实现图片无缝滚动效果
2016/02/12 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
bootstrap选项卡使用方法解析
2017/01/11 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
2018/03/29 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
javascript实现计算器功能
2020/03/30 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
[31:00]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS iG
2014/05/25 DOTA
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
Python使用剪切板的方法
2017/06/06 Python
关于Python数据结构中字典的心得
2017/12/04 Python
python实现停车管理系统
2018/11/30 Python
Python 3 实现定义跨模块的全局变量和使用教程
2019/07/07 Python
CSS3 calc()会计算属性详解
2018/02/27 HTML / CSS
超市实习总结自我鉴定
2013/09/19 职场文书
物流专业大学应届生求职信
2013/11/03 职场文书
50岁生日感言
2014/01/23 职场文书
给学校的建议书范文
2014/05/15 职场文书
工作年限证明范本
2015/06/15 职场文书
Python自然语言处理之切分算法详解
2021/04/25 Python
JS不要再到处使用绝对等于运算符了
2021/04/30 Javascript
Jupyter notebook 不自动弹出网页的解决方案
2021/05/21 Python