下图显示了设备文件、设备驱动程序和硬件设备之间的关系:
Application <---> /dev/device_file <---> device driver <---> hardware device因此,应用程序将数据写入设备文件,然后将数据传递给设备驱动程序,然后设备驱动程序将数据传递给硬件设备(读取时会发生相反的情况)。
但是Linux中有一些设备驱动程序不指向硬件设备,例如,/dev/随机设备文件指向没有指向硬件设备的设备驱动程序:
Application <---> /dev/random <---> device driver说/dev/随机点指向“设备驱动程序”是准确的,还是还有其他术语可供使用?
发布于 2019-03-08 00:11:57
你的模型不正确。开发文件由udev提供(或者在较旧的Linux的devfs中提供)。现在udev是systemd的一部分。所有这些都不是必需的,您可以使用直接API调用的驱动程序(如Windows)。事实上,afaik,有些系统不使用它构建。
在/dev中创建一个文件只是创建dev的函数。结帐mount | grep ' /dev '
udev on /dev type devtmpfs (rw,nosuid,relatime,size=8087376k,nr_inodes=2021844,mode=755)
^ See the udev. That's what created the abstraction.驱动程序存在于内核中。抽象层是提供给设备的文件/io的。这遵循Unix方法,即所有的东西都是文件,但它不是必需的。
https://unix.stackexchange.com/questions/505023
复制相似问题