从技术上讲,固件只是软件的一个子集,因为后者包括每一段有用的代码。然而,在实践中,术语“软件”指的是一种非常不同的程序类别。
一般来说,固件是直接与硬件交互的低级代码的名称。任何在该层之上运行的程序都包含该软件。使困惑?这是更深入的了解。
多种类型的软件
软件这个词的问题在于它太宽泛了。任何可以控制计算机(或任何其他电子设备)的指令都可以被视为软件。
在计算的早期,这不是问题,当时所有程序都是用汇编语言编写的,并直接与硬件连接来执行任何任务。但如今,计算设备运行在一层又一层的代码上,用户只能接触到顶层的程序。
称为应用程序软件,此类用户友好的程序包括您在 PC 上使用的所有应用程序和实用程序,例如网络浏览器或文字编辑器。下面是操作系统,处理低级细节,例如将视觉效果渲染到屏幕和处理输入。
大多数人认为到这里就结束了,但是操作系统很少直接与硬件通信。操作系统下面还有另一层,使系统软件可以轻松访问硬件功能。这就是固件。
固件:软件的基础层
在大多数高级编程语言中,执行诸如在屏幕上显示图像之类的操作是一个简单的命令。然而,在计算机的某个地方,有一段代码负责将该命令转换为实际的处理器指令。
固件是硬件和软件之间的链接,允许开发人员通过简化的编程接口而不是特定于 CPU 的指令来使用设备的功能。对于计算机来说,该固件是众所周知的基本输入输出系统 (BIOS) ,即使没有操作系统也可以访问。
在电视遥控器或路由器等更简单的电子设备中,固件也兼作操作系统。此类机器不适用于安装 PC 等第三方应用软件,而是依靠固件来执行所有必要的任务。.
如何在设备上安装固件?
没有固件,任何电子设备都无法使用。这就是为什么所有电子组件都带有制造商预安装的固件。
即使在计算机上,该程序也存储在主板上的专用闪存芯片上,而不是硬盘驱动器上。这使得无需安装操作系统即可启动计算机并配置硬件设置。
在大多数设备上更新固件既不容易也没有必要。作为机器的基本控制代码,弄乱它可能会导致硬件无法使用。计算机是一个例外,允许用户通过刷新芯片要安装的 BIOS 升级 。
固件与软件:概览
固件 | 软件 |
直接控制硬件组件的基本代码。 | 利用固件执行复杂任务的可选程序. |
存储在设备上的专用芯片上。 | 安装在硬盘内存上。 |
由制造商预装。 | 可由用户安装和配置。 |
支持操作系统和其他软件。 | 依赖于其下面的固件进行硬件抽象的高级代码。 |
通常是简单电子设备中的唯一控制程序。 | 没有固件就无法运行。 |
特定于硬件。不同处理器架构的固件有所不同,并且不能互换。 | 与硬件无关。尽管应用程序软件通常是特定于操作系统的,但操作系统在不同处理器系列上的功能相同。 |
很少更新(如果有的话)。无法卸载。 | 易于升级和删除。 |
固件与软件有何不同?
硬件和软件通常被称为电子设备的两个组件,但这并不是完整的情况。操作系统和应用程序无法直接与硬件通信,需要一层专门的代码来弥补差距。.
该链接元素是固件。它由直接控制硬件的特定于体系结构的指令组成,并且在简单的电子设备中,也充当基本操作系统。在其他设备中,固件提供了软件的抽象接口,允许操作系统使用硬件而无需关心底层架构。
由于其本质,固件预先加载到主板本身的闪存芯片上,独立于写入磁盘的任何软件。只能是使用专门流程进行更新(即“闪现”) ,不像简单的软件包安装。
所有电子设备和外围组件都带有自己的固件。数码相机、智能手机、SSD,甚至 USB 驱动器 – 如果有需要控制的硬件,则有板载固件来管理它。
.