03-设备ID
设备ID
每个设备文件都有主、辅ID号各一。主ID号标识一般的设备等级,内核会使用主ID号查找与该类设备相应的驱动程序。辅 ID 号能够在一般等级中唯一标识特定设备。命令ls –l可显示出设备文件的主、辅ID。
设备文件的i节点中记录了设备文件的主、辅ID(本章第4节将介绍i节点)。每个设备驱动程序都会将自己与特定主设备号的关联关系向内核注册,藉此建立设备专用文件和设备驱动程序之间的关系。内核是不会使用设备文件名来查找驱动程序的。
在Linux 2.4以及更早的版本中,系统的设备总数受限于这一事实:设备的主、辅ID只能用8位数来表示。加之主设备ID固定不变,且为统一分配(由Linux命名和编号机构分配,请见http://www.lanana.org),使得上述问题更为严重。Linux 2.6采用了更多位数来存放主、辅ID(分别为12位和20位),从而缓解了这一问题。