原创 Linux驱动开发中容易混淆的概念

2007-11-27 15:18 2847 5 5 分类: MCU/ 嵌入式

1.         主、次设备号<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


linux系统中,设备的描述是通过主、次设备号描述的。不同的设备主次设备号的组合必须唯一,否则视为同一个设备。具有相同主设备号不同次设备号的设备之间是共用 同一个驱动程序。


2.         设备驱动程序


一个设备驱动程序可以驱动多个雷同或不同的设备,通常对具有相同属性或单独设备编写相应的驱动程序。


3.         inode节点


驱动程序的许多函数体的入口参数带有struct inode结构。一个inode代表一个具体的设备,相同的设备的必然具有相同的inode,而且主次设备号必须一样。


4.         struct file结构


该结构代表了设备的一个实例句柄,一个设备同时被多个进程打开时,具有多个file句柄,而inode只有一个。  


如图所示,设备123分别代表3个不同的设备,使用一个驱动程序。


用户进程1,进程2同时打开了设备1


进程1和进程2inode节点是一样的,都代表了设备1


进程1和进程2struct file结构是不同的,该结构与进程相关,file的个数表示同一个设备被同时共享了几个。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条