Linux kernel 为什么网络接口没有主次号

Linux kernel 为什么网络接口没有主次号,linux-kernel,linux-device-driver,Linux Kernel,Linux Device Driver,伙计们 我正在学习Linux设备驱动程序。阅读下面的内容时,我有一个问题 由于网络接口没有对应的主数字和次数字,网络驱动程序不会请求这样的数字 那个么,你们能告诉我为什么网络接口在设计上并没有主次号吗 感谢字符设备或块设备使用主要和次要数字,这意味着用户通过读取和写入特殊文件(节点)与这些设备进行交互,因此可以使用这两个数字创建节点(major确定设备驱动程序,而minor指定由驱动程序管理的特定设备) 网络驱动程序不需要这些数字,因为访问网络适配器的方法(或设计,如您所说)并不假定其表示为文件

伙计们 我正在学习Linux设备驱动程序。阅读下面的内容时,我有一个问题

由于网络接口没有对应的主数字和次数字,网络驱动程序不会请求这样的数字

那个么,你们能告诉我为什么网络接口在设计上并没有主次号吗


感谢

字符设备或块设备使用主要和次要数字,这意味着用户通过读取和写入特殊文件(节点)与这些设备进行交互,因此可以使用这两个数字创建节点(major确定设备驱动程序,而minor指定由驱动程序管理的特定设备)


网络驱动程序不需要这些数字,因为访问网络适配器的方法(或设计,如您所说)并不假定其表示为文件或节点。相反,使用了网络接口的概念。您通常通过套接字API(如Berkeley套接字)使用这些网络接口,而像网络堆栈这样的核心子系统作为应用程序和网络驱动程序之间的中间代理参与其中。不存在通过文件的读/写访问。

“主要和次要数字由字符设备使用”-不仅仅是字符设备。例如,块设备也使用它们。Linux内核和用户空间之间有几个ABI。其中之一是用于网络设备的netlink。