只要文件存在,就会有唯一对应的inode号,且相应的会存在一个struct inode结构体。在应用层通过open()打开一个设备文件,会对应产生一个inode号,通过inode号可以找到文件的inode结构体

 
 
根据inode结构体中文件对应的驱动对象结构体指针找到驱动对象结构体
在驱动对象结构体中找到操作方法结构体指针,在驱动程序中定义一个操作方法结构体变量并初始化,实现具体的打开关闭,读写等功能

open函数回调到驱动中的open操作方法的路线:
open()--->sys_open()--->struct inode结构体--->struct cdev结构体--->struct file_operations结构体--->mycdev_open
注册及注销流程
static int __init mycdev_init(void)
 {
 //1.分配对象空间
 //2.初始化对象
 //3.申请设备号
 //4.注册字符设备驱动对象
 //5.向上提交目录
 //6.向上
static void __exit mycdev_exit(void)
 {
 //1.销毁设备节点
 //2.释放目录空间
 //3.注销字符设备驱动对象
 //4.释放设备号
 //5.释放设备空间
 }
提交设备节点信息



















