对/ dev中的文件执行什么操作?

/ dev中的文件到底是什么? 我很难理解这里的文件,设备驱动程序和设备之间的关系。

举个例子,/ dev / hda做什么? 硬盘驱动程序读/写入它吗?

不是,它是由硬盘驱动程序创build的,以便更高级别的驱动程序(设备映射程序,文件系统等)可以读/写/查找/告诉/打开/closures/ ioctl它。

(实际上,它们直接对设备号码进行操作,但这是一个非常接近的抽象。)

/dev/ filesystem提供的文件充当实际设备的接口 。 它的存在是为了方便使用具有通用IOfunction的硬件,并为用户识别硬件。

因此,当您在设备文件上进行操作时,驱动程序具有可识别正在发生的事情的代码,并在硬件上执行所要求的操作。

你有字符和块设备文件。 字符设备通过字符(键盘,鼠标,调制解调器等)写入/读取字符,并且块设备以大块数据写入/读取。 你也有一些像/dev/null/dev/random这样的设备,它们与任何硬件都没有关联,但是像一个一样工作。