| 
  • Increase font size
  • Decrease font size
  • Default font size
  • default color
  • red color
  • green color
香农数据安全在线
Sep 07th
首 页 arrow 论 坛
论坛
欢迎您, 游客
登录注册.    忘记密码?
Linux系统下文件系统工作原理简介 (1 个人正在浏览) (1) 游客
到底部 发表回复
被收藏: 0
话题: Linux系统下文件系统工作原理简介

#840
香农数据 (会员)
Senior Boarder
帖子: 43
graph
该会员已离线 点此观看该会员的个人资料
Linux系统下文件系统工作原理简介 2 年, 9 月 之前 评分: 0  
文件系统通过为每个文件分配文件块的方式把数据存储在存储设备中。这样就要维护每一个文件的文件块的分配信息,而分配信息本身也要存在磁盘上。DOS和Windows的用户可能还记得FAT这种文 件系统吧。不同的文件系统用不同的方法分配和读取文件块。

有两种常用的文件系统的分配策略:块分配(block allocation)和扩展分配(extent allocation)。块分配当文件变大的时候每一次都为这个文件分配磁盘空间,而扩展分配则是当某个文件的磁盘空间不够的时候,一次性为它分配一连串连续的块。

传统的Unix文件系统使用的块分配的机制提供了一个灵活而高效的文件块分配策略。磁盘上的文件块根据需要分配给文件,这样可以减少存储空间的浪费。当一个文件慢慢变大的时候,就会造 成文件中文件块的不连续。这就导致了过多的磁盘寻道时间,当读取一个文件的时候有可能要随机而不是连续地读取文件块,这样的效率很低。

可以通过优化文件块的分配策略(尽可能为文件分配连续的块)来避免文件块的随机分配。通过使用聪明的块分配策略,可以实现块的连续分配。这样就可以减少磁盘的寻道时间。但是,当 个文件系统的文件块的分配形成碎片的时候,就再也不可能连续分配了。

每一次当文件扩展的时候,块分配的算法就要写入一些关于新分配的块所在位置的信息。如果每一次文件扩展的时候只增加一个块,那么就需要很多额外的磁盘I/ O用来写入文件块的结构信息。文件块的结构信息也就是上面说的meta-data。meta-data总是一起同时地写入存储设备的,这就意味着改变文件大小的操作要等到所有的meta- data的操作都完成之后才能进行。因此,meta-data的操作会显著地降低整个文件系统的性能。 (转载)
 
向版主举报   已记录 已记录  
 
  只有注册会员才能发帖
到顶部 发表回复