驱动程序

驱动程序一般指的是设备驱动程序(Device Driver),是一种可以使计算机和设备进行相互通信的特殊程序。相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。因此,驱动程序被比作“ 硬件的灵魂”、“硬件的主宰”、和“硬件和系统之间的桥梁”等。

定义

驱动程序(Device Driver)全称为“设备驱动程序”,是一种可以使计算机和设备通信的特殊程序,可以说相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。
惠普显卡驱动安装惠普显卡驱动安装
正因为这个原因,驱动程序在系统中的所占的地位十分重要,一般当操作系统安装完毕后,首要的便是安装硬件设备的驱动程序。不过,大多数情况下,我们并不需要安装所有硬件设备的驱动程序,例如硬盘显示器光驱等就不需要安装驱动程序,而显卡、声卡、扫描仪、摄像头、Modem等就需要安装驱动程序。另外,不同版本的操作系统硬件设备的支持也是不同的,一般情况下版本越高所支持的硬件设备也越多,例如笔者使用了Windows XP,装好系统后一个驱动程序也不用安装。
设备驱动程序用来将硬件本身的功能告诉操作系统,完成硬件设备电子信号与操作系统及软件的高级编程语言之间的互相翻译。设备驱动程序通常会占到70%以上份额的操作系统内核源码,且设备驱动程序的更新维护往往会牵涉到超过35%的源码修改,故而保持设备驱动程序与操作系统内核不断变化的其余部分的一致性是操作系统内核开发的一项难题 [1]  。
操作系统需要使用某个硬件时,比如:让声卡播放音乐,它会先发送相应指令到声卡驱动程序,声卡驱动程序接收到后,马上将其翻译成声卡才能听懂的电子信号命令,从而让声卡播放音乐。
所以简单的说,驱动程序提供了硬件操作系统的一个接口以及协调二者之间的关系,而因为驱动程序有如此重要的作用,所以人们都称“驱动程序是硬件的灵魂”、“硬件的主宰”,同时驱动程序也被形象的称为“硬件和系统之间的桥梁”。
戴尔电脑驱动盘戴尔电脑驱动盘
驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息,计算机就可以与设备进行通信基于此信息。驱动程序硬件厂商根据操作系统编写的配置文件,可以说没有驱动程序计算机中的硬件就无法工作。操作系统不同,硬件的驱动程序也不同,各个硬件厂商为了保证硬件的兼容性及增强硬件的功能会不断地升级驱动程序。如:Nvidia显卡芯片公司平均每个月会升级显卡驱动程序2-3次。驱动程序是硬件的一部分,当你安装新硬件时,驱动程序是一项不可或缺的重要元件。凡是安装一个原本不属于你电脑中的硬件设备时,系统就会要求你安装驱动程序,将新的硬件与电脑系统连接起来。驱动程序扮演沟通的角色,把硬件的功能告诉电脑系统,并且也将系统的指令传达给硬件,让它开始工作。
当你在安装新硬件时总会被要求放入“这种硬件的驱动程序”,很多人这时就开始头痛。不是找不到驱动程序的盘片,就是找不到文件的位置,或是根本不知道什么是驱动程序。比如安装打印机这类的硬件外设,并不是把连接线接上就算完成,如果你这时候开始使用,系统会告诉你,找不到驱动程序。怎么办呢?参照说明书也未必就能顺利安装。其实在安装方面还是有一定的惯例与通则可寻的,这些都可以帮你做到无障碍安装。
Windows系统中,需要安装主板光驱显卡声卡等一套完整的驱动程序。如果你需要外接别的硬件设备,则还要安装相应的驱动程序,如:外接游戏硬件要安装手柄、方向盘、摇杆、跳舞毯等的驱动程序,外接打印机要安装打印机驱动程序,上网或接入局域网要安装网卡、Modem甚至ISDN、ADSL的驱动程序。为了便于了解驱动程序,下面就介绍Windows系统中各种的不同硬件设备的驱动程序
在Windows 9x下,驱动程序按照其提供的硬件支持可以分为:声卡驱动程序、显卡驱动程序、鼠标驱动程序、主板驱动程序、网络设备驱动程序、打印机驱动程序、扫描仪驱动程序等等。为什么没有CPU、内存驱动程序呢?因为CPU和内存无需驱动程序便可使用,不仅如此,绝大多数键盘、鼠标、硬盘软驱显示器和主板上的标准设备都可以用Windows自带的标准驱动程序来驱动,当然其它特定功能除外。如果你需要在Windows系统中的DOS模式下使用光驱,那么还需要在DOS模式下安装光驱驱动程序。多数显卡、声卡、网卡等内置扩展卡和打印机、扫描仪、外置Modem等外设都需要安装与设备型号相符的驱动程序,否则无法发挥其部分或全部功能。驱动程序一般可通过三种途径得到,一是购买的硬件附带有驱动程序;二是Windows系统自带有大量驱动程序;三是从Internet下载驱动程序。最后一种途径往往能够得到最新的驱动程序
Windows 9x使用的驱动程序包通常由一些。vxd(或.386)、.drv、.sys、.dll或.exe等文件组成,在安装过程中,大部分文件都会被拷贝到“Windows System”目录下。
软件测试中:在自底向上测试中,要编写称为测试驱动的模块调用正在测试的模块。测试驱动模块以被测试模块同样的方式挂接,向处于测试的模块发送测试用例数据,接受返回结果,验证结果是否正确,所以程序都要驱动程序。不然,像打印机、音响,电脑都无法识别。每台电脑购买时都有驱动程序。

