我知道某些系统调用如sys_read
和sys_write
如何处理字符设备文件。如果我理解正确,因为字符设备驱动程序实现了file_operations函数,因此sys_read
和sys_write
将调用在字符设备驱动程序中定义和实现的读写函数。
但是,我不确切地知道sys_read
,sys_write
和常规文件(存储在块设备中)之间通过VFS
,块子系统和块设备驱动程序之间的交互。我知道为了读取/写入块设备,块设备的驱动程序具有操作请求队列的请求函数,但是当我读取Linux源代码(fs/read_write.c
)时,我找不到任何代码片段发出请求并发送到任何请求队列
你能帮我澄清一下这种互动吗?
非常感谢你。