17----Linux原理及应用--文件系统要点分析.pptVIP

17----Linux原理及应用--文件系统要点分析.ppt

  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文档。上传文档
查看更多
The update Process (update 进程) update 命令不仅仅是一个命令,它也是一个守护进程。 当以超级用户身份(系统初始化)运行的时候,它会定期把所有旧的脏缓冲区写到磁盘上。 通过调用系统服务例程执行这些任务,或多或少和 bdflush 的任务相同。 当生成了一个脏缓冲区的时候,都标记上它应该被写到它自己的磁盘上的系统时间。 每一次 update 运行的时候,它都查看系统中所有的脏的缓冲区,查找具有过期的写时间的缓冲区。 每一个过期的缓冲区都被写到磁盘上。 参见 fs/buffer.c sys_bdflush() 补充:日志式文件系统 新一代的 Linux 的文件系统,使用Journaling File System 日志式文件系统以取代旧有的传统 ext2 档案系统,已成一必然趋势。目前较为熟知的日志式档案系统如 Red Hat 的 ext3、NSV的 ReiserFS、IBM 的 JFS、及SGI 的 xfs 等…。 「日志」主要的精髓还是在于「log」的功能。易言之,Journal File System于系统资料改变前,会先记录将执行的动作记录,如适逢不正常的关机或电力中断时,可确保资料不致遗失。 补充:日志式文件系统 现有几个主要 Linux Distribution,多采ReiserFS的日志式文件系统,Red Hat 则自Red Hat Linux 7.2版开始使用ext3 的日志式文件系统, ext3 比起ext2 如仅择一理由简言之,就是多了日志功能;Red Hat选用ext3 的日志式文件系统, 基于下述原因: ext3可以前后相容于ext2 ext2的使用者可以在既存的文件系统中简单地即可增加日志功能 还原ext2亦复简易,只要有较新版的 e2fsprogs套件 ext3 的文件系统,无须移除 journal,也可以挂载ext2的文件系统。 补充:日志式文件系统 固有特性:ext3不但增益了文件的优点,也承继了某些 ext2的优点,例如HTrees可使大型目录的运作更为迅速、extended的属性特点可以启动存取控制清单。 设备日志:ext3使用generic journaling layer (jbd),所以不仅可以日志文件系统,其他的设备如NVRAM,也可日志。 多模式:ext3 具备多种日志模式。 跨平台:ext3具备32 bit 或64 bit 架构的跨平台日志能力。 内核支持:ext3 已整合进 Linux 的kernel。 高容错性:ext3 仍援用e2fsck code 资料毁损容错的特点。 count:共享此表的进程的个数 Root:根目录的目录项及在该目录上安装的文件系统对象 Pwd:当前工作目录的目录项及在该目录上安装的文件系统对象 Count:共享本数据结构的进程的个数 Max_fds:文件对象的当前最大数目;参见alloc_fdtable Next_fd:初始化为0;分配fd的时候,被赋值为所分配的最大文件描述符加1; Fd:指向文件对象指针数组;通常指向fd_array,当fd_array不够时,将分配一个新的更大的文件对象指针数组,将其地址存放在fd字段中,并同时更新max_fds字段的值。 Close_on_exec:指向执行exec时需要关闭的文件描述符的指针 Open_fds:指向打开文件描述符的指针 Close_on_exec_init:执行exec时需要关闭的文件描述符的初始集合 Open_fds_init:文件描述符的初始集合 Fd_array:文件对象指针的初始化数组 Kernel 2.6.36(比较与P134异同) struct file_system_type { const char *name; int fs_flags; int (*get_sb) (struct file_system_type *, int, const char *, void *, struct vfsmount *); void (*kill_sb) (struct super_block *); struct module *owner; struct file_system_type * next; struct list_head fs_supers; struct lock_class_key s_lock_key; struct lock_class_key s_umount_key; struct lock_class_key s_vfs_rename_key; struct lock_class_key i_lock_key; struct lock_class_k

文档评论(0)

南非的朋友 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档