Linux0.12文件系统文件中数据的访问操作

block_write() ----- 块设备文件数据的读操作

1.把参数中文件指针pos位置映射成数据块号和块中偏移量

2.将pos所在位置的数据读入到缓冲区的一个缓冲块bread()

3.计算要写的长度

4.从用户数据缓冲区将数据复制到当前缓冲块的位移位开始处(从第2次开始,偏移量都是0)

5.如果还有数据,go to step 2

图:见笔记


用户读写操作过程,以读为例:


再以块设备读函数为例:

block_read() ---> bread() ---> ll_rw_block()


原文地址:https://www.cnblogs.com/windmissing/p/2559835.html