可以读取/proc/devices文件以获得Linux内核分配给该设备的主设备号。
主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个设备
在Linux内核看来,主设备号标识设备对应的驱动程序,
告诉Linux内核使用哪一个驱动程序为该设备(也就是/dev下的设备文件)服务;而次设备号则用来标识具体且唯一的某个设备。
以上对吗?
是这样的,比如,你的机子上安装了两个型号相同的硬盘,这两个硬盘都是被同一个驱动程序来驱动,也就是说你的机子上只有一个这类型号的硬盘驱动程序,操作系统要使用其中的一个硬盘,就调用这个驱动程序,系统中不只有这一个驱动程序,还有网卡驱动程序,USB驱动程序等。 那操作系统怎么找到这个驱动程序呢,最好的方法就是给他们编号,这些编号就是主设备号。系统既然通过调用同一个驱动程序来操作两个型号相同的硬盘,那怎么它怎么区分两个硬盘呢?是这样的,系统要调用A硬盘,那他就把在区分两个硬盘的号码中代表A硬盘的那个号码传给驱动程序,驱动程序通过这个号码,就会知道操作系统到底是想用哪一个硬盘,这里的区分两个硬盘的号码就是次设备号。
最佳答案