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只有一个。
如图所示,设备1,2,3分别代表3个不同的设备,使用一个驱动程序。
用户进程1,进程2同时打开了设备1:
进程1和进程2的inode节点是一样的,都代表了设备1。
进程1和进程2的struct file结构是不同的,该结构与进程相关,file的个数表示同一个设备被同时共享了几个。
文章评论(0条评论)
登录后参与讨论