Answers:
这些/dev
节点出现是因为标准PC串行端口驱动程序已编译到您正在使用的内核中,并且正在查找UART。这会导致/sys/devices/platform/serial8250
(或兼容的东西)出现,因此udev创建了相应的/dev
节点。
这些UART最有可能是主板芯片组的众多功能之一。尽管将DB-9连接器连接到这些IC UART引脚的情况越来越少,但芯片组中的串行UART仍然很普遍。
在某些主板上,每个串行端口都有一个插头连接器,如果要将该连接器连接到PC的背面,则必须购买适配器电缆:
即使使用硅芯片,其他使用相同芯片组的主板也可能不会暴露接头连接器,这纯粹是为了节省PCB空间和接头连接器几美分。
几个串行UART对批量生产的PC芯片组IC的成本可忽略不计,而将DB-9连接器连接到板边缘的主板最终零售成本将增加数美元。PCB空间也有成本。板边缘的空间特别宝贵。
没有标准的方法来探测是否存在连接到RS-232串行端口的设备。
对比USB,在主板上仅存在一个端口并不会导致/dev
创建节点,而是会插入一个节点,因为在设备和主机操作系统之间进行了相当复杂的协商。实际上,设备向操作系统宣布自己,因此udev
可以通过/dev
为设备创建适当的节点来做出反应。
想象一下在虚拟化环境下运行Linux,许多仿真器仍然依赖于将控制台输出到串行端口。这是一个方便的标准。此外,无头服务器仍使用串行端口进行通信。