Linux的文件管理.pptVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux的文件管理

6.5Linux的文件管理 6.5.1 Linux虚拟文件系统 6.5.2 文件系统注册与注销,安装与卸载 6.5.3 文件系统缓存机制 6.5.4 Ext2文件系统 6.5.1 Linux虚拟文件系统 VFS四个对象类 VFS主要数据结构 超级块对象-代表一个文件系统。 索引节点对象-代表一个文件。 目录项对象-代表路径中的一个组成部分。 文件(file)对象-代表由进程已打开的一个文件。 VFS各种对象之间的关系 L i n u x 文件系统逻辑结构 6.5.2 文件系统注册与注销,安装与卸载 1 文件系统的注册与注销 struct file_system_type { const char *name;/*文件类型名*/ struct super_block *(*read_super)(struct super_block*,void*,int); struct file_system_type *next; … }; 2 文件系统的安装与卸载 1文件系统安装 文件系统类型名、所在物理设备名、安装点,再用mount命令安装。 2文件系统安装过程 寻找匹配的file_system_type 、查找安装点VFS inode 、分配一个VFS超级块 、利用read_super( )函数读入参数、申请一个vfsmount数据结构 。 3文件系统卸载过程 是否可卸载 、如果为“脏”把VFS超级块写回磁盘 、删去vfsmount 。 6.5.3 文件系统的缓存机制 1 VFS inode缓存 把当前使用的inode采用散列技术保存起来,从中快速找到所需inode。 2 VFS目录高速缓存 系统维护表达路径与inode对应关系的VFS目录缓存,其中存放被访问过的目录 。 3 页高速缓冲区 Linux维护一组页缓冲区,它独立于任何类型的文件系统,被所有物理设备所共享, 优点:1)数据一经使用,就在页缓冲区中留下备份,再次使用时可直接找回,避免不必要的磁盘I/O;2)“脏”页写回磁盘时,可适当进行排序,实现磁盘驱动调度优化。 6.5.4 EXT2文件系统(1) EXT(92年)和EXT2(94年)是专为Linux设计的可扩展文件系统。 EXT2把它所占用的磁盘逻辑分区划分为块组,每个块组依次包括超级块、组描述符表、块位图、inode位图、inode表以及数据块。 块位图集中本组各数据块的使用情况; inode位图记录inode表中inode的使用情况。 inode表保存本组所有的inode,inode用于描述文件,一个inode对应一个文件和子目录,有一个唯一的inode号,并记录了文件在外存的位置、存取权限、修改时间、类型等信息。 EXT2文件系统(2) 文件系统结构 ? EXT2的超级块 EXT2的超级块用来描述目录和文件在磁盘上的静态分布,包括尺寸和结构。每个块组都有一个超级块,一般来说只有组0的超级块才被读入主存超级块,其它块组的超级块仅仅作为备份。 EXT2的超级块包括inode数量、块数量、保留块数量、空闲块数量、空闲inode数量、第一个数据块位置、块长度、片长度、每个块组块数、每个块组片数、每个块组inode数,以及安装时间、最后一次写时间、安装信息、文件系统状态信息等内容。 EXT2的组描述符 每个块组都有一个组描述符,记录该块组的块位图位置、inode位图位置、inode节点位置、空闲块数、inode数、目录数等内容。 所有组描述符构成了组描述附表。同超级块一样,组描述符表在每个块组中都有备份,这样,当文件系统崩溃时,可以用来恢复文件系统。 EXT2的inode inode用于描述文件,一个inode对应一个文件和子目录,有一个唯一的inode号,并记录了文件的类型及存取权限、用户和组标识、修改/访问/创建/删除时间、link数、文件长度和占用块数、在外存的位置、以及其他控制信息。 Linux数据块分配策略(1) EXT2采用两个策略减少文件碎片 原地先查找策略:为文件分配数据块时,尽量在文件原有数据块附近查找。先试探紧跟文件末尾的数据块,然后试探位于同一个块组相邻的64个数据块,接着在同一个块组中寻找其他空闲数据块;实在不得己才有哪些信誉好的足球投注网站其他块组,且首先考虑8个一簇的连续的块。 Linux数据块分配策略(2) 预分配策略:引入预分配机制,就从预分配的数据块取一块来用,紧跟该块后的若干个数据块空闲的话,也被保留,保证尽可能多的数据块被集中成一簇。 数据结构中包含属性prealloc_block和prealloc_count,前者指向可预分配数据块链表中第一块的位置,后

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档