第五章文件系统..pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 Linux内核简介文件系统为什么要进行分区格式化?因为各种操作系统都必须按照一定的方式来管理磁盘,而只有格式化才能使磁盘的结构能被操作系统认识。 因为每种操作系统所配置的文件属性/权限并不相同, 为了存放这些文件所需的数据,因此就需要分区进行格式化,以成为操作系统能够利用的文件系统格式(filesystem)。文件系统是如何运行的呢?这与操作系统的文件数据有关。较新的操作系统的文件数据除了文件实际内容外, 通常含有非常多的属性,例如 Linux 操作系统的文件权限(rwx)与文件属性(拥有者、群组、时间参数等)。?文件系统通常会将这两部份的数据分别存放在不同的区块,权限与属性放置到 inode 中,至于实际数据则放置到 data block 区块中。 另外,还有一个超级区块 (superblock) 会记录整个文件系统的整体信息,包括 inode 与 block 的总量、使用量、剩余量等。每个 inode 与 block 都有编号,至于这三个数据的意义可以简略说明如下:superblock:记录此 filesystem 的整体信息,包括inode/block的总量、使用量、剩余量, 以及文件系统的格式与相关信息等;inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的 block 号码;block:实际记录文件的内容,若文件太大时,会占用多个 block 。我们将 inode 与 block 区块用图解来说明一下,文件系统先格式化出 inode 与 block 的区块,假设某一个文件的属性与权限数据是放置到 inode 4 号,而这个 inode 记录了文件数据的实际放置点为 2, 7, 13, 15 这四个 block 号码,操作系统就能够据此来排列磁盘的阅读顺序,可以将四个 block 内容读出来!这种数据存取的方法我们称为索引式文件系统(indexed allocation)。我们以闪存常用的FAT 格式为例做对比。FAT 这种格式每个 block 号码都记录在前一个 block 当中, 他的读取方式如下图所示:?Linux 的 EXT2 文件系统inode 的内容在记录文件的权限与相关属性,至于 block 区块则是在记录文件的实际内容。Ext2 文件系统在格式化的时候基本上是区分为多个区块群组 (block group) 的,每个区块群组都有独立的 inode/block/superblock 系统。data block (数据区块)data block 是用来放置文件内容数据地方,在 Ext2 文件系统中所支持的 block 大小有 1K, 2K 及 4K 三种而已。在格式化时 block 的大小就固定了,且每个 block 都有编号,以方便 inode 的记录。Block 大小1KB2KB4KB最大单一文件限制16GB256GB2TB最大文件系统总容量2TB8TB16TB?Ext2 文件系统的 block 基本限制如下:原则上,block 的大小与数量在格式化完就不能够再改变了(除非重新格式化);每个 block 内最多只能够放置一个文件的数据;如果文件大于 block 的大小,则一个文件会占用多个 block 数量;若文件小于 block ,则该 block 的剩余容量就不能够再被使用了(磁盘空间会浪费)。例题: 假设你的Ext2文件系统使用 4K block ,而该文件系统中有 10000 个小文件,每个文件大小均为 50bytes, 请问此时你的磁盘浪费多少容量? 答:每个 block 会浪费 4096 - 50 = 4046 (byte), 所有文件容量为:50 (bytes) x 10000 = 488.3Kbytes,浪费的容量为: 4046 (bytes) x 10000 = 38.6MBytes 。inodeinode 的内容是记录文件的属性以及该文件实际数据是放置在哪几号 block 内! inode 记录的文件数据至少以下这些:该文件的存取模式(read/write/excute);该文件的拥有者与群组(owner/group);该文件的容量;该文件创建或状态改变的时间(ctime);最近一次的读取时间(atime);最近修改的时间(mtime);定义文件特性的旗标(flag),如 SetUID...;该文件真正内容的指向 (pointer);inode 的数量与大小也是在格式化时就已经固定了,除此之外 inode 还有些什么特点呢?每个 inode 大小均固定为 128 bytes;每个文件都仅会占用一个 inode ;文件系统能够创建的文件数量与 inode 的数量有关;系统读取文件时需要先找到 inode,并分析 inode 所记录的权限与用户是否符合

文档评论(0)

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

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

1亿VIP精品文档

相关文档