据说设备驱动程序是特定于设备控制器的,但是每当将新硬件连接到系统时,例如手机,我们都需要为该手机安装特定的设备驱动程序。这表明设备驱动程序是特定于外围设备的!
有人可以解释一下吗?
提前致谢
问候安基塔
设备驱动程序是内核的一部分,特别是内核的 IO 子系统。在最低级别,设备驱动程序直接与外围设备或其控制器或通道进行通信。设备驱动程序负责在设备上启动 I/O 操作并处理 I/O 请求的完成。例如,在文件操作中,受控的典型设备是磁盘和磁带驱动器。
设备驱动程序可以抽象为逻辑层和物理层。逻辑层处理一类设备的数据,例如以太网端口或磁盘驱动器。物理层与特定设备实例通信。
例如,一个串口需要处理所有串口硬件通用的标准通信协议。这将由串行端口逻辑层管理。但是,物理层需要与特定的串口芯片进行通信。物理层解决芯片特定的变化。按照惯例,操作系统请求首先到达逻辑层。反过来,逻辑层调用物理层以硬件可以理解的方式实现操作系统请求。相反,当硬件设备需要响应操作系统时,它使用物理层与逻辑层对话。
因此,将需要特定于外围设备的逻辑设备驱动程序来将新硬件与主机操作系统的标准 IO 控制器接口。