struct file, 定义于 <linux/fs.h>, 是设备驱动中第二个最重要的数据结构. 注意 file 与用户空间程序的 FILE 指针没有任何关系. 一个 FILE 定义在 C 库中, 从不出现在内核 代码中. 一个 struct file, 另一方面, 是一个内核结构, 从不出现在用户程序中. 文件结构代表一个打开的文件. (它不特定给设备驱动; 系统中每个打开的文件有一个关联 的 struct file 在内核空间). 它由内核在 open 时创建, 并传递给在文件上操作的任…