驱动程序是一种可以使计算机和设备通信的特殊程序;它创建了一个硬件与硬件,或硬件与软件沟通的接口,经由主板上的总线或其它沟通子系统与硬件形成连接的机制,这样的机制使得硬件设备(device)上的数据交换成为可能。驱动程序相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作;因此,驱动程序被比作“硬件的灵魂”、“硬件的主宰”、“硬件和系统之间的桥梁”等。
php零基础到就业直播视频课:进入学习
本教程操作环境:windows7系统、Dell G3电脑。
驱动程序(Device Driver)全称为“设备驱动程序”,是一种可以使计算机和设备通信的特殊程序,是一个允许高级(High level)电脑软件(computer software)与硬件(hardware)交互的程序,这种程序创建了一个硬件与硬件,或硬件与软件沟通的接口,经由主板上的总线(bus)或其它沟通子系统(subsystem)与硬件形成连接的机制,这样的机制使得硬件设备(device)上的数据交换成为可能。
驱动程序相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。因此,驱动程序被比作“ 硬件的灵魂”、“硬件的主宰”、“硬件和系统之间的桥梁”等。
驱动程序在系统中的所占的地位十分重要,一般当操作系统安装完毕后,首要的便是安装硬件设备的驱动程序。不过,大多数情况下,我们并不需要安装所有硬件设备的驱动程序,例如硬盘、显示器、光驱等就不需要安装驱动程序,而显卡、声卡、扫描仪、摄像头、Modem等就需要安装驱动程序。
设备驱动程序用来将硬件本身的功能告诉操作系统,完成硬件设备电子信号与操作系统及软件的高级编程语言之间的互相翻译。设备驱动程序通常会占到70%以上份额的操作系统内核源码,且设备驱动程序的更新维护往往会牵涉到超过35%的源码修改,故而保持设备驱动程序与操作系统内核不断变化的其余部分的一致性是操作系统内核开发的一项难题 。
当操作系统需要使用某个硬件时,比如:让声卡播放音乐,它会先发送相应指令到声卡驱动程序,声卡驱动程序接收到后,马上将其翻译成声卡才能听懂的电子信号命令,从而让声卡播放音乐。
所以简单的说,驱动程序提供了硬件到操作系统的一个接口以及协调二者之间的关系,而因为驱动程序有如此重要的作用,所以人们都称“驱动程序是硬件的灵魂”、“硬件的主宰”,同时驱动程序也被形象的称为“硬件和系统之间的桥梁”。驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息,计算机就可以与设备进行通信基于此信息。驱动程序是硬件厂商根据操作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。操作系统不同,硬件的驱动程序也不同,各个硬件厂商为了保证硬件的兼容性及增强硬件的功能会不断地升级驱动程序。如:Nvidia显卡芯片公司平均每个月会升级显卡驱动程序2-3次。驱动程序是硬件的一部分,当你安装新硬件时,驱动程序是一项不可或缺的重要元件。凡是安装一个原本不属于你电脑中的硬件设备时,系统就会要求你安装驱动程序,将新的硬件与电脑系统连接起来。驱动程序扮演沟通的角色,把硬件的功能告诉电脑系统,并且也将系统的指令传达给硬件,让它开始工作。
驱动程序的应用
因为常见的硬件和操作系统的差异性,驱动程序存在着不同的方式。用于:
打印机
显卡
网卡
声卡
不同种类的总线
不同种类的低带宽的输入/输出总线(如定点设备:鼠标、键盘、USB等等。)
硬盘驱动器总线(ATA,SCSI)
实现对不同的文件系统的支持
实现对扫描仪、数码相机的支持
驱动程序的抽象化共同层级(Common levels of abstraction):
在硬件层方面:
直接连接(Interfacing directly)
使用一些较高层次的接口(如:视频BIOS)
使用另一低级别的驱动程序(如文件系统驱动程序使用磁盘驱动程序)
模拟硬件工作
在软件层方面:
允许操作系统直接访问硬件资源
仅实现其原始样式(primitives)
实现对非驱动程序的软件的界面(如TWAIN)
实现一个更高层级的语言,例如PostScript
虚拟设备驱动程序
有一种特殊的驱动程序名为虚拟设备驱动程序(virtual device drivers),可用于虚拟化的环境(virtualization environments),例如DOS程序要运行于Windows平台上,就必须要利用这种虚拟设备驱动程序,像是VMware就是一种“虚拟PC”的软件,可以在一台机器上同时运行两个或两个以上的Windows、DOS、LINUX系统,VMWare是真正实现了“同时”运行,多个操作系统在主系统的平台上,就像标准Windows应用程序那样切换一样容易。