网站大量收购闲置独家精品文档,联系QQ:2885784924

Chap6.4~6.5 文件系统其他功能 Linux文件管理_2013.ppt

Chap6.4~6.5 文件系统其他功能 Linux文件管理_2013.ppt

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

* EXT2的inode inode用于描述文件,一个inode对应一个文件和子目录,有一个唯一的inode号,并记录了文件的类型及存取权限、用户和组标识、修改/访问/创建/删除时间、link数、文件长度和占用块数、在外存的位置、以及其他控制信息。 * Linux数据块分配策略(1) EXT2采用两个策略减少文件碎片 原地先查找策略:为文件分配数据块时,尽量在文件原有数据块附近查找。先试探紧跟文件末尾的数据块,然后试探位于同一个块组相邻的64个数据块,接着在同一个块组中寻找其他空闲数据块;实在不得己才搜索其他块组,且首先考虑8个一簇的连续的块。 * Linux数据块分配策略(2) 预分配策略:引入预分配机制,就从预分配的数据块取一块来用,紧跟该块后的若干个数据块空闲的话,也被保留,保证尽可能多的数据块被集中成一簇。 数据结构中包含属性prealloc_block和prealloc_count,前者指向可预分配数据块链表中第一块的位置,后者表示可预分配数据块的总数。 * 第六章 文件管理 6.1文件 6.2文件目录 6.3文件组织与数据存储 6.4文件系统其他功能的实现 6.5 Linux的文件管理 6.6 Windows 2003文件系统 * 链式分配的一个后果是局部性原理不再适用。因此,如果需要像顺序处理那样一次取入一个文件中的多个块,则需要一连串地访问磁盘的不同部分。这对于单用户系统有重大的影响,也是共享系统需要关注的。为克服这个问题,一些系统周期性地对文件进行合并(consolidation),如图所示。 * 为方便讨论,假定文件卷启用时共有可用空闲盘块338块,编号从12至349,每100块划分一组,每组第一块登记下一组空闲盘块号和空闲总数,其中,50#-12#─组中,50#物理块中登记下一组100个空闲盘块号150#-51#,同样下一组的第一块150#中登记再下一组100个空闲盘块号250#-151#,注意,最后一组中,即250#块中第1项是0,作为结束标志,表明系统空闲盘块链已经结束。 * inode对象内包含内核在操作文件或目录时需要的全部信息,文件名可更改,但inode对文件是惟一的,且随文件的存在而存在。对于UNIX类文件系统来说,这些信息从磁盘inode直接读入VFS的inode对象中。如果某文件系统没有inode,那么,不管这些相关信息在磁盘上如何存放,都必须提取出来,并构造它的inode。可把具体文件系统存放在磁盘上的inode称为静态节点,它的内容被读入主存VFS的inode才能工作,后者也称为动态节点 * * 虚拟文件系统(2) 虚拟文件系统设计思想: 1 应用层: VFS模型源于UNIX文件系统,使得用户可直接使用标准UNIX文件系统调用来操作文件,无需考虑具体文件系统特性和物理存储介质,通过VFS访问文件系统,才使得不同文件系统之间的协作性和通用性成为可能。 2 虚拟层: 3 实现层: 虚拟文件系统(2) 虚拟文件系统设计思想: 1 应用层: 2 虚拟层: 对所有具体文件系统的共同特性进行抽象的基础上,形成一个与具体文件系统实现无关的虚拟层,并在此层次上定义与用户的一致性接口; 3 实现层: 虚拟文件系统(2) 虚拟文件系统设计思想: 1 应用层: 2 虚拟层: 3 实现层: 该层使用类似开关表技术进行具体文件系统转接,实现各种具体文件系统的细节,每一个是自包含的,包含文件系统实现的各种设施,如超级块、节点区、数据区以及各种数据结构和文件类的操作函数。 虚拟文件系统(3) VFS实质上是一种存在于主存中的,支持多种类型具体文件系统的运行环境,功能有: 记录安装的文件系统类型,; 建立设备与文件系统的联系; 实现面向文件的通用操作; 涉及特定文件系统的操作时映射到具体文件系统中去。 * 6.5 Linux的文件管理 6.5.1 Linux虚拟文件系统 6.5.2 文件系统注册与注销,安装与卸载 6.5.3 文件系统缓存机制 6.5.4 Ext2文件系统 * 6.5.1 Linux虚拟文件系统 标准文件类系统调用,open( )、read( )、write( )、close( )等 用户空间 应用程序 系统空间 VFS 系统调用对应的内核函数, sys_open( )、sys_read( )、sys_write( )、sys_close( ) Minix 文件系统 Ext2 文件系统 … FAT 文件系统 具体文件系统对应的文件操作函数,open( )、read( )、write( )、close( )等 应用层 虚拟层 实现层 VFS和具体文件系统的关系 缓冲区缓存 磁盘驱动器

文档评论(0)

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

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

1亿VIP精品文档

相关文档