Linux驱动开发之字符设备驱动模型之file_operations

90%的驱动模型都是按照下图开发的

下面来说下设备描述结构是什么东西

打开Linux-2.6.32.2的Source Insight 工程,搜索cdev

比如一个应用程序需要调用read和write这两个指令,然后内核里肯定也存在read和write,可能是xxx_read和xxx_write这样的函数,而驱动就是衔接这用户空间和内核空间的,read和xxx_read以及write和xxx_write就是属于驱动里面的一部分,而read和xxx_read就属于上述图片的一部分,如果这个文件是只读的,也就是说不能写,那么图片里面file_operations结构体内的write函数指针------(  (*write) (struct file *, const char __user *, size_t, loff_t *)  )就是空函数,所以这下明白了file_operations结构体是干嘛了的吧。

原文地址:https://www.cnblogs.com/sanshijvshi/p/8495099.html