OperatingSystem第六章文件管理-2.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  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文档。上传文档
查看更多
6.10 Linux的文件系统 Linux的文件系统结构主要采用了两层结构来进行构建,如图所示。 第一层:是虚拟文件系统(VFS)。 第二层:是真正的Linux自身的文件系统,EXT2(The Second Extended File System)。 图1 Linux文件系统的结构 6.10.1 VFS文件系统 1. VFS的功能 (1)对具体文件系统的数据结构进行抽象,以一种统一的数据结构进行管理。 (2)将设备同对应的文件系统联系起来。 (3)接受用户层的系统调用,例如,write、open、link等处理一些面向文件的通用操作。 (4)支持多种具体文件系统之间的相互访问。 (5)接受内核其他子系统的操作请求,特别是内存管理子系统。 6.10.1 VFS文件系统 2. VFS的数据结构 (1)VFS超级块。每个已安装的文件系统都有超级块,它是来描述整个文件系统的,每个已安装的文件系统有一个VFS超级块,是在各种文件系统安装时建立的,并且在文件系统卸载时自动删除,即它只存在内存中。 (2)VFS inode VFS中的每个文件、目录等都用且只用一个VFS inode表示。文件系统处理文件所需要的信息都放在索引节点中 6.10.1 VFS文件系统 3. 文件系统功能的实现 ( 1)VFS的初始化。在使用一个文件系统之前,必须对该文件系统进行注册 (2)文件操作的实现。当某个进程发布了一个面向文件或目录的系统调用时,首先使用系统调用遍历系统的VFS inode 图2 VFS与具体文件系统之间的关系 6.10.1 VFS文件系统 4. VFS的缓冲机制 (1)块高速缓存 (2)索引节点高速缓存 (3)目录高速缓存 6.10.1 VFS文件系统 5. Linux文件类型 (1)正规文件(Regular File):是最普通的文件类型,基本数据的载体。 (2)目录文件(Directory File):包含其目录下文件的文件名及相应的文件指针。 (3)字符型特殊文件(Character Special File):系统中特定设备在文件系统中的表示。 (4)块型特殊文件(Block Special File):系统中磁盘设备(包括字符设备)在文件系统中的表示。 6.10.1 VFS文件系统 (5)FIFO:进程通信文件。 (6)Socket:进程间网络通信文件。 (7)符号链接文件(Symbolic Link):链接别的文件的文件 6.10.1 VFS文件系统 6. Linux文件系统的目录 Linux的文件系统的组织形式是一种树型结构,根节点是根目录root区的文件系统,之后每个装载的文件系统都被安装到一个指定的目录下(一般是在“/mnt”目录下),同时以该目录作为这个文件系统的根目录,该目录原来的信息被覆盖 6.10.1 VFS文件系统 7. Linux文件的查找 采用dentry结构配合inode来实现相关的查找 在VFS中每一个打开的文件都对应有一个dentry节点,该节点与对应文件的inode之间有紧密的联系,并存放于dentry_Cache核心内存Cache中 就保证了系统在文件查找时不用每次都去访问磁盘,直接从核心内存中就能得到文件的inode 6.10.1 VFS文件系统 8. Linux文件的操作 (1)Linux文件的打开和关闭 在VFS中,要打开某个文件时,系统先得到一个空的文件ID号和一个文件信息节点,然后由相应的文件名通过文件的查找得到它的dentry节点和inode,建立四者之间的联系,最后则需要通过具体的文件系统自身提供的文件打开函数真正地打开指定的文件。 6.10.1 VFS文件系统 (2)Linux读文件和写文件 系统先要判断所要读的文件区域是否被别的进程锁住,如果没有的话,就调用具体文件系统提供的读文件函数,将指定文件的内容读到指定的内存区域中。 (3)文件访问权限的测试 (4)文件的链接和符号链接 文件的链接 在VFS中,可以有多个dentry节点指向同一个inode 符号链接 仅仅是在符号链接文件中保存其链接目标文件的绝对路径 6.10.1 VFS文件系统 (5)Linux文件的共享 在VFS中,系统采用不同的文件ID号指向同一文件信息节点来实现文件的共享 6.10.1 VFS文件系统 9. Linux文件的一致性处理 (1)文件的同步更新 (2)文件的记录锁 6.10.2 Linux EXT2文件系统 1. EXT2文件系统的整体结构和布局 Linux将整个磁盘划分成若干分区,每个分区被当做独立的设备对待,一般需要一个主分区nat

文档评论(0)

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

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

1亿VIP精品文档

相关文档