admin管理员组

文章数量:1531891

2024年3月14日发(作者:)

驱动和固件

1 驱动程序

 设备驱动程序是一种特定形式的软件程序,旨在实现与硬件设备的交互,没

有所需的设备驱动程序,相应的硬件设备将无法工作;

 驱动程序通常通过与硬件连接的通信子系统或计算机总线与硬件通信,设备

驱动程序是与操作系统和硬件相关的,充当硬件设备与使用它的程序或操作

系统之间的转换器;

 驱动(Drive):驱动程序即添加到操作系统中的一小块代码,其中包含有关硬

件设备的信息,也称为设备驱动程序或软件驱动程序,是实现高级计算机程

序与硬件设备交互的软件;

 驱动程序是硬件厂商根据操作系统编写的配置文件,告诉操作系统如何与设

备通信,当计算机程序请求与某个硬件设备交互时,驱动程序将处理该设备

和调用该驱动程序的计算机程序之间的指令和输出转换;

 每个驱动程序都是为特定或一组设备工作,在计算机中,驱动程序使用各种

总线接口来与设备联系,例如,PCI Express,它用于连接硬件组件,如GPU、

无线适配器和音频卡。

2 固件

 固件是一种永久蚀刻在硬件设备(如键盘,硬盘驱动器,BIOS或视频卡)中

的软件程序;

 它被编程为提供永久指令来与其他设备进行通信并执行基本输入/输出任务

等功能,固件通常存储在硬件设备的闪存或ROM(只读存储器)中,可以被

擦除和重写;

 固件最初是为高级软件而设计的,可以在无需为新设备交换硬件的情况下进

行更改,固件还保留了使其可操作的硬件设备的基本说明,没有固件,硬件

设备将不起作用;

 固件(Firmware) 就是写入EROM(可擦写只读存储器)或EEPROM(电可擦可

编程只读存储器)中的程序;

 固件是指设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标

准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等都有内部固件;

 固件担任着一个系统最基础最底层工作,在硬件设备中,固件就是硬件设备

的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就

决定着硬件设备的功能及性能;

 固件是为控制硬件设备而设计的,在计算机中,我们称之为BIOS(基本输入

/输出系统)或UEFI(统一可扩展固件接口):BIOS是计算机上电后第一个启

动的,它可以与硬件交互,并检查它是否有任何错误,BIOS调用另一个名为

bootloader的程序,它负责唤醒沉睡在硬盘驱动器内的操作系统,并将其放

入随机存取存储器中。

3 区别和联系

 不同的操作系统,操作硬件的方式完全不同,在Windows里应用态是无法直

接写IO端口的,而在嵌入式系统里,一般都不限制直接操作IO端口;

 所以,硬件厂商一方面为了自己的硬件能被软件更简单的使用,就需要写

firmware,而另一方面为了兼容各种操作系统,又不能把firmware写的太

死,必须预留足够的余地让软件自由发挥——软件的自由发挥就是驱动;

 不同操作系统的驱动是不能兼容的,原因就是驱动是为操作系统服务的,有

的操作系统是单线程的,有些操作系统不允许动态申请内存,所以不同的操

作系统要操作硬件,就要根据自身的特性编写对应的操作代码,这就是驱动

存在的意义——适应系统需要。

本文标签: 设备硬件固件驱动程序软件