read()/write()是libc最常用的库函数,那么在application调用了read()/write()之后,发生了哪些事情,数据经过了怎样的流程才从media上读出到用户的buffer里,或是从用户buffer被写到media上的呢?本文将通过以下章节详细阐述整个过程。

第一章:文件系统基础

  1. 整个文件系统Overview
  2. 从libc到SYSCALL
  3. VFS的分发
  4. 重要概念:file, inode, page cache, file mapping, address space

第二章:read()

  1. read():从file operation到page cache
  2. read():从page cache到bio
  3. 重要概念:page cache, buffer head和bio

第三章:write()

  1. write():从file operation到page cache
  2. write():从page cache到writeback queue

第四章:writeback:

  1. writeback的init, register
  2. 从writeback queue到bio

第五章:从bio到media

  1. block layer的核心:request queue
  2. bio进入request queue
  3. ioscheduler
  4. request的接力

read()/write()的生命旅程——前言与目录相关推荐

  1. 《繁凡的深度学习笔记》前言、目录大纲 一文让你完全弄懂深度学习所有基础(DL笔记整理系列)

    <繁凡的深度学习笔记>前言.目录大纲 (DL笔记整理系列) 一文弄懂深度学习所有基础 ! 3043331995@qq.com https://fanfansann.blog.csdn.ne ...

  2. 生命旅程中何生命个体

    佛家云:"苦海无边,回头是岸."放弃对功名利禄的追逐,你随遇而安得到的将会是宁静与淡泊:放弃对金钱无止的掠夺,你安常处顺得到的将会是安心与快乐:放弃掌声鲜花的陶醉幸福,你激流勇退得 ...

  3. ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...)

    开发工具:VS2015(2012以上)+SQL2008R2以上数据库  您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB  升级后界面效果如下: 日程管理   http:// ...

  4. 深入理解Linux内核-第3版 译者序、前言、目录 内核2.6.11

    一.译者序 Linux是一个全新的世界,世界意味着博大精深,而新或许代表对旧的割舍和扬弃,加在一起,就是要我们在割舍和扬弃的同时还要积累知识到博大精深的地步,这容易做到吗?是的,这不容易做到.Gera ...

  5. 怎么从头开始构建一个基于web浏览器的云游戏平台--前言——带目录

    怎么从头开始构建一个基于web浏览器的云游戏平台–前言 今天开一个新坑,公司突然开始涉及云游戏,还要基于web端,区别于现有的大多数云游戏平台,有点类似于在国内搞一个谷歌云游戏的模式,自己本身对云游戏 ...

  6. 《30天自制操作系统》前言、目录、样章欢迎阅读!

    编著推荐: 只需30天从零开始编写一个五脏俱全的图形操作系统 如果肯坚持,没有什么不可以!祝所有读到这篇文章的人都能写出好的操作系统! 内容简介: 自己编写一个操作系统,是许多程序员的梦想.也许有人曾 ...

  7. DIY强大的虚拟化环境-前言与目录

    不知道什么时候,我发现我喜欢上了虚拟化的东西!虚拟化技术到现在已近深入到了各行各业,感觉前景挺好的,也有幸去北京进修了下,更喜欢虚拟化后的自动化.统一管理化!虽然时间不长也不短,我感觉到了自己决定了要 ...

  8. 0.前言——章节目录链接与为何要写这个?

    这是[手把手一起学live555]的第1篇(按这个序号看). live555工程在我的gitee下(doc下有思维导图.drawio图): https://gitee.com/lure_ai/live ...

  9. PMP —— 项目完整生命周期

    文章目录 PMP -- 项目完整生命周期 前言 一张图项目管理(以前端角度看) 角色介绍 注意事项 详细流程 项目立项 编写需求和需求评审 会议的主要步骤 参会角色思考 汇报工期 编写技术方案 什么是 ...

  10. 【 Vue全家桶 · Vue CLI(四)】Vue项目的详细目录结构解析

    文章目录 前言 -- 一级目录解析 一. dist 二. node_modules 三. public 四. src(基础版) 4.1 main.js 4.2 App.vue 4.3 src / as ...

最新文章

  1. 利用php实现删除,利用PHP实现删除目录及目录下所有文件 源代码
  2. FastDFS入门步骤
  3. Qt phonon多媒体框架(转)
  4. shell中用grep查找并且不输出_shell中grep命令详解
  5. 女人 这20种男人你永远不必等
  6. 萨义德与巴伦博依姆关于音乐和文学的对话
  7. 莫比乌斯反演 做题记录
  8. 【ubuntu】vim语法高亮设置无效
  9. 使用html2Canvas将页面转化为canvas图片,最后长按保存到本地,史上最全 html2canvas 使用 踏坑之旅,没有之一
  10. 最新遇到的面试题20210319
  11. 操作技巧:在Python Shell里如何清屏
  12. 开机启动项_开机时出现“checking media presence”
  13. [转载] python difference用法_set.difference() 的用法(python3)_python3 set集合,三元运算以及
  14. Python取出SQL表单中的字段名
  15. subsonic orm_Hanselminutes播客132-Subsonic与Rob Conery
  16. 共模电感的工作原理及选型
  17. StarUml----逆向工程操作步骤
  18. 【机器学习】吴恩达机器学习个人笔记
  19. 简单高效记账本的具体操作方法
  20. php 全选 反选,利用vue实现全选反选功能

热门文章

  1. 【玩转Ubuntu】02. Ubuntu上搭建Android开发环境
  2. Oracle 语法之 OVER (PARTITION BY ..) 及开窗函数
  3. pyqsplitter 保持一个窗口不能拖动_Axure教程:左侧导航如何自适应浏览器窗口高度?...
  4. Java常用排序算法
  5. python windows 远程执行bat
  6. silverlight---游戏中的人工智能之追逐与闪躲
  7. 数组指针和指针数组的区别(转)
  8. 用java写 java1,1,2,4,7,13,24,44算法
  9. 【C004】VB - 数据文件(一)顺序文件
  10. 女生转行成为程序员的顾虑和优势