什么是设备驱动程序?它是如何工作的?

什么是设备驱动程序

操作系统(operating system)、其他应用程序和各种硬件设备(hardware device)都是由不同的人群构建的。因此,默认情况下,操作系统和其他程序无法与硬件设备(hardware device)交互。这就是设备驱动程序(device driver)的用武之地。它是一个软件,充当操作系统(operating system)硬件设备(hardware device)之间的翻译器。设备驱动程序(device driver)的工作是允许连接到系统的硬件设备顺利运行。(hardware device)打印机驱动程序(printer driver)告诉操作系统如何在页面上打印所选信息。让操作系统翻译音频文件中的位(audio file)成合适的输出,声卡驱动(card driver)是必须的。像这样,连接到系统的每个硬件设备都存在(hardware device)设备驱动程序。(device driver)

什么是设备驱动程序

什么是设备驱动程序?(What is a Device Driver?)

操作系统不需要知道硬件工作背后的细节。使用设备驱动程序(device driver),它只与那个特定的硬件接口。如果没有安装相应的设备驱动(device driver)程序,则操作系统和硬件之间没有通信链接。(communication link)这样的硬件设备(hardware device)可能无法正常工作。设备驱动程序(device driver)和相应的硬件设备(hardware device communicate)通过该设备所连接的计算机总线(computer bus)进行通信。设备(Device)驱动程序因每个操作系统(operating system)而异,并且取决于硬件。设备驱动程序(device driver)也称为软件驱动程序(software driver)或者只是一个司机。

设备驱动程序如何工作?(How do device drivers work?)

硬件设备(hardware device)想要与系统上的程序通信。您可以将这种情况视为说不同语言的两个实体。因此,需要翻译器。设备驱动程序(device driver)在这里扮演翻译者的角色。该软件为驱动程序提供(driver information)了解释硬件应该执行什么的信息。设备驱动程序(device driver)使用这些信息让驱动程序完成工作。

设备驱动程序(device driver)software program/the操作系统的指令翻译成硬件设备(hardware device)可以理解(language understood)的语言。为了使系统高效运行,您必须拥有所有必要的设备驱动程序(device driver)。当您打开系统时,操作系统会与设备驱动程序(device driver)BIOS进行通信,以决定执行各种硬件任务。

如果没有设备驱动程序(device driver),要么系统无法与设备通信,要么软件程序必须知道如何直接与硬件接口(鉴于我们今天拥有的广泛的程序和硬件设备,这会很困难)。不可能构建能够与各种硬件设备直接通信的软件。因此,设备驱动程序(device driver)是游戏规则的改变者。

两者——硬件(– hardware)设备和软件程序都依赖于设备驱动程序(device driver)才能顺利运行。程序(Programs)通常使用通用命令来访问设备。设备驱动程序(device driver)将这些转换为设备可以理解的专用命令。

设备(Device)驱动程序通常作为操作系统的内置组件出现。它们由制造商提供。如果硬件或软件组件(hardware or software component)被替换或更新,这些设备驱动程序将变得无用。

虚拟设备驱动程序(Virtual device drivers)

虚拟设备驱动程序是(device driver)设备(device driver)驱动程序的一个组件,它帮助硬件设备(hardware device)与操作系统或程序建立通信。它们是虚拟设备的驱动程序。虚拟设备驱动程序(device driver)有助于(s help)流畅的数据流。多个应用程序可以访问特定的硬件设备(hardware device)而不会发生冲突。当虚拟设备驱动程序接收到来自(device driver)硬件设备(hardware device)的中断信号时,它会根据设备设置的状态确定下一个操作过程。

虚拟设备驱动程序在哪里使用?(Where is a virtual device driver used?)

当我们使用软件来模拟硬件设备(hardware device)时,会使用虚拟设备驱动程序(device driver)来处理此类(tor un)设备。一个合适的例子是使用VPN。您创建一个虚拟网卡(network card),以便您可以安全地连接到 Internet。这是VPN创建的虚拟网卡(network card)。此卡需要适当的驱动程序,该驱动程序通常由VPN 软件(VPN software)本身安装。

所有设备都需要驱动程序吗?(Do all devices need drivers?)

设备是否(Whether)需要驱动程序取决于您的操作系统(operating system)是否识别硬件设备(hardware device)及其功能。一些操作系统(operating system)未知且需要驱动程序的外围设备是——视频卡(Video card)USB 设备(USB device)、声卡、扫描仪、打印机、控制器调制解调器(controller modem)网卡(network card)读卡器等……(card reader etc…)操作系统通常有一些通用驱动程序,允许常见的硬件设备(hardware device)s 在基本层面上工作。同样(Again),条件是操作系统应该识别设备的功能。一些可以使用通用驱动程序的设备是 -RAM,键盘,鼠标,扬声器,显示器,硬盘驱动器,磁盘驱动器(disk drive)CPU电源(power supply)操纵杆等......(joystick etc… One)必须意识到操作系统提供的通用驱动程序不会像(operating system)硬件制造商(hardware manufacturer)提供的驱动程序那样频繁更新.

另请阅读:(Also Read:)什么是计算机文件? 

如果您没有安装驱动程序会怎样?(What will happen if you have not installed a driver?)

如果您没有为设备安装驱动程序,则该设备可能根本无法运行或只能部分运行。例如,鼠标/键盘等设备无需驱动程序即可工作。但是如果你的鼠标有额外的按钮或者你的键盘有一些特殊的键,那么这些功能将不起作用。如果您是Windows 用户(Windows user),您可以在设备管理器中找到(device manager)驱动程序冲突错误(driver conflict error),如果您缺少驱动程序。通常,制造商会发布驱动程序更新(driver update)以消除驱动程序产生的错误。因此,请始终为您的硬件设备提供最新版本的驱动程序。(date version)

