powerpoint 演示文稿 广东工业大学.ppt

  1. 1、本文档共111页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
powerpoint 演示文稿 广东工业大学

7.5.8 EXT2文件扩展策略 当进程启动一个文件的写操作后,文件系统管理模块检查该文件的长度是否扩展了。若扩展了,就要申请分配新数据块。EXT2文件系统为文件的扩展部分分配新的数据时,先从紧跟该文件后面的那个数据块寻找,然后查找相邻的64个数据块(属于同一块组),尽量使它们在同一块组。实在找不到,才从另一块组寻找。 如果只能从其它块组查找空闲数据块,那么首先考虑8个一簇连续的块。  分配新数据块过程中,该进程必须等待。EXT2分配数据块时锁定文件系统的超级块,不允许两个以上的进程同时更改超级块。 对超级块的分配采用先进先出的策略。 7.5.9 虚拟文件系统(VFS)概述 图 7.16 虚拟的文件系统的逻辑关系 7.5.10 VFS 超级块 VFS超级块中包含的信息有:  设备 (2) 索引节点指针 (3) 数据块大小 (4) 超级块操作 (5) 文件系统类型 (6) 文件系统的特殊信息 7.5.11 VFS 索引节点 (1) 设备 (2) 索引节点号 (3) 模式 (4) 用户标识符 (5) 时间 (6) 数据块大小 (7) 索引节点操作 (8) 计数器 (9) 锁定 (10) 脏(dirty) (11) 文件系统特定的信息 7.5.12 文件系统的注册 图 7.17 文件系统结构示意图 每个 file-system-type 数据结构包含如下信息:  (1) 超级块读取程序:当一个文件系统挂接时, VFS使用此程序读取文件系统的超级块。 (2) 文件系统名:文件系统名, 如EXT2。  (3) 需要的设备:指出文件系统是否需要设备的支持。 并不是所有的文件系统都需要设备的支持。如/proc文件系统就不需要设备的支持。你可以通过查阅/proc/filesystems找出系统中已注册的文件系统, 如: ext2, iso9660等。 7.5.13 文件系统的挂接与卸装 当超级用户试图挂接一个文件系统时,Linux 内核必须首先验证在系统调用中所传递的参数(文件系统名称、包含文件系统的物理块设备和文件系统在已有文件系统的挂接点)。 例如:  $ mount - t iso9660 /dev/cdrom /mnt/cdrom 虚拟文件系统对上述命令的执行过程如下:  (1) 查找该文件系统的信息。VFS通过file-systems在file-system-type组成的链表中根据指定的文件系统名搜索文件系统类型信息。  (2) 如果找到匹配的文件系统,表明内核具有对该文件系统的内建支持。否则说明该文件系统可能由可装载模块支持,会请求内核装入相应的文件系统模块,此时,该文件系统在VFS中注册并初始化。  (3) 不管是哪种情况,如果VFS无法找到指定的文件系统, 则返回错误。  (4) VFS检查指定的物理块设备是否已挂接,若已挂接,则返回错误。 (5) VFS检查作为新文件系统的挂接点的VFS索引节点。 (6) 如果该挂接点已经挂接有其它文件系统,则返回错误。 (7) VFS挂接程序为新的文件系统分配VFS超级块,并将挂接信息递给该文件系统的超级块读取例程。 系统中所有的VFS超级块保存在由super-blocks指向的super-block数据结构指针数组中。  (8) 文件系统的超级块读取例程将对应文件系统的信息映射到VFS超级块中。 。  (9) 如果挂接成功, 则所有已挂接的文件系统形成如图7.18所示的数据结构。 图 7.18 一个安装的文件系统 7.5.14 文件系统管理的缓存机制 表7-2 Linux设计的各类Cache I/O设备读写 Buffer Cache (缓冲区缓存) 根据目录名查找该目录文件的Inode Inode Directory Cache (目录缓存) node的申请、 释放、 访问 Inode Cache (VFS 索引节点缓存) 作 用 Cache名 称 1. VFS 索引节点缓存 VFS索引节点是一哈希表,它不断地被读取。VFS提供的索引节点缓存可以加快对文件系统的存取。 当VFS访问索引节点时, 它首先查找VFS索引节点缓存。 为了在VFS索引节点缓冲中查找一个索引节点, 系统首先计算它对应的哈希值, 然后将其作为索引值进入索引节点哈希表。其后再通过读取这个拥有相同哈希值的索引节点链表逐个匹配索引节点,直到找到具有指

文档评论(0)

weizhent2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档