read() 是否导致内核设备驱动程序代码被执行?

Does read() causes the kernel device driver code to be executed?

read()系统调用是否导致内核设备驱动代码被执行? 我的意思是,当我想从磁盘或任何驱动程序读取文件时,我使用 read() 系统调用。那个系统调用是不是必须要用驱动代码才能完成这个任务?

谢谢。

是的,read() 使用 standard file descriptors 从文件中的固定偏移量和固定字节读取文件。 standard file descriptors 不是光盘上的文件,而是与不同的设备相关联,即终端设备。因此,驱动程序必须用于要访问的文件。

请参阅 man read 了解其用法和 C 原型。

有关文件处理的更多信息,请使用 this link,尤其是针对您的特定查询的 "Reviewing Open Files" 部分。