Linux内核IO调度层-LinuxKernelExploration.PDF

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

Linux内核 IO调度层   Linux内核IO调度层          本文链接:/?p=1693    1    Linux内核 IO调度层  目 录 1  概述 4  2  请求和请求队列 5  2.1  请求队列request_queue 6  2.2  请求 10  2.2.1  数据结构request 10  2.2.2  请求标志 13  2.3  调度器操作方法 14  3  I/O调度器 15  3.1  I/O调度器的工作 16  3.2  调度算法 16  3.2.1  CFQ调度器 16  3.2.2  Deadline调度器 17  3.2.3  I/O调度器的选择 20  4  发送请求到I/O调度器 20  4.1  __make_request () 20  4.2  __elv_add_request () 24  4.3  __blk_run_queue () 27  4.4  驱动服务例程request_fn 28  4.5  请求队列的由来 29  4.5.1  块设备请求队列的创建 29  4.5.2  块设备请求队列的获取 31  5  plug与unplug设备 31  5.1  blk_plug_device ()与blk_remove_plug () 32  5.2  generic_unplug_device () 33  6  块设备请求队列拥塞的处理 34  7  常见问题 36  7.1  SSD经过I/O调度层吗? 36  7.2  I/O请求放到块设备请求队列上后,是否立即被执行呢? 37  2    Linux内核 IO调度层  图目录 图1 内核中块设备操作流程 4  图2 请求和请求队列 12  图3 NVMe SSD驱动架构 37      3    Linux内核 IO调度层  1 概述 我们仍以块设备操作流程开始,分析内核块设备操作中的过程。在块设备上的操作,涉 及内核中的多个组成部分,如图1所示。假设一个进程使用系统调用read ()读取磁盘上的 文件。下面步骤是内核响应进程读请求的步骤; Virtual Filesy

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档