不管我们使用什么操作系统,无论是 Windows、macOS,还是 Linux ,里面都安装了许多软件、驱动程序和固件。但是,这三者概念有什么区别?【转载微信公众号:良许Linux 这是一位励志的大神,转行自学IT进入大厂,至少是我的偶像】
文字描述太抽象了,我们直接来看漫画吧!





好了,看完漫画,我们再来看正规的解释是怎样的。

简单来讲,固件、驱动程序和软件之间的根本区别在于它们的设计目的。

1. 固件

固件(Firmware)就是写入 ROM (只读存储器)中的程序,固件担任着一个系统最基础最底层工作,直接控制硬件,比如计算机上电后第一个启动的程序 BIOS ,它可以与硬件交互,并检查它是否有任何错误。
BIOS 调用另一个称为引导加载程序的程序,该程序执行唤醒在硬盘驱动器内休眠的操作系统并将其放入随机存取存储器 (RAM) 的工作。
我们可以在许多设备上看到固件,包括计算机、手机、遥控器、游戏机、智能手表、USB 驱动器和各种嵌入式系统。即使是电视遥控器也有一个预装的固件,可以实现你按下按钮的时候电视换台操作。

2. 驱动

驱动(Drive):驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。当计算机程序请求与某个硬件设备交互时,设备驱动程序充当硬件设备与使用它的程序之间指令的转换器。
操作系统并不支持机器上的所有硬件,所以一般来讲硬件厂商都要为自己的硬件编写驱动程序。
每个驱动程序都旨在为特定或一组设备工作。在计算机上,驱动程序使用各种总线接口来联系设备。此外,驱动程序一般不直接与用户交互,所以很多用户完全不知道它们的存在。
驱动程序的开发需要非常小心,因为它直接与硬件打交道,同时也与操作系统打交道。如果设备驱动程序出现问题,可能会导致系统崩溃,这就是为什么需要专业人员或团队来为设备编写驱动程序的原因。
但是,为什么不把 Firmware 做的很完美,做的不需要驱动支持呢?因为有不同的操作系统,而这些操作系统对于操作硬件的方式完全不同。所以不同操作系统的驱动是不能兼容的,原因就是驱动是为操作系统服务的。

3. 软件

与硬件不同,软件是运行在电脑里,看不见摸不着。
操作系统也是一个软件,并且为安装在操作系统上的其他软件提供了工作空间。前面提到的设备驱动程序其实也是一种软件,不过它有个更细分的种类,称为系统软件。
如果用户编写了一个软件,想要操作硬件(比如光驱、U盘等),他必须通过操作系统提供的接口来实现,而无法直接与硬件交互。
值得注意的一点是,软件是一个广义的术语。我们在日常使用中所说的「软件」一般是指应用软件,比如:微信,QQ,浏览器等等。

