什么是【固件】?

news2024/12/23 22:28:31


文章目录

  • 一、软件 硬件 固件
  • 二、BIOS(Basic Input/output System)
  • 三、百度百科的解释
  • 四、固件的工作原理
  • 五、应用
  • 六、参考链接

一、软件 硬件 固件

通常我们会将硬件和软件分开看待,二者协同工作为我们提供计算机的体验。
硬件是摸得着的实体,而软件是一行行代码。
电脑照着这些代码显示出游戏、推特还有那些乱七八糟的东西。

在这里插入图片描述

不过你可能还听过一个词叫做"固件”。
固件通常被认为是介于软件和硬件之间的存在,它其实是特定的一类软件。但与操作系统或其他类型的软件不同,它不存储在机械硬盘或固态硬盘上,而是通常栖身于专用的芯片。

在这里插入图片描述


再加上,它非常“接近硬件”,人们就认为它算是某种软硬件的结合体。但是啊“接近硬件”又是什么意思?
构成固件的代码会非常直接地与硬件沟通,而常规的软件要做到这一点则一般需要经过API操作系统还有设备驱动。其原因在于固件的作用就是连结着软硬件的底层且基础的纽带,也是控制系统硬件的方式。

在这里插入图片描述

二、BIOS(Basic Input/output System)

在这里插入图片描述


举个例子在PC内部会有UEFI或BIOS芯片。你一按下开机键BIOS就开始运作了,它会根据你的配置初始化硬件并检查错误。

在这里插入图片描述


全部完成后BIOS会将几乎所有的控制权移交给更复杂的操作系统(Windows或Macos)。

在这里插入图片描述


然而老电脑里的BIOS则是为键盘等外设与系统软件提供了一个简单可靠的沟通渠道,在操作系统开始运行后仍在运作。

在这里插入图片描述


其他类型的固件在系统的运转中扮演了更为活跃的角色。台式机的心啊时期要解码数字信号,将HDMI传来的信号转换成你看到的画面。这是需要运算的,也就是说,没了固件就不行。

在这里插入图片描述


如果你调出哪个屏幕菜单,先要改变显示器亮度什么的,你眼中看到的就是固件在作为显示器的操作系统运作着。

在这里插入图片描述


所以说,就算是遥控器这样很简单的设备,也需要固件,才能将按键操作转换成电视能理解的红外信号。
因为固件对于这些底层的联动非常重要,所以它有时候也需要升级才能提供特定的功能或者修复bug。

在这里插入图片描述

主板的BIOS升级是一个绝佳的例子。比如,升级才能让主板支持同款插槽的新的CPU,不过由于大部分电子设备没了固件就无法运行,通常不建议对它进行改动,除非是出现了特定的问题,而你知道升级能够修复。毕竟,如果出现了停电之类的意外,导致没能成功升级,设备可能会永远“变成砖头”

在这里插入图片描述


这和操作系统损坏不同,并不能直接抹掉然后重装。固件损坏通常修不好,因为系统并不能理解你现在想重装固件的请求,要有正常的固件才能做到。虽然有些新电脑有尝试避免这类问题,加了第二份BIOS固件用作后备,但很多设备没有这类功能。所以,升级固件的时候一定要小心,要确保笔记本电池有电,给台式机或电视机接上UPS,也要确认固件来自于可靠的渠道。比如厂商官网。

在这里插入图片描述

还有些固件是完全不能升级的,要么是因为存在ROM(Read Only Memory)里,也就是只读芯片,这在硬件上就是没办法升级的,也有可能是因为有软件锁。
有些设备是不需要固件升级的,比如简单的U盘。而也有些设备使用固件存储独家功能,加大竞争对手给它“搞清楚”难度。然而,软件上的固件限制通常很容易绕过,要么是安装自制固件,这种做法有时候可以启用额外的功能,要么是有坏人将固件用作攻击的方式。固件通常没有加密什么的,而且开发者大都专注于提高操作系统和应用程序的安全性,而不是固件,这也使得固件成了黑客和间谍的目标。
这主要是因为被黑的固件在格式化硬盘之后,即使会留存下来,也很难检测,而且由于固件直接控制硬件,固件被黑甚至会导致硬件损坏。几年前甚至有研究人员做了哥概念验证,黑进苹果MacBook电池的固件,让电池过充,永久损坏。

在这里插入图片描述

三、百度百科的解释

