- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(3) EXT2组描述符 每一个块组都有一个数据结构描述。像超级块一样,所有的块组的组描述符在每一块组都进行复制。 每一个组描述符包括以下信息,如下表所示。 数据块位图 这个块组的块分配位图的块编号,用于块的分配和回收 i节点位图 这个块组的i节点位图的块编号。用于i节点的分配和回收 i节点表 这个块组的i节点表的起始块的块编号 空闲块计数 空闲块的个数 空闲i节点计数 空闲i节点的个数 已用目录计数 已用目录项的个数 组描述符依次排列,它们一起组成了组描述符表。每一个块组包括块组描述符表和它的超级块的完整拷贝。只有第一个拷贝(在块组0)实际被EXT2文件系统使用。其他拷贝,像超级块的其他拷贝一样,只有在主拷贝损坏的时候才使用。 (4) EXT2目录 在 EXT2文件系统中,目录是特殊文件,用来创建和存放对于文件系统中的文件的访问路径。EXT2 目录的数据结构图参见/usr/src/include/linux/ext2_fs.h中ext2_dir_entry。 一个目录文件,是一个目录项的列表,下表列出了每一个目录项包含的主要信息。 i节点 目录项的i节点 名称长度 目录名的长度 名称 目录名 每一个目录中的前两个目录项总是标准的“.”和“..”,分别表示“本目录”和“父目录”。 (5) 查找文件位置 Linux的文件名和所有的UNIX文件名的格式一样,它是一系列目录名,用“/”分隔,以文件名结尾。一个文件名称的例子是/home/yang/.cshrc,其中/home和/yang是目录名,文件名是.cshrc。Linux不关心文件名本身的格式:它可以任意长度,由可打印字符组成。为了在EXT2文件系统中找到代表这个文件的i节点,系统必须逐个解析目录中的文件名直到得到这个文件。 文件系统的第一个i节点是根(root)i节点,通过文件系统的超级块能够找到它的编号。为了读取一个EXT2 i节点,就必须在适当的块组中的i节点表中查找。 假如有文件/home/yang/.cshrc,要得到其数据块,可以通过读取这个目录(首先读取它的i节点,然后读取从这个i节点描述的数据块读取目录项),查找yang项,得到描述/home/yang目录的i节点编号,进一步读取相应i节点指向的目录项,找到.cshrc文件的i节点编号,这样可以得到包括着文件信息的数据块。 (6) 改变一个文件的大小 包含文件数据的块分布在整个文件系统,数据块越分散,对于文件数据块的顺序访问越没有效率。EXT2文件系统试图克服这种情况,它在分配给一个文件新的块时,尽可能在物理上和它的当前数据块接近或者至少和它的当前数据块在一个块组里面。只有这个失败了,它才分配其他块组中的数据块。 无论何时一个进程试图向一个文件写入数据,Linux文件系统都检查数据是否会超出文件最后分配块的结尾。如果是,它必须为这个文件分配一个新的数据块,并且直到文件系统分配了新的数据块给它把剩下的数据写入,才能继续运行。 不管在哪里找到了空闲的数据块,块分配代码会更新块组的块位图,并从Buffer缓冲中分配一个数据缓冲区。缓冲区中的数据被置为0,缓冲区标记为“dirty”表示它的内容还没有写到物理磁盘上。最后,超级块本身也标记位“dirty”,显示它进行了改动,然后它的锁被释放。如果有进程在等待超级块,那么队列中第一个进程就被允许运行,得到超级块的排它控制权,进行其文件操作。 2.虚拟文件系统VFS 下图显示了Linux核心的虚拟文件系统和它的真实的文件系统之间的关系。虚拟文件系统必须管理任何时间安装的所有的不同的文件系统。为此它管理描述整个文件系统(虚拟)和各个真实的、安装的文件系统的数据结构。 i节点缓冲 FAT Buffer缓冲 VFS EXT2 目录缓冲 I/O驱动程序 VFS也使用术语超级块和i节点来描述系统的文件,和EXT2文件系统使用的超级块和 i节点的方式非常相似。像EXT2的i节点,VFS的i节点描述系统中的文件和目录:虚拟文件系统的内容和拓扑结构。 当每一个文件系统初始化的时候,它自身向VFS登记。某个文件系统自身建立在内核中时,这个文件系统初始化发生在系统启动操作系统初始化的时候。某文件系统作为可加载的模块时,它只有在该文件系统安装的时候才加载。当一个块设备文件系统安装的时候,(包括root文件系统),VFS必须读取它的超级块。每一个文件系统类型的超级块的读取例程必须找出这个文件系统的拓扑结构,并把这些信息映射到一个VFS超级块的数据结构上。VFS保存系统中安装的文件系统的列表和它们的VFS超级块列表。每一个VFS超级块包括了文件系统的信息
文档评论(0)