作用

驱动程序本质上是软件代码,主要作用是计算机系统与硬件设备之间完成数据传送的功能,只有借助驱动程序,两者才能通信并完成特定的功能。如果一个硬件设备没有驱动程序,只有操作系统是不能发挥特有功能的,也就是说驱动程序是介于操作系统与硬件之间的媒介,实现双向的传达,即将硬件设备本身具有的功能传达给操作系统,同时也将操作系统的标准指令传达给硬件设备,从而实现两者的无缝连接 [2]  。
随着电子技术的飞速发展,电脑硬件的性能越来越强大。驱动程序是直接工作在各种硬件设备上的软件,其“驱动”这个名称也十分形象的指明了它的功能。正是通过驱动程序,各种硬件设备才能正常运行,达到既定的工作效果。
硬件如果缺少了驱动程序的“驱动”,那么本来性能非常强大的硬件就无法根据软件发出的指令进行工作,硬件就是空有一身本领都无从发挥,毫无用武之地。这时候,电脑就正如古人所说的“万事俱备,只欠东风”,这“东风”的角色就落在了驱动程序身上。如此看来,驱动程序在电脑使用上还真起着举足轻重的作用。
从理论上讲,所有的硬件设备都需要安装相应的驱动程序才能正常工作。但像CPU、内存主板软驱、键盘、显示器等设备却并不需要安装驱动程序也可以正常工作,而显卡声卡网卡等却一定要安装驱动程序,否则便无法正常工作。这是为什么呢?
这主要是由于这些硬件对于一台个人电脑来说是必需的,所以早期的设计人员将这些硬件列为BIOS能直接支持的硬件。换句话说,上述硬件安装后就可以被BIOS和操作系统直接支持,不再需要安装驱动程序。从这个角度来说,BIOS也是一种驱动程序。但是对于其他的硬件,例如:网卡,声卡,显卡等等 却必须要安装驱动程序,不然这些硬件就无法正常工作。
当然,也并非所有驱动程序都是对实际的硬件进行操作的,有的驱动程序只是辅助系统的运行,如android中的有些驱动程序提供辅助操作系统的功能,这些驱动不是linux系统的标准驱动,如ashmen,binder等。
 
节选自https://baike.baidu.com/item/%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F/103009?fr=aladdin
原文地址:https://www.cnblogs.com/mjn1/p/11991665.html