Linux设备驱动程序 之 重要数据结构

文件对象

文件对象是进程已经打开文件描述符的内存中的表示,单个文件可能有多个表示打开文件描述符的file结构;

 

文件操作

file_operations提供了文件操作函数,这些函数与系统调用进行关联,;

inode对象

内核用inode结构在内部表示文件,因此它和file结构不同,后者表示打开的文件描述符。对单个文件,可能会有多个表示打开文件描述符的file结构,但它们都指向单个inode结构;

inode结构中包含了大量有关文件的信息。作为常规,只有下面两个字段对编写驱动程序代码有用

dev_t i_rdev:

对表示设备文件的inode结构,该字段包含了真正的设备编号;

struct cdev *i_cdev:

表示字符设备的内核的内部结构,当inode指向一个字符设备文件时,该字段包含了指向struct cdev结构的指针;

从inode中获取主设备号和次设备号,使用下面函数,不要直接操作i_rdev:

 

本文链接:Linux设备驱动程序 之 重要数据结构

转载声明:转载请注明来源:Linux TCP/IP Stack,谢谢!


发表评论

电子邮件地址不会被公开。 必填项已用*标注