- 55
- 0
- 约2.24万字
- 约 23页
- 2017-11-17 发布于河南
- 举报
块设备读写流程
1、? open()打开指定的块设备,通过systemcall机制陷入内核,执行blkdev_open()函数,该函数注册到文件系统方法(file_operations)中的open上。在blkdev_open函数中调用bd_acquire()函数,bd_acquire函数完成文件系统inode到块设备bdev的转换,具体的转换方法通过hash查找实现。得到具体块设备的bdev之后,调用do_open()函数完成设备打开的操作。在do_open函数中会调用到块设备驱动注册的open方法,具体调用如下:gendisk-fops-open(bdev-bd_inode, file)。
2、? read、write函数对设备进行读写,文件系统会调用相应的方法,通常会调用如下两个函数:generic_file_read和blkdev_file_write。在读写过程中采用了多种策略,首先分析读过程。
3、?read函数,内核执行generic_file_read,如果不是direct io方式,那么直接调用do_generic_file_read-do_generic_mapping_read()函数,在do_generic_mapping_read(函数位于filemap.c)函数中,首先查找数据是否命中Cache,如果命中,那么直接将数据返回给用户态;否则通过address_space
您可能关注的文档
- VC中的文件读写操作.doc
- 小学生70首古诗.ppt
- 恶意代码文件感染和内存驻留.docx
- 实验一 Power Designer 入门.doc
- 贪心算法设计及其实际应用研究.doc
- 观沧海等4首(好).ppt
- c++ MFC中的文件读写操作.docx
- 文件读写技术--VC++--MFC.doc
- 25课《诗词曲五首》.ppt
- VAGCOM使用说明.doc
- 八年级地理第三单元工业区位填空题专项检测卷能力提升版.docx
- 八年级地理第八单元世界区域地理材料分析题题型强化卷易错强化版.docx
- 八年级地理第二单元经纬网判读读图题专题复习卷专项精练版.docx
- 八年级地理第二单元经纬网判读计算题高频题训练卷阶段诊断版.docx
- 八年级地理第二单元经纬网判读计算题诊断测试卷阶段诊断版.docx
- 八年级地理第二知识板块核心专题资源保护原因分析题达标诊断卷能力进阶版.docx
- 八年级地理第六单元昼夜长短材料分析题专题复习卷课外拓展版.docx
- 八年级地理第七单元河流特征分析图表题能力提升卷重难点突破版.docx
- 八年级地理第七单元河流特征分析图表题知识梳理卷重难点突破版.docx
- 八年级地理上册气温曲线图计算题高频题训练卷阶段诊断版.docx
原创力文档

文档评论(0)