图解固件、驱动、软件的区别开源Linux共 1221字,需浏览 3分钟 ·2021-12-29 00:58 不管我们使用什么操作系统,无论是 Windows、macOS 还是 Linux ,里面都安装了许多软件、驱动程序和固件。但是,这三者概念有区别呢?文字描述太抽象了,我们直接来看漫画吧。好了,看完漫画,我们再来看正规的解释是怎样的。简单来讲,固件、驱动程序和软件之间的根本区别在于它们的设计目的。固件是赋予设备硬件生命的程序驱动程序是操作系统和硬件组件之间的中间人软件可以间接操作硬件1. 固件固件(Firmware)就是写入 ROM (只读存储器)中的程序,固件担任着一个系统最基础最底层工作,直接控制硬件,比如计算机上电后第一个启动的程序 BIOS ,它可以与硬件交互,并检查它是否有任何错误。BIOS 调用另一个称为引导加载程序的程序,该程序执行唤醒在硬盘驱动器内休眠的操作系统并将其放入随机存取存储器 (RAM) 的工作。我们可以在许多设备上看到固件,包括计算机、手机、遥控器、游戏机、智能手表、USB 驱动器和各种嵌入式系统。即使是电视遥控器也有一个预装的固件,可以实现你按下按钮的时候电视换台操作。2. 驱动驱动(Drive):驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。当计算机程序请求与某个硬件设备交互时,设备驱动程序充当硬件设备与使用它的程序之间指令的转换器。操作系统并不支持机器上的所有硬件,所以一般来讲硬件厂商都要为自己的硬件编写驱动程序。每个驱动程序都旨在为特定或一组设备工作。在计算机上,驱动程序使用各种总线接口来联系设备。此外,驱动程序一般不直接与用户交互,所以很多用户完全不知道它们的存在。驱动程序的开发需要非常小心,因为它直接与硬件打交道,同时也与操作系统打交道。如果设备驱动程序出现问题,可能会导致系统崩溃,这就是为什么需要专业人员或团队来为设备编写驱动程序的原因。但是为什么不把 Firmware 做的很完美,做的不需要驱动支持呢?因为有不同的操作系统,而这些操作系统对于操作硬件的方式完全不同。所以不同操作系统的驱动是不能兼容的,原因就是驱动是为操作系统服务的。3. 软件与硬件不同,软件是运行在电脑里,看不见摸不着。操作系统也是一个软件,并且为安装在操作系统上的其他软件提供了工作空间。前面提到的设备驱动程序其实也是一种软件,不过它有个更细分的种类,称为系统软件。如果用户编写了一个软件,想要操作硬件(比如光驱、U盘等),他必须通过操作系统提供的接口来实现,而无法直接与硬件交互。值得注意的一点是,软件是一个广义的术语。我们在日常使用中所说的「软件」一般是指应用软件,比如:微信,QQ,浏览器等等。Linux学习指南有收获,点个在看 浏览 16点赞 评论 收藏 分享 手机扫一扫分享分享 举报 评论图片表情视频评价全部评论推荐 网络安全软件/固件,防范勒索软件攻击的唯一手段?雷锋网0ArmorLabAI 驱动的纹理创作软件ArmorLab 是一款用于 AI 驱动的纹理创作软件,使用文本提示或通过拖放你的照片生成 PBR ArmorLabAI 驱动的纹理创作软件ArmorLab是一款用于AI驱动的纹理创作软件,使用文本提示或通过拖放你的照片生成PBR纹理。如果你要编译git版本的ArmorLab,那么需要安装VisualStudio-Windows、clanNavifirm诺基亚手机固件下载软件Navifirm是一款运行在PC上的诺基亚手机固件下载软件,可方便的下载各机型各版本的固件。软件需联图解BIO、NIO、AIO、多路复用IO的区别极客挖掘机0Navifirm诺基亚手机固件下载软件Navifirm是一款运行在PC上的诺基亚手机固件下载软件,可方便的下载各机型各版本的固件。软件需联网运行,每一次打开之后都会去连接服务器,下载机型数据。所以在首次打开之后,需要等待很长时间才能刷出各TasmotaESP8266 的替代固件Tasmota是基于ESP8266和ESP32的设备的替代固件,使用webUI轻松配置、OTA更新、使用定时器或规则的自动化、可扩展性以及完全通过MQTT、HTTP、串行或KNX的本地控制。为PlatTasmotaESP8266 的替代固件Tasmota 是基于 ESP8266 和 ESP32 的设备的替代固件,使用 webUI 轻松配置图解URL、URI和URN 区别web前端开发0ZRouterFreeBSD 固件ZRouter.org是一个基于FreeBSD的固件,用于嵌入式设备。当前支持的设备包括:AsusWL-500GP_V2(BCM5354)BuffaloWZR-HP-AG300H(AR7161)D-L点赞 评论 收藏 分享 手机扫一扫分享分享 举报