计算机科学导论(10)什么是BIOS

文章目录

BIOS(Basic Input/Output System,基本输入/输出系统)固化在计算机内主板上一个 ROM 芯片上的程序,是计算机启动时运行的底层固件程序(和硬件相关的程序习惯称为固件),是连接硬件与操作系统的桥梁,主要负责初始化硬件、加载操作系统及提供硬件控制功能。以下是关于BIOS的详细介绍:

一、BIOS的核心功能

  1. 硬件初始化与自检(POST)

    • 计算机开机时,BIOS首先执行加电自检(Power-On Self Test,POST),检测CPU、内存、硬盘、显卡等硬件是否正常工作。
    • 初始化硬件设备的基本参数,如设置内存地址映射、配置I/O端口等。
  2. 引导加载

    • 自检通过后,BIOS根据预设的启动顺序(如硬盘、U盘、光驱等)查找并加载操作系统的引导程序(如Windows的bootmgr、Linux的GRUB)。
  3. 硬件抽象与接口提供

    • 为操作系统和应用程序提供底层硬件的抽象接口(如键盘输入、屏幕显示、磁盘读写等),简化上层软件对硬件的直接操作。
  4. CMOS设置(BIOS设置程序)

    • 允许用户通过特定按键(如Del、F2等)进入BIOS设置界面,修改硬件配置(如启动顺序、时钟、超频参数等),这些设置存储在主板的CMOS芯片中。

二、BIOS的历史与技术局限

  1. 历史背景

    • 诞生于20世纪70年代末的IBM PC,最初功能简单,仅支持基本I/O操作。
    • 20世纪90年代后,随着硬件发展,出现了Award BIOS、AMI BIOS等厂商定制版本,功能逐渐丰富(如支持大容量硬盘、USB设备等)。
  2. 主要局限

    • 容量与地址限制:基于16位实模式运行,最大支持1MB内存寻址,无法直接管理超过2TB的硬盘(需借助LBA模式)。
    • 启动速度慢:引导过程按固定顺序串行执行,且需加载大量硬件驱动,耗时较长。
    • 安全性不足:缺乏对引导过程的加密验证,易受恶意软件攻击(如引导区病毒)。
    • 用户界面简陋:多为文本菜单式界面,不支持鼠标操作和图形化显示。

三、BIOS与UEFI的对比

维度 BIOS UEFI
架构 16位实模式,基于x86汇编语言 32/64位保护模式,支持高级编程语言
启动速度 串行启动,速度较慢 并行加载驱动,启动速度更快
硬盘支持 最大支持2TB硬盘(需LBA) 原生支持GPT分区,突破2TB容量限制
安全性 无安全启动(Secure Boot)机制 支持Secure Boot,防止恶意引导程序
用户界面 文本菜单,仅支持键盘操作 图形化界面,支持鼠标和触摸操作
扩展性 驱动程序固化在BIOS中,难以更新 支持模块化驱动,可动态加载更新

四、现代BIOS的现状

  • 随着UEFI(统一可扩展固件接口)的普及,传统BIOS已逐渐被取代,但在以下场景中仍有应用:
    • 老旧计算机(如2010年前的设备)或嵌入式系统。
    • 部分服务器或工业设备为兼容legacy模式保留BIOS支持。
  • 现代主板通常同时支持"Legacy BIOS"和"UEFI"两种引导模式,用户可在BIOS设置中切换。

总结

BIOS是计算机启动的"基石",在硬件与系统间扮演着桥梁角色,但受限于技术架构,逐渐被更先进的UEFI替代。理解BIOS的原理,有助于排查计算机启动故障、优化硬件配置,以及理解现代固件技术的演进逻辑。

相关推荐
沫璃染墨9 小时前
从零入门计算机网络系列(十二):HTTP长连接与会话管理详解——从Connection到Cookie与Session
linux·服务器·c++·tcp/ip·ubuntu·http·交互
longzhizhui92613 小时前
Ubuntu 全版本 CVE-2026-98432 内核安全升级操作手册
ubuntu·网络安全·云计算·bash
OPEN-F15 小时前
Ubuntu 自动登录后 GNOME 远程桌面连不上?一次登录钥匙环锁定的排查与永久修复
linux·运维·ubuntu
A7bert77719 小时前
【MobileSAM部署至RK3588】环境适配→转换RKNN→开发板部署
c++·人工智能·深度学习·目标检测·ubuntu
用户4107192013251 天前
用 systemd 从零做一个系统健康巡检服务:脚本、沙箱与磁盘满排查实战
linux·ubuntu
Linux-lucky1 天前
46-Linux学习之旅之LVS负载均衡与keepalived高可用
linux·运维·学习·ubuntu·负载均衡·lvs
wzg20162 天前
ubuntu通过docker镜像部署安装onlyoffice
linux·ubuntu·docker
Sw1zzle2 天前
Go入门(零):Linux Ubuntu 22.04 安装 Go
linux·ubuntu·golang
时空无限2 天前
ubuntu 26.04 sudo 连不上主机卡住然后失败问题处理
linux·服务器·ubuntu
qq762118222 天前
Ubuntu20.04
ubuntu