固件、驱动、软件的区别相关推荐

  1. ULink2固件驱动软件安装教程【图文并茂】

    ULink固件驱动软件安装和使用 [1]9553绿色软件全站开源 [2]ULink安装 [3]Ulink2总结 [1]9553绿色软件全站开源 软件绿色网站 目前很多国产软件以及汉化等安装程序捆绑流氓 ...

  2. 硬件,固件,软件的区别

    参考链接:What is the Difference Between Hardware, Firmware and Software? 简单来说,三者的定义为: 硬件是系统的物理部件,比如主板,处理 ...

  3. 固件-驱动-软件 区别

    固件定义:固件(Firmware)就是写入EROM(可擦写只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序. 固件是指设备内部保存的设备"驱动程序",通过固件,操作系统 ...

  4. Linux内核如何加载固件,驱动是如何工作的_Linux设备驱动的固件加载详解

    作为一个驱动作者, 你可能发现你面对一个设备必须在它能支持工作前下载固件到它里面. 硬件市场的许多地方的竞争是如此得强烈, 以至于甚至一点用作设备控制固件的 EEPROM 的成本制造商都不愿意花费. ...

  5. 京信通信【驱动软件工程师】面经

    目录 1 个人介绍 2 笔试 2.1 单选题 2.1.1 C语言 2.1.2 数据结构 2.1.3 计算机与操作系统 2.1.4 网络通信 2.2 填空题 2.2.1 C语言与数据结构 2.2.2 网 ...

  6. 打印机驱动程序中GDI、ps、pcl5和pcl6驱动的特点区别

    打印机驱动程序中GDI.ps.pcl5和pcl6驱动的特点区别 首先GDI驱动就是我们常说的基于主机的驱动,目前市场多数打印机已经不在使用次驱动程序,但少数机器仍在销售,比如HP laserjet 1 ...

  7. 彻底说透项目管理软件和任务管理软件的区别

    彻底说透项目管理软件和任务管理软件的区别 作者:Workless创始人Jeven "管理任务是管理项目的一部分. 因此,从广义上讲,任务管理是项目管理的子集". 这个说法是真的吗? ...

  8. 中国固件更新软件被指盗取用户数据 遭美手机厂商替换

    据外媒报道,美国廉价Android手机制造商Blu周五表示,公司将把被指盗取用户数据的中国固件更新软件替换成谷歌批准的软件. 安全公司Kryptowire在上月披露,一款固件更新应用能够监控用户通讯, ...

  9. Quartus II 订购版 和 网络版 软件功能 区别

    参见: http://www.altera.com.cn/products/software/products/quartus2web/features/sof-quarweb_features.ht ...

  10. Windows 下TSI721驱动软件使用

    Windows 下TSI721驱动软件使用 文章目录 Windows 下TSI721驱动软件使用 一.概述 二.TSI721使用说明 1.板卡介绍 2.驱动安装包介绍 3.测试用例 结尾 一.概述 随 ...

最新文章

  1. 理解CNN卷积层与池化层计算
  2. 天平游码读数例题_量筒、天平经典习题
  3. 删除时存在依赖_从一次线上故障来看redis删除机制
  4. 南京邮电大学网络攻防训练平台(NCTF)-异性相吸-Writeup
  5. 服务网格架构激活了容器网络管理—来自于服务网格创建者们的见解与展望
  6. 利用Siri API开发的语音输入法Air Dictate出现
  7. 基于ASP.NET Core 3.0的ABP v0.21已发布
  8. Java 条件运算符?:
  9. C语言讲义——数组和指针
  10. ibm服务器硬件故障检测工具,IBM服务器故障提示Memory/bttery problems were detected
  11. Interior-point methods(内点法)学习笔记
  12. 红帽子 linux启动盘,红帽子Red Hat Linux 9 光盘启动安装过程图解
  13. Windows批量快速删除大量文件
  14. 解决java:找不到符号办法
  15. 等额本息还款和等额本金还款计算公式的推导
  16. 电子电路中,PVDD、CVDD、VPP、 VDD、 AVDD、VCC分别是指什么电源?各起什么作用?
  17. Go语言系列——01-HelloWorld、02-命名规范、03-变量、04-类型、05-常量、06-函数(Function)、07-包、08-if-else语句、09-循环、10-switch语句
  18. IntelliJ IDEA优化
  19. if···else,switch-路程折扣题目
  20. 物联网解决方案世界大会-IOTSWC

热门文章

  1. 5.1 IPSec概述
  2. Mac OS X窗口最小化方法的几个快捷键
  3. background-size中,contain、cover、100%的区别
  4. 4年后,云厂商的「 IoT 物联网平台」不香了吗?
  5. 爆肝总结30道计网常考面试题
  6. JS获取电脑分辨率大小和网页大小
  7. 2019-08-27如何写日记
  8. 暗黑魔电西格玛 新手入门的符文之语
  9. WIN7访问远程共享文件:0x80070035 找不到网络路径解决方法
  10. JS中的offsetLeft和clientLeft和scrollLeft的一些区别