ch6-6.5实例研究Linux文件系统.pptVIP

  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文档。上传文档
查看更多
ch6-6.5实例研究Linux文件系统

6.5实例研究:Linux的文件管理 6.5.1 Linux文件管理概述 6.5.2 Linux文件系统安装 6.5.3 虚拟文件系统VFS 6.5.4 文件系统管理的缓冲机制 6.5.5 系统打开文件表和主要文件操作 6.5.6 EXT2文件系统 6.5.1 Linux文件管理概述(1) Linux支持多种不同类型的文件系统,包括EXT、EXT2、MINIX、UMSDOS、NCP、ISO9660、HPFS、MSDOS、NTFS、XIA、VFAT、PROC、NFS、SMB、SYSV、AFFS以及UFS等。 演变: Minix文件系统(64Mb) EXT(Extended file system)文件系统(2Gb) Xia文件系统(2Gb) EXT2(Second Extended file system)文件系统(4Tb) 6.5.2 Linux文件系统安装(1) 文件系统通过文件类型注册链表来描述 向系统注册文件系统类型的途径 Linux文件系统安装(2) 文件系统注册表的数据结构 file_systems指向文件系统注册表,每个文件系统类型在注册表中有一登记项,记录类型名name、支持该文件系统的设备requires_dev、读出该文件系统在外存超级块的函数read_super等 。 函数register_filesystem用于注册一个文件系统类型,函数unregister_filesystem用于从注册表中卸装一个文件系统类型。 Linux文件系统安装(4) Linux不通过设备标识访问具体文件系统,是通过mount命令把它安装到文件系统树的某一个目录节点,该文件系统的所有文件和子目录就是该目录的文件和子目录,直到用umount命令显式的撤卸该文件系统。 Linux自举时,先装入根文件系统,然后根据/etc/fstab中的登记项使用mount命令自动逐个安装文件系统。 用户也可显式地通过mount和umount命令安装和卸装文件系统。 6.5.3 虚拟文件系统VFS(1) 什么是VFS? VFS的功能包括: 记录可用的文件系统类型。 把设备与对应的文件系统联系起来。 处理面向文件的通用操作。 涉及具体文件系统的操作时,把它们映射到与控制文件、目录以及inode相关的物理文件系统。 虚拟文件系统VFS(2) 虚拟文件系统VFS(3) VFS主要数据结构(1) 超级块(superblock)存储被安装的文件系统信息,超级块中包含文件系统控制块。 索引节点(inode)存储通用的文件信息,一般指磁盘上的文件控制块,每个inode有惟一的inode号,并通过inode号标识每个文件。 虚拟文件系统VFS(4) VFS主要数据结构(2) 系统打开文件表(file)存储进程与已打开文件的交互信息,这些信息仅当进程打开文件时才存于内核空间中。 目录项dentry(directory entry)存储对目录的连接信息,包含对应的文件信息。 超级块(super block) struct super_block { kdev_t s_dev; /* 该文件系统的主次设备号 */ unsigned long s_blocksize; /* 块大小 */ unsigned char s_blocksize_bits; /* 以2的幂次表示块大小 */ unsigned char s_lock; /*锁定标志,置位表示拒绝其他进程访问 */ unsigned char s_rd_only; /* 只读标志 */ unsigned char s_dirt; /* 已修改标志 */ struct file_system_type* s_type; /* 指向文件系统类型注册表相应项 */ struct super_operations* s_op; /* 指向一组操作该文件系统的函数 */ struct dquot_operations* dq_op; unsigned long s_flags; unsigned long s_magic; unsigned long s_time; struct inode* s_covered; /* 指向安装点目录的inode */ struct inode* s_mounted; /* 指向被安装文件系统的第一个inode */ struct wait_queue* s_wait; /* 在该超级块上的等待

文档评论(0)

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

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

1亿VIP精品文档

相关文档