我们常说电子产品有硬件和软件,但是却常常忽略了重要纽带—固件
点击次数:2020-01-14 00:34:11【打印】【关闭】
一分为二观点看待电子产品
马克思主义哲学喜欢以一分为二观点看待事物,既要看到事物积极一面,又要看到事物消极一面。无独有偶,我们玩电子产品的硬件玩家,也喜欢以一分为二的观点来看待电子产品,将所有的电子产品划分为两大部分:硬件和软件。
就拿我们平时接触比较多的手机来举例,手机硬件对大家来说应该并不陌生,骁龙处理器、内存、OLED 屏幕、手机主板等就是我们所说的硬件;而手机系统如安卓系统、苹果系统,手机app就是我们所说的软件。
熟悉又陌生的概念—“固件”
“固件”熟悉又陌生
不过你可能听过一个既熟悉又陌生的词汇,叫做“固件”,那是什么?固件通常被认为是介于软件和硬件之间的存在,它其实是指特定的一类软件。但固件与操作系统或其他类型的软件不同,它并不存储在机械硬盘或固态硬盘上,而是通常烧录在专用的存储芯片上。这么说来,它确实非常“接近硬件”,但依我看,在某种意义上算是某种软硬件的结合体。
从构成固件的代码上看,这些代码通常偏向机械语言,或者说汇编语言,因为固件通常需要直接地与硬件沟通所以使用的指令都是简单明了。而常规的软件要做到这一点就没有这么简单了,则一般需要进过API、操作系统,当然了还有设备驱动。究其原因在于,固件的作用就是连接着软件、硬件的基础纽带,是最基层控制系统,通俗来说就是控制系统硬件的基本方式。
电脑BIOS其实就是一种固件
这么说可能太抽象,很多人估计搞不清楚。举个例子吧,对电脑比较感兴趣的玩家可能会知道,所有电脑都会有UEFI或BIOS芯片,其实就是一种固件。你一按下电源开机键,BIOS就开始运作了,它会根据你的电脑配置进行初始化硬件,并检查硬件运行是否出现参数错误。全部工作完成之后,BIOS会将电脑控制权移交给更复杂的操作系统,比如Windows和macOS。
不过,以前老电脑的BIOS则是为键盘等外设与系统软件提供了一个简单可靠的信息传输渠道,在操作系统开始运行后仍在运作。
固件在其他电子产品中依然扮演重要角色
除了这个我们比较常见的BIOS的固件之外,其他类型的固件在系统的运转中,依然着扮演了更为重要且活跃的角色。
比如台式机的显示器要解码数字信号,将HDMI或Display传来的信号,转换成你看到的画面。这是需要进行转换运算的,也就是说,没了固件就不行。如果你调出那个屏幕菜单,想要改显示器亮度什么的,你眼中看到的就是固件在作为显示器的操作系统运作着。
此外,就算是遥控器这样很简单的设备也是需要固件才能将按键操作转换成电视能识别的红外信号。
因为固件对于这些底层的联动非常重要,所以它有时候也需要升级才能提供特定的功能,或者是修复bug。主板的BIOS升级就是一个绝佳的例子。比如说,升级能让主板支持同款插槽的新CPU。
不过,由于大部分电子设备,没了固件就无法运行。通常不建议对它进行改动,除非是出现了特定的问题,并且是你知道升级能够修复的。主板的BIOS升级就是一个绝佳的例子。比如说,升级能让主板支持同款插槽的新CPU。虽然有些新电脑有尝试避免这类问题,加上了第二份BIOS固件,用作后备。(我们俗称的双BIOS),但是实际上很多设备都没有这类功能。因此,升级固件的时候一定要小心,要确保电源不断电。