据我了解,块/字符设备文件是以编程方式创建的(由驱动程序本身?),以便于使用标准 I/O 调用与设备驱动程序进行通信。但为什么要使用命令行创建这些设备文件呢mknod
?
请提供一些常见的用例。
答案1
历史原因。最初,在 devfs 存在之前,这些设备文件是手动创建的或由名为 MAKEDEV 的脚本创建的。这也是为什么许多驱动程序都有固定的设备号分配;因为必须知道设备编号才能使设备文件正常工作。
在现代 Linux 系统上,mknod 命令实际上没有任何常见用例,尽管它仍然可以用于系统恢复或不包括 devfs 的非常小的系统。