驱动程序是硬件厂商根据 *** 作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。 *** 作系统不同,硬件的驱动程序也不同,各个硬件厂商为了保证硬件的兼容性及增强硬件的功能会不断地升级驱动程序。
固件就是写入可擦写只读存储器或电可擦可编程只读存储器中的程序。
固件是指设备内部保存的设备“驱动程序”,通过固件 *** 作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等都有内部固件。
固件是担任着一个系统最基础最底层工作的软件。而在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就决定着硬件设备的功能及性能。
驱动和固件(firmware)都是代码,前者为软件服务,后者为硬件服务。在 *** 作系统概念还不明确的时代,二者是没有明显区别的。但是随着计算机体系结构的发展,硬件的种类开始变多, *** 作系统的种类也变多了。这个时候,因为各种技术的、商业的原因,硬件厂商希望自己的硬件能被更多的软件厂商使用,所以就需要在硬件之上做一些封装,让自己的硬件 *** 纵起来更容易,这个时候就要有firmware这种东西了,它简化了软件与硬件的交互。但是为什么不把fimware做的很完美,做的不需要驱动支持呢?因为有不同的 *** 作系统。我不知道你对 *** 作系统的理解是到什么程度?只知道Windows?还是还仅仅知道Linux?还是清楚Unix和FreeBSD是不同的系统?知道有RTOS?
知道有上百种不同的内核?不同的 *** 作系统,对于 *** 作硬件的方式完全不同,在Windows里应用态是无法直接写IO端口的,而在嵌入式系统里,一般都不限制直接 *** 作IO端口。所以,硬件厂商一方面为了自己的硬件能被软件更简单的使用,就需要写firmware,而另一方面为了兼容各种 *** 作系统,又不能把firmware写的太死,必须预留足够的余地让软件自由发挥——软件的自由发挥就是驱动。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)