BIOS 的起源与发展历程

前言

在计算机漫长的发展历史中,每一步都充满了奇迹与挑战。想象一下,当初在计算机诞生初期,硬件资源的管理和调度问题像是一个无法逾越的鸿沟,为了解决这个难题,人们创造了一种神奇的系统软件——操作系统。它就像是一位舵手,操纵着计算机的每一个硬件设备,让它们协调有序地工作。

但是,操作系统本身也是一个程序,它也需要一个向导,一个能将它从磁盘引导到内存中的引路人。这个神秘的引路人是计算机启动过程中的不可或缺的一环。它扮演着引导者的角色,带领着计算机从沉睡中苏醒,从最初的硬件初始化开始,一路承担着将操作系统加载到内存中的任务。

BIOS 的诞生

1946年,理论计算机科学与博弈论的奠基者约翰 · 冯 · 诺依曼(John von Neumann)提出计算机的基本原理:存储程序和程序控制,并将计算机从逻辑上分为运算器(ALU),控制器(CU),存储器,输入设备,输出设备五大部件,如果想让这五大部件协调运作,则需要一个“总指挥”进行统一协调,要不然他们五个就像是一群顽皮的孩子,互相扯皮推诿,谁也不肯干活。

那时单道批处理系统刚刚萌芽,操作系统的概念还未明确,大部分的操作指令还是依靠人工操作分配给计算机执行,而且那段时间内只有大型机和小型机概念,微型机还在科技宇宙中尚未孕育呢,可别认为小型机就是小的了,它大概有730公斤重。

1971年,在Intel公司创始人罗伯特·诺伊斯(Robert Noyce)的领导下,推出了世界上第一个微处理器4004,正式拉开了微型计算机时代的序幕。

1972年,当时在美国加州蒙特雷海军研究生院任教的加里 · 基尔代尔 (Gary · Kildall)看到了英特尔打出的广告——“25美元卖一台微机”后得知了第一款商用微处理器4004的消息。由于距离硅谷仅一小时车程,基尔代尔很快买了一个处理器并开始为其写些实验性的程序,为了更深入地了解这些处理器,他在休息日时担任英特尔公司的顾问。

1974年,基尔代尔基于英特尔发布的第三款微处理器 8080,开发出了世界上第一个面向微处理器的高级编程语言PL/M(Programming Language for Microcomputers)和第一个微型计算机操作系统 CP/M (Control Program for Microcomputers),但在当时,英特尔看到市面上Unix系统已经成为无冕之王,只选择推广PL/M编程语言,并不看好CP/M操作系统的发展前景,但随着同年微型仪器和遥测系统公司(MITS)发布了第一台商用个人微型计算机 Altair 8800,微型计算机突然开始流行,产品也越来越丰富,于是基尔代尔和他的妻子桃乐思(Dorothy)便成立了一家公司,名为星际数字研究公司(Intergalactic Digital Research),后来改名为数字研究公司(Digital Research),开始将CP/M授权给当时一套颇受欢迎的Altair 8800复制品,名为IMSAI 8080。后来随着越来越多的计算机制造商获得CP/M授权,它自然而然的也就成为了非官方标准,这也就导致CP/M操作系统必须支持越来越多种类的硬件,为了使CP/M无需修改即可在不同系统上运行,基尔代尔开创了一套成功的开放系统架构,他将不同系统的硬件接口划分为一组汇编程序:命名为BIOS(Basic Input Output System)即基本输入输出系统的概念,这是一组存储在只读存储器中的简易程序,其本质上是一个虚拟的“程序”,也就是一组“代码”,它是计算机在上电启动后第一个去加载的软件,专门用于负责计算机加载时各项硬件参数的设定。

根据冯·诺依曼原理来看,BIOS本质既然是一组程序,就需要存储在物理硬件之上,那么主板上的一颗ROM芯片也就成为了它最佳的存储位置,这块存储BIOS程序的特定的ROM储存器一般被称为BIOS芯片,当然这一类芯片既然可以存储BIOS程序,也可以存储其它的程序代码。

这颗BIOS芯片中存放的程序段主要有四部分

1. 自诊断程序
   通过读取CMOS RAM中的内容,识别硬件配置,并对其进行自检和初始化。

2. CMOS设置程序
   引导过程中,用特殊热键启动,进行设置后,存入CMOS RAM中。

3. 系统自检装载程序
   在自检成功后,将磁盘0磁道0扇区上的引导程序装入内存,运行加载操作系统。

4. 主要l/0设备驱动程序和中断服务

当然,CMOS芯片的概念也是值得一提的。它嵌入在主板上面的RAM储存器中,记录着各项硬件参数,里面的数据是从BIOS芯片中读入的,而主板电池则为其提供电力支持。BIOS和CMOS的功能是相辅相成的。BIOS存储的是安全参数,确保计算机可以正常启动。而CMOS则存储着用户自定义的参数,比如超频设置等,为用户提供了更多个性化的选择。可以说,BIOS是计算机的“安全卫士”,而CMOS则是用户的“个性管家”,两者共同构成了计算机启动和运行的重要基础。

BIOS 的发展

1981年,IBM在与基尔代尔关于CP/M操作系统授权的友好交流失败后,毅然决然的选择了 Intel 的芯片,Microsoft 的IBM PC DOS系统的解决方案,产品面世后在短时间内以低价、高性价比的方式迅速占领了市场,为了更快进行商业扩张,让不同硬件厂商都可以为IBM生产外部设备,并能让这些部件遵循一套标准方便互相更换,IBM做出了一个改变了个人计算机发展史的决定,开放了除BIOS外的全部技术资料,从而形成了个人计算机的“开放标准”。但是令IBM没想到的是,其他厂商还是根据IBM PC 的技术参考手册后面的附录汇编代码清单中扒到一个入口,从而逆向出了IBM的BIOS程序,进行删改后出现了各种版本,这样硬件厂商就可以自己组装电脑从而去兼容IBM PC DOS操作系统,于是市面上就出现了IBM PC DOS兼容机。但IBM是谁,吃老子的饭还要砸老子的锅,抢人钱财犹如杀人父母,是可忍孰不可忍,IBM拿起法律的武器,告倒了一大批山寨厂商。

净室设计 Clean-room design (也称为中国墙技术 Chinese wall technique),是通过逆向工程复制设计,然后在不侵犯与原始设计相关的任何版权的情况下重新创建设计的方法。

但也有例外,哥伦比亚数据产品公司(Columbia Data Products)和康柏计算机公司(Compaq Computer Corporation)采用”净室设计“的方式让自己的工程师自研了兼容的BIOS,并称在自研过程中花费了100万美元的经费,而自研的依据,恰恰就是IBM的参考手册,这不搬起石头砸自己的脚吗,但谁叫人家是自研BIOS呢?但当时虎视眈眈的美国山寨厂商并不甘心新赛道的这块大肥肉被几家独占。

1984年,美国凤凰科技有限公司(Phoenix Technologies)率先抓住机会,也用“净室设计”的方法“研发”发布出了一个独立的BIOS。从此,一个商业模式诞生了,那就是独立BIOS供应商(IBV,“Independent BIOS Vendor”),这个商业模式,成就了很多公司,也成就了自己的江湖地位。

在接下来的十几年里,用凤凰和康柏BIOS的兼容机市场占有率很快就超过了IBM。凤凰公司迅猛发展并成功上市,成为了BIOS领域的霸主,开始不断收购和开设分公司,在中国的南京和上海开设了研发中心。彼时的凤凰公司,那可真是风光无限,连Intel都不放在眼里,但危机已经悄然种下,BIOS 领域的根本变革已经慢慢开始了。

UEFI 的诞生

现在先让我们来了解一点稍微专业的知识,x86架构中有两种操作模式,实模式(Real Mode)和保护模式(Protected Mode)用于控制处理器如何访问内存和执行指令。实模式是IBM PC兼容机的标准模式,在实模式下,处理器以一种简单的方式操作,将内存视为一系列连续的字节,最多只能访问1MB的内存,这被称为“实地址空间”,并且没有保护机制来防止程序之间的相互干扰;保护模式是x86处理器提供的一种更为复杂和功能强大的模式。在保护模式下,处理器可以访问远远超过1MB的内存,保护模式还提供了多任务支持和更好的系统稳定性,因为它允许操作系统隔离和保护各个运行的程序,防止它们相互干扰。

在计算机上电后,主板上的平台控制器集线器PCH(Platform Controller Hub)通过高速总线Direct Media Interface (DMI)通知CPU初始化并进入保护模式,开始从预定义的复位向量(Reset Vector)地址中读取CMOS/BIOS芯片中的程序,然后BIOS程序开始进行硬件自检过程,主要检测主板上的重要硬件和集成元件,如硬盘、显卡、声卡以及各种接口等等

BIOS的检测加载顺序是一个精密有序的过程,首先,它连接到南桥(ESB),南桥开始与所连接的部件进行通信,接着是北桥(MCH),北桥开始处理CPU与系统内存之间的数据通信

在这里插入图片描述

如果中间出现错误,BIOS会将错误代码输出到屏幕上,一切正常的情况下,CPU会再回到实模式,然后按照预设顺序读取磁盘第一个磁区的分区表中存储的操作系统引导文件—启动管理程序(Boot Loader),接着,它会将引导文件加载到内存中,并将控制权交给它。由于每个硬件驱动不同,内存占用也各有差异,因此需要切换回保护模式来加载操作系统内核。一旦操作系统顺利引导启动,BIOS的使命就完成了,它也功成身退的默默隐于后台。现如今从P55主板开始,北桥芯片就已经消失了,它的一部分功能集成到了CPU中,另一部分则集成到了南桥中。
在这里插入图片描述

由于实模式下的内存限制,硬件厂商的驱动加载实在是太困难,所以这期间一直在保护模式与实模式之间来回切换,并且随着时间推移,厂商也开始觉得,为你这BIOS写驱动还得专门找能写汇编的程序员,要价贵不说,这祖传屎山级代码也不好招人了呀,而且搁这来回切换啥呢,实模式又难用内存又小,能不能直接放弃实模式直接保护模式一把梭啊!

于是到了1997年,英特尔(Intel)与惠普(Hewlett-Packard)合作开发的一种64位微处理器架构。称为安腾处理器(Itanium Processor),也称为IA-64处理器,于是英特尔(Intel) 开始为安腾处理器设计新的基于 C 语言的 BIOS,并催生了EFI(Extensible Firmware Interface)可扩展固件接口,并逐步演化为 UEFI(Unified Extensible Firmware Interface)统一可扩展固件接口。

UEFI相比之前的BIOS来说是一个标准平台,使用C语言编写,接口开放,厂家可以编写符合UEFI标准的驱动来拓展UEFI的能力,不像之前的BIOS一样使用汇编,封闭且单一还难看难写。所以在UEFI开始正式攻占市场之后,于是市面上就出现了两类BIOS类型,也称为两种启动模式(Boot Mode),先前的BIOS就被称为Legacy BIOS,也叫传统 BIOS或者直接叫BIOS,UEFI 的也就称为UEFI BIOS 或者 UEFI。

此时的凤凰公司作为先前稳坐头把交椅的老大哥一样,对于新型的UEFI是极其抗拒的。它认为新的UEFI能干的事情,传统BIOS都能干啊,我为什么要变?当然凤凰公司还是考虑的太保守了,UEFI标准接口、开放统一和开源的特性让它天然具有可控性,不会隐藏不可告人的秘密,十分符合国家的战略目标。这种改变实际上是颠覆性的,谁能够在这种时刻抓住机会,谁就可以崭露头角。

与凤凰公司的抗拒不同,原本在传统BIOS领域有不少深耕的安迈科技公司(AMI)大胆的拥抱了UEFI。在其开源内核的基础上,加入了自己的独特功能,并推出了备受欢迎的Aptio,更配备了一个集成开发环境(IDE)。在Intel的大力支持下,AMI利用UEFI的先进技术势头迅猛,在市场上占据了领先地位。相比之下,凤凰公司的策略并不明智,现在已经基本退缩到只服务某个品牌商的地位,而安迈公司却占据了台式机、笔记本,甚至是服务器BIOS市场的统治地位,成为新的业界领导者,全球雇佣超过1000名工程师。

1998年,中国台湾的后起之秀系微股份有限公司(Insyde Software)虽然入局较晚,但一开始就上手UEFI,并主攻部分细分市场。借着个人计算机发展的东风,慢慢地也有一定的立足之地,成为全球第三家BIOS供应商。

于是安迈和就系微就开始长江后浪推前浪,将保守的凤凰拍在了沙滩上。

2006年,南京百敖软件股份有限公司(Byosoft)成立,并在一番激烈竞争后脱颖而出,在2008年夺得了Intel的BIOS国内独家技术授权,除开源内核外还可以获取其他闭源的芯片初始化代码。从而成为全球第四个独立BIOS供应商。

如今,在计算机系统中,BIOS已经不再存储在CMOS芯片中,而是存储在主板上一颗小型EEPROM快闪式闪存芯片中。这使得用户可以轻松更新BIOS固件,以添加新功能或修复错误。尽管传统BIOS正在逐渐褪去,但为了兼容老的硬件,CSM等兼容支持模块仍然为不支持UEFI的操作系统提供传统BIOS的启动选项。此外,调节BIOS的参数也成为区分计算机爱好者的标准。

结语

在计算机科技的浪潮中,每个技术的发展都不是孤立的,它们背后有着时代的洪流在推动。BIOS的演进就是这样一个充满创新与智慧的故事。从最初的硬件初始化到如今的UEFI,它们共同构筑了计算机系统启动的神奇过程。

四十多年来,BIOS领域的领头羊位置几易其首,从IBM到Phoenix,再到AMI、Insyde和Byosoft。只有跟随变革,甚至引领变革,才能立于不败之地。传统BIOS寿命持续了20年的岁月,UEFI也已经又过了20年,也许下一个重大变革正在默默酝酿之中,等待着一个新的技术巨澜的涌现。

作为计算机启动过程中的引路者,BIOS的精髓永远留存于计算机科技的发展史册中。它承载着对电子与数字世界的精妙转换,成为了计算机系统不可或缺的一部分。

在未来的科技征程中,我们期待着更多创新的发展,更加优雅而智慧的解决方案将引领着我们走向全新的未来。让我们怀着敬畏之心,迎接科技带来的变革,共同探索未知的边界。

  • 22
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天宇龙腾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值