驱动和固件是经常会看到的字眼,尤其是在IoT设备的使用、安装过程中有时很容易搞糊涂,本文根据自己的理解对https://www.zhihu.com/question/22175660 驱动与固件的区别是什么? 进行了部分整理而成,如有误导,请见谅。
驱动和固件(firmware)本质上都是代码形式,前者侧重于为软件服务,后者侧重于为硬件服务;
驱动是操作系统和硬件的接口,固件是告诉硬件如何完成自己的工作;
驱动是调用硬件接口的一段程序,固件是初始化基本硬件的一段程序;所以驱动通常是固件功能上的一个子集;
驱动一般运行在操作系统上,由操作系统进行管理,而固件往往直接"固定"在硬件上,直接控制硬件;
eg1:利用打印机打印东西时:
驱动的作用就是告诉打印机,要打印什么。
固件则告诉打印机,要怎么执行操作(把纸弄上打印区,然后喷墨,从哪里出纸等)。
eg2. BIOS即为主板上的固件,功能 :上电 - 进入BIOS - 自检(检查设备是否正常等) - 初始化各个模块(内存以及加载其他必要的固件等) - 转移控制到系统启动程序。