磁盘读写过程总结+debugfs总结

本文总结了磁盘文件的读写流程,包括VFS层的read/write操作,高速缓存的作用,通用块层的扇区管理,IO调度器如电梯算法的优化,以及设备驱动程序的角色。同时提及了debugfs的使用,对于理解和优化磁盘性能具有指导意义。
摘要由CSDN通过智能技术生成

本文参考~http://hi.baidu.com/_kouu/item/4e9db87580328244ef1e53d0和http://blog.yufeng.info/archives/751两篇博客,主要是对两篇内容进行总结。



普通磁盘文件的读写流程:

1.VFS:用户下发read或者write操作,然后在VFS层调用f_op->read/f_op->write

2.高速缓存:用于将磁盘的内容缓存在内存中,加速文件的读写,实际上,read,write只跟缓存打交道,只有读的数据不在缓存中,则触发读盘操作,。cache中存储inode节点信息,每个inode都内嵌一个address_space结构,维护一颗radix树,用于磁盘高速缓存的内存页面就挂在这棵树上,inode被载入内存的时候,对应的磁盘高速缓存是空的(radix树上没有页面),随着文件的读写,磁盘上的数据被载入内存,相应的内存页被挂到radix树相应位置。如果文件打开时,指定了O_DIRECT选项选项,则表示绕开磁盘高速缓存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值