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


Posted in 面试题 onNovember 17, 2012
块分配( 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...

面试题 相关文章推荐
下述程序的作用是计算机数组中的最大元素值及其下标
Nov 26 面试题
SQL语言面试题
Aug 27 面试题
如何转换一个字符串到enum值
Apr 12 面试题
DataReader和DataSet的异同
Dec 31 面试题
CSMA/CD介质访问控制协议
Nov 17 面试题
C#可否对内存进行直接的操作
Feb 26 面试题
linux面试题参考答案(8)
Aug 11 面试题
sort命令的作用和用法
Aug 25 面试题
数字天堂软件测试面试题
Dec 23 面试题
UML设计模式笔试题
Jun 07 面试题
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
Oct 17 面试题
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
Oct 12 面试题
几个Shell Script面试题
Apr 18 #面试题
介绍一下write命令
Aug 10 #面试题
Linux操作面试题
Feb 11 #面试题
几个Linux面试题笔试题
Aug 01 #面试题
LINUX下线程,GDI类的解释
Apr 17 #面试题
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
Jul 21 #面试题
下列程序在32位linux或unix中的结果是什么
Jan 26 #面试题
You might like
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
2019/11/09 PHP
js事件冒泡实例分享(已测试)
2013/04/23 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
js实现页面转发功能示例代码
2013/08/05 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
2013/10/14 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
JSONP之我见
2015/03/24 Javascript
原生js模拟淘宝购物车项目实战
2015/11/18 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
ES6之模版字符串的具体使用
2018/05/17 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
2018/11/02 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
WebGL three.js学习笔记之阴影与实现物体的动画效果
2019/04/25 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
2019/09/19 Javascript
原生JS生成指定位数的验证码
2020/10/28 Javascript
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
基于python select.select模块通信的实例讲解
2017/09/21 Python
django限制匿名用户访问及重定向的方法实例
2018/02/07 Python
Python3中详解fabfile的编写
2018/06/24 Python
python的常见矩阵运算(小结)
2019/08/07 Python
树莓派极简安装OpenCv的方法步骤
2019/10/10 Python
pytorch方法测试——激活函数(ReLU)详解
2020/01/15 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
意大利包包和行李箱销售网站:Bagaglio.it
2021/03/02 全球购物
企业年度评优方案
2014/06/02 职场文书
关于保护环境的建议书
2014/08/26 职场文书
暑期培训心得体会
2014/09/02 职场文书
校园安全广播稿范文
2014/09/25 职场文书
mysql知识点整理
2021/04/05 MySQL
Golang中interface{}转为数组的操作
2021/04/30 Golang