标签: driver osdev
我知道操作系统为设备驱动程序提供api以访问配置空间,以便设备驱动程序知道分配给设备的内存地址并可以控制设备。但是,我的问题是操作系统如何与设备驱动程序通信?例如,假设操作系统想要打印文档。它是如何告诉它想要将文档打印到打印机设备驱动程序并为驱动程序提供要打印的文本?设备驱动程序由不同的开发人员开发,因此驱动程序不希望来自OS的不同类型或格式的数据。例如,打印机A的驱动程序可能期望文本数据之前的命令字节,但打印机B的驱动程序可能期望命令字节之前的文本数据。