read()/write()是libc最常用的库函数,那么在application调用了read()/write()之后,发生了哪些事情,数据经过了怎样的流程才从media上读出到用户的buffer里,或是从用户buffer被写到media上的呢?本文将通过以下章节详细阐述整个过程。
第一章:文件系统基础
第一章:文件系统基础
- 整个文件系统Overview
- 从libc到SYSCALL
- VFS的分发
- 重要概念:file, inode, page cache, file mapping, address space
- read():从file operation到page cache
- read():从page cache到bio
- 重要概念:page cache, buffer head和bio
- write():从file operation到page cache
- write():从page cache到writeback queue
第四章:writeback:
- writeback的init, register
- 从writeback queue到bio
- block layer的核心:request queue
- bio进入request queue
- ioscheduler
- request的接力