Linux内核写文件过程-LinuxKernelExploration.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux内核写文件过程-LinuxKernelExploration

Linux 内核写文件过程  Linux内核写文件过程                               1    Linux 内核写文件过程  目 录Table of Contents 1  概述 4  2  虚拟文件系统与ext4文件系统层 6  2.1  sys_write () 6  2.2  vfs_write () 7  2.3  do_sync_write () 9  2.4  ext4_file_write () 10  2.4.1  Ext4文件系统extent特性 10  2.4.2  ext4_file_write ()函数分析 12  2.5  generic_file_aio_write () 14  2.6  __generic_file_aio_write () 15  2.7  generic_file_buffered_write () 18  2.8  generic_perform_write () 19  2.8.1  ext4文件系统address_space_operations 19  2.8.2  ext4文件系统delay allocation机制 20  2.8.3  genric_perform_write () 21  2.8.4  genric_write_end () 29  2.8.5  block_write_end () 30                2    Linux 内核写文件过程  图目录 List of Figures 图1 Linux内核块设备I/O流程 4  图2 Ext4文件系统间接块映射与Extent模式 10  图3 ext4_extent、ext4_extent_idx、ext4_extent_header数据结构 11  图4 ext4 extent树 12  图5 缓冲页与缓冲区头的关系 27                          3    Linux 内核写文件过程  1 概述 用户进程通过系统调用write ()往磁盘上写数据,但write ()执行结束后,数据是否 立即写到磁盘上?内核读文件数据时,使用到了“提前读”;写数据时,则使用了“延迟写”, 即write ()执行结束后,数据并没有立即立即将请求放入块设备驱动请求队列,然后写到 硬盘上。 本文不考虑以O_DIRECT或O_SYNC方式打开文件的情形,我们仅考虑异步I/O。同步方式写的I/O流 程相对简单。 本文以Redhat Enterprise Linux 6 Update 3内核版本2.6.32-279.el6.x86_64为例,分 析内核写文件过程。 在分析具体源码之前,我们回顾一下Linux内核块设备I/O流程,如图1所示。

您可能关注的文档

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档