只有在您的系统上安装了相应的设备时,驱动程序才能工作。如果您尝试为不存在的硬件安装驱动程序,则不会发生。例如,当您的系统上没有视频卡时安装(video card)视频卡驱动程序(video card driver)不会使您的系统能够使用视频卡(video card)。您需要同时拥有硬件设备(hardware device)和更新的设备驱动程序(device driver)

设备驱动程序的类型(Types of device drivers)

目前几乎所有使用的(use today)硬件设备(hardware device)都有一个设备驱动程序(device driver)。这些驱动程序可以大致分为以下两类——用户(– user)设备驱动程序(device driver)和内核设备驱动程序(device driver)

用户设备驱动程序(User device drivers)

这些是用户在使用系统时触发的设备驱动程序。这些是用户已连接到系统的设备,与内核软件(kernel software)有关的设备除外。即插即用设备(plug and play devices)的设备驱动程序被视为用户设备驱动程序。为了减轻系统资源的压力,用户设备驱动程序被写入磁盘。但游戏设备的设备驱动程序通常保存在主内存中。

另请阅读: (Also Read: )什么是 ISO 文件?

内核设备驱动程序(Kernel device drivers)

与操作系统一起作为内置软件提供的通用驱动程序称为内核设备驱动程序。它们作为操作系统的一部分加载到内存中。指向(A pointer)驱动程序的指针存储在内存中,可以在需要时调用。内核设备(Kernel device)驱动程序适用于处理器、主板、BIOS和其他与内核软件(kernel software)相关的设备。

对于内核设备驱动程序(kernel device driver),存在一个常见问题。调用时,内核设备驱动程序(kernel device driver)被加载到RAM中。这不能移动到虚拟内存。如果有多个设备驱动程序同时运行,系统会变慢。为了克服这个问题,每个操作系统都有一个最低系统要求(system requirement)。操作系统将内核设备驱动程序(kernel device driver)所需的资源放在一起。这确保用户不必担心内存需求(memory requirement)

其他类型的设备驱动程序(Other types of Device Driver)

1. 通用和 OEN 驱动程序(1. Generic and OEN drivers)

如果设备驱动程序(device driver)操作系统(operating system)一起可用,则称为通用设备驱动程序(device driver)。通用设备驱动程序(device driver)适用于特定设备,无论(device irrespective)其品牌如何。Windows 10 具有通用硬件设备的通用设备驱动程序。(device driver)

有时,硬件设备具有操作系统无法识别的某些功能。设备制造商(device manufacturer)为此类设备提供相应的驱动程序。这些称为OEM 设备(OEM device)驱动程序。为了使此类设备正常运行,必须在安装操作系统后单独安装驱动程序。大约在使用Windows XP(Windows XP)的时候,甚至主板的驱动程序也必须单独安装。今天,大多数现代系统都提供了内置的通用设备驱动程序。

2. 块和字符驱动程序(2. Block and character drivers)

(Device)根据读取和写入数据的方式,设备驱动程序可以分为块驱动程序或字符驱动程序。硬盘、CD ROM(ROMs)USB驱动(USB)(Device)等设备是根据使用方式分类的。

当一次读取或写入多个字符时,使用术语块驱动程序。(term block driver)创建一个块,块设备(block device)尝试检索适合该块大小的信息量。硬盘(Hard)和 CD ROM(ROMS)被认为是块设备(block device)驱动程序。

当数据一次写入一个字符时,使用术语字符驱动程序。(term character driver)字符设备(Character device)驱动程序使用串行总线。任何连接到串行端口的设备都有一个字符驱动程序(character driver)。例如,鼠标是连接到串行端口的设备。它使用字符设备驱动程序(character device driver)

另请阅读:(Also Read:)什么是 Wi-Fi 6 (802.11 ax)?

管理设备驱动程序(Managing device drivers)

Windows 系统(Windows system)上的所有驱动程序都由设备管理器管理(Device Manager)设备(Device)驱动程序安装后不需要太多关注。有时,他们会进行更新以修复错误或提供新功能的更新。因此,最好不时检查驱动程序更新并安装它们(如果有的话)。为了让您的工作更轻松,有一些程序可以检查和更新您的设备驱动程序。

制造商提供的驱动程序更新始终在其官方网站上免费提供。注意不要为设备驱动程序更新(device driver update)付费!

更新驱动程序很重要,因为很多时候,硬件设备(hardware device)的许多问题都可以追溯到设备驱动程序(device driver)的问题。

概括(Summary)

  • 设备驱动程序(device driver)帮助操作系统和其他程序与连接到系统的硬件设备交互
  • 现代操作系统为常用外设提供内置设备驱动程序
  • 使用其他硬件设备需要安装厂商提供的相应设备驱动
  • 使您的设备驱动程序保持最新对于系统的运行至关重要。
  • 只有那些功能无法被您的操作系统(operating system)识别的设备才需要外部设备驱动程序(device driver)


About the author

我是一名 Windows 专家,在软件行业工作了 10 多年。我有使用 Microsoft Windows 和 Apple Macintosh 系统的经验。我的技能包括:窗口管理、计算机硬件和声音、应用程序开发等等。我是一位经验丰富的顾问,可以帮助您充分利用 Windows 系统。



Related posts