固件(Firmware)就是写入EPROM(可擦写可编程只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。
固件是指设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等都有内部固件。
固件是担任着一个系统最基础最底层工作的软件。而在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就决定着硬件设备的功能及性能。
固件是计算机启动时连接硬件和操作系统的底层代码。

四、固件的工作原理

固件(firmware)一般存储于设备中的电可擦除只读存储器EEPROM(Electrically Erasable Programmable ROM)或FLASH芯片中,一般可由用户通过特定的刷新程序进行升级的程序。一般来说,担任着一个数码产品最基础、最底层工作的软件才可以称之为固件,比如计算机主板上的基本输入/输出系统BIOS(Basic Input/output System),在以前其实更多的专业人士叫它固件。
通常这些硬件内所保存的程序是无法被用户直接读出或修改的。在以前,一般情况下是没有必要对固件进行升级操作的,即使在固件内发现了严重的Bug也必须由专业人员带着写好程序的芯片把原来机器上的更换下来。早期固件芯片一般采用了ROM设计,它的Firmware代码是在生产过程中固化的,用任何手段都无法修改。随着技术的不断发展,修改固件以适应不断更新的硬件环境成了用户们的迫切要求,所以,可重复写入的可编程可擦除只读存储器EPROM(Erasable Programmable ROM),EEPROM和flash出现了。这些芯片是可以重复刷写的,让固件得以修改和升级。

五、应用

其实任何数码设备都有固件,只是我们有时忽略它的存在而已。
先举一些例子:手机、数码相机、mp3、mp4、路由器、电子书、交换机、猫、PSP、PS3、NDS、XBOX、U盘、主板、打印机的BIOS(BIOS就是一种固件)、显卡的BIOS。
鼠标、显示器、光驱、硬盘、键盘、数码卫星接收器、GPS终端、精密的电子仪器(比如核磁共振仪)等等。
固件既然是软件,就有大小之分。大的可有几百兆,小的也许只有几K,甚至不足1K。
对于独立可操作的电子产品,固件一般指它的操作系统(“担任着一个数码产品最基础、最底层工作的软件才可以称之为固件”,这和操作系统的定义很一致)。比如PSP的固件,就是指PSP 的操作系统。同理,IPHONE的固件也是其操作系统,路由器的固件就是路由器的操作系统,MP4的固件就是MP4的操作系统等。
而对于非独立的电子产品,比如硬盘、鼠标、BIOS、光驱、U盘等设备,固件就是指其最底层的,让设备得以运行的程序代码。

六、参考链接

百度百科-固件
B站-TechQuickie

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/59368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计学生宿舍维修管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

假设检验(1)-假设检验的基本概念

数理统计的另一基本任务是对总体参数作某种假设,然后根据所得的样本,运用统计分析的方法来检验这一假设是否成立,从而作出接受或拒绝的决定. 这就是假设检验问题. 3. 1. 1 假设检验的基本思想和推理方法 我们先举一个…

C\C++刷题DAY5

目录 1.第一题 2.第二题 3.第三题 1.第一题 160. 相交链表 - 力扣(LeetCode) 思路分析: 看链表相不相交,是看链表的地址。把两个链表的地址一一比对,如有有相同的地址,那么相交,如果各不相同…

详解自监督发展趋势! 何恺明连获三年CVPR最高引用的秘诀是?

点击文末公众号卡片,不错过计算机会议投稿信息 0 引言 许多加了我好友的读者知道尼谟之前的研究方向是“自监督学习”,而最近我无意中发现,CVPR最近三年引用量最高的论文竟然都是来自监督学习领域的,且三篇论文的作者都包括Face…

(四)进程管理:进程基本概念

文章目录一. 进程的概念二. 进程的结构和特征1. 进程的结构2. 进程的特征三. 进程与【线程】1. 进程与线程的关系与区别2. 线程的实现方式1. 纯用户级方式(淘汰)2. 纯内核级方式3. 组合方式一. 进程的概念 进程(Process)&#xff…

C#,彩色图片转为灰度图的快速算法与源代码

彩色图转为灰度图的场景非常多,比如人工智能的训练与识别时,需要将彩色图片转为灰度图。 以下文字来自于: 彩色图像转灰度图像原理python_蜗牛的笨笨的博客-CSDN博客_python 彩色图转灰度图现在我们所接触到的图像绝大多数都是数字图像&…

[附源码]计算机毕业设计springboot疫情背景下社区互助服务系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

u-boot常用命令

u-boot常用命令查看u-boot所支持的命令查询命令u-boot版本环境变量板子相关信息环境变量操作内存操作网络操作EMMC和 SD卡操作FAT 格式文件系统操作EXT格式文件系统操作ubi格式文件系统操作boot 操作bootzbootmbootUMS 命令常用其他uboot环境变量:bootcmd和bootargs…

python基础语法15-网络编程理论

网络编程是指在程序中实现两台计算机之间的通信。 Python提供了大量的内置模块和第三方模块用于支持各种网络访问,而且Python语言在网络通信方面的优点特别突出,远远领先其他语言。 一、IP: 1.概念: IP:互联网协议地址(Internet Protocol Add…

CCNA-应试教育-思科网院-CCNAv7: Switching, Routing, and Wireless Essentials 交换、路由和无线基础。

CCNA-应试教育-思科网院-CCNAv7: Switching, Routing, and Wireless Essentials 交换、路由和无线基础。 拓扑 – SRWE 最终 PT 技能评估 (PTSA) 拓扑图这样连 题目 SRWE Final PT Skills Assessment (PTSA) A few things to keep in mind while co…

大淘营淘宝复制的“添加、删除、替换属性”功能如何使用?

一、添加属性添加属性填写的格式为“属性名称:属性值”,“”是添加的意思。举个例子,比如我要添加的属性为“AA”,属性值为“aa”,那么,在软件上需要填“AA:aa”。注:“:”是半角字符,中间不要有…

嵌入式 程序调试之gdb和gdbserver的交叉编译及使用

嵌入式 程序调试之gdb和gdbserver的交叉编译及使用 一、简述 记--交叉编译gdb、gdbserver并调试嵌入式程序。 gdb是功能非常强大的常用调试工具,可以直接下断点进行单步调试,是差错排错的利器。 常见三种不同使用场景的gdb: x86 pc端gdb(以下…

MyBatis ---- 自定义映射resultMap

MyBatis ---- 自定义映射resultMap1. resultMap处理字段和属性的映射关系2. 多对一映射处理a>级联方式处理映射关系b>使用association处理映射关系c>分布查询3. 一对多映射处理a>collectionb>分步查询1. resultMap处理字段和属性的映射关系 当实体类中的属性名…

一文详解数据链路相关技术

一文详解数据链路相关技术1.MAC地址2.共享介质型网络争用方式令牌传递3.非共享介质网络4.环路检测技术生成树方式源路由法5.VLAN1.MAC地址 MAC地址直译为媒体存取控制位址,也称为局域网地址(LAN Address),MAC位址,以太…

云服务器使用及Linux基本命令

文章目录前言一、Linux1.Linux发现版本2.Linux环境搭建方式云服务器使用终端软件连接Linux3.Linux基础命令(1)ls:列出该目录下的所有子目录与文件。(2)pwd:显示当前所在用户(3)cd :改…

终于来了

程序员求职简历,项目经验怎么写?免费修改简历、提供模板并内部推荐昨天我还在说"三年了,乌云还未散尽,仿佛若有光"。今天一大早,光就照进来了。深圳卫健委宣布公交、地铁、药店、公园、旅游景点等场所都不需…

数据结构(王卓)(4)附:链表的销毁与清空

销毁 Status 销毁单链表(LinkList L) {LinkList p;while (L){p L;L->next;delete p;}return OK; } 运行逻辑: (1):设定一个指针,让指针指向链表的头指针L (2):让头指针等于头指针里面指向下…

Session和Cookie

回顾 1.Servlet API 2.HttpServlet DoXXX处理哪种Http方法会调用到对应的方法 init/destroy/service—>servlet的生命周期 3.HttpServletRequest Http请求 get系列方法 协议名(版本号) url query string header query String/body HttpServletRespon…

【配准和融合相互作用,交互】

RFNet: Unsupervised Network for Mutually Reinforcing Multi-modal Image Registration and Fusion (RFNet:一种互增强的多模态图像配准与融合的无监督网络) 本文提出了一种在相互增强的框架RFNet中实现多模态图像配准与融合的新方法。我们…

第八章 集成学习

8.1 个体与集成 集成学习通过构建并结合多个学习器来完成学习任务,有时也被称为多分类系统、基于委员会的学习等。 下图显示出集成学习的一般结构:先产生一组个体学习器,再用某种策略将它们结合起来。个体学习器通常由一个现有的学习算法从训…