我目前正在阅读《Linux模块编程指南》,遇到了两个有点困惑的术语——设备文件和设备驱动。在查找这些术语时,我发现以下内容:
设备驱动是一种控制特定类型设备的软件。
设备文件是设备驱动的接口,它作为一个普通文件出现在文件系统中。在类Unix操作系统中,这些文件通常位于/dev目录下,也称为设备节点。
我想知道的是:
1)设备文件是否是用户空间程序和设备驱动之间的接口?
2)程序是否通过相应的设备特殊文件访问内核中的驱动程序?
例如,在使用spidev字符设备文件时,我的用户空间程序是否可以通过简单的读取、写入和ioctl调用与spi.c和omap2_mcspi.c等进行交互?
设备驱动是一种控制特定类型设备的软件。
设备文件是设备驱动的接口,它作为一个普通文件出现在文件系统中。在类Unix操作系统中,这些文件通常位于/dev目录下,也称为设备节点。
我想知道的是:
1)设备文件是否是用户空间程序和设备驱动之间的接口?
2)程序是否通过相应的设备特殊文件访问内核中的驱动程序?
例如,在使用spidev字符设备文件时,我的用户空间程序是否可以通过简单的读取、写入和ioctl调用与spi.c和omap2_mcspi.c等进行交互?