什么是设备驱动程序?

设备驱动程序:为什么它们很重要以及如何使用它们

设备驱动程序是一小段软件,它告诉操作系统和其他软件如何与一个硬件进行通信。

例如,打印机驱动程序告诉操作系统,并且通过扩展来确定您想要打印的内容是什么程序, 确切地说如何在页面上打印信息

声卡驱动程序是必需的,因此您的操作系统完全知道如何将包含该MP3文件的1和0转换为声卡可以输出到耳机或扬声器的音频信号。

相同的总体思路适用于显卡键盘显示器等。

请继续阅读关于为什么司机很重要的更多信息,包括更多示例,以及关于如何保持司机更新以及如果他们的工作不正常应该怎么做的信息。

设备驱动程序的工作原理如何?

想想设备驱动程序,例如您正在使用的程序和该程序想要以某种方式利用的设备之间的翻译程序。 软件和硬件由不同的人或公司创建,并且讲两种完全不同的语言,所以翻译者(司机)允许他们进行交流。

换句话说,一个软件程序可以向驱动程序提供信息,说明硬件要做什么,设备驱动程序可以理解的信息,然后可以用硬件来完成。

由于设备驱动程序,大多数软件程序不需要知道如何直接使用硬件,驱动程序也不需要包含完整的应用程序体验以供用户进行交互。 相反,程序和驱动程序只需要知道如何与对方进行交互。

考虑到软件和硬件的供应几乎源源不断,这对于所有参与者来说都是一笔相当不错的交易。 如果每个人都必须知道如何与其他人沟通,那么制作软件和硬件的过程几乎是不可能的。

如何管理设备驱动程序

大多数情况下,驱动程序会自动安装,从不需要更多的关注,除了偶尔更新修复错误或添加一个很酷的新功能。 对于Windows中通过Windows Update下载的某些驱动程序,这是正确的。

Windows计算机中每个硬件的驱动程序都由设备管理器集中管理,可用于所有版本的Microsoft Windows

以下是涉及驱动程序的Windows中的一些常见任务:

以下是与驱动程序相关的其他一些资源:

可以隔离到特定硬件的许多问题不是实际硬件本身的问题,而是针对该硬件安装的设备驱动程序的问题。 上面链接的一些资源应该可以帮助你弄清楚所有这些。

更多关于设备驱动程序

除了基本的软件驱动程序和硬件之间的关系外,还有一些涉及驱动程序的情况(并且不会)很有趣。

虽然现在这种情况并不常见,但某些软件可以直接与某些类型的硬件进行通信 - 无需驱动程序! 这通常只有在软件向硬件发送非常简单的命令时,或者两者都由同一家公司开发时才有可能,但这也可以被认为是一种内置的驱动器情况。

有些设备驱动程序直接与设备进行通信,但其他设备驱动程序可以分层。 在这些情况下,程序将在驱动程序与另一个驱动程序通信之前与一个驱动程序进行通信,直到最后一个驱动程序实际与硬件进行直接通信。

除了验证其他驱动程序正常工作以外,这些“中间”驱动程序通常不会执行任何功能。 无论在一个“堆栈”中是否有一个或多个驱动程序工作,所有这些都是在后台完成的,无需您知道或执行任何操作。

Windows使用.SYS文件作为可加载的设备驱动程序,这意味着它们可以根据需要加载,以便它们不总是占用内存。 Linux.KO模块也是如此。

WHQL是Microsoft的一项测试过程,它有助于证明某个特定的设备驱动程序可以与特定版本的Windows一起使用。 您可能会看到您正在下载的驱动程序是或未经过WHQL认证。 您可以在这里阅读有关Windows硬件质量实验室的更多信息

驱动程序的另一种形式是虚拟设备驱动程序,与虚拟化软件一起使用。 它们的工作方式与常规驱动程序类似,但为了防止客户操作系统直接访问硬件,虚拟驱动程序伪装成真正的硬件,以便客户操作系统和其自身的驱动程序可以像非虚拟操作系统一样访问硬件。

换句话说,虽然主机操作系统及其驱动程序与实际硬件组件接口,但虚拟客户机操作系统及其驱动程序通过虚拟设备驱动程序与虚拟硬件进行交互,然后由主机操作系统中继到真实的物理硬件。