驱动和固件(firmware)都是代码,前者为软件服务,后者为硬件服务。
在操作系统概念还不明确的时代,二者是没有明显区别的。
但是随着计算机体系结构的发展,硬件的种类开始变多,操作系统的种类也变多了。
这个时候,因为各种技术的、商业的原因,硬件厂商希望自己的硬件能被更多的软件厂商使用,所以就需要在硬件之上做一些封装,让自己的硬件操纵起来更容易,这个时候就要有firmware这种东西了,它简化了软件与硬件的交互。
转自:https://www.zhihu.com/question/22175660/answer/20547502