计算机科学导论(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的原理,有助于排查计算机启动故障、优化硬件配置,以及理解现代固件技术的演进逻辑。

相关推荐
迷路爸爸18027 分钟前
无sudo权限远程连接Ubuntu服务器安装TeX Live实操记录(适配VS Code+LaTeX Workshop,含路径选择与卸载方案)
java·服务器·ubuntu·latex
gsgbgxp3 小时前
通过tailscale配置ssh远程实现wsl系统VSCode编程
vscode·深度学习·ubuntu·ssh
搬砖者(视觉算法工程师)19 小时前
Ubuntu 24.04 LTS 系统上树莓派摄像头模块 v2.1(IMX219)的安装配置与故障排查
linux·数据库·ubuntu
拓云者也19 小时前
本文汇总了Linux 主流发行版Ubuntu的命令行操作指令集------包括零基础友好的常用命令分类整理,涵盖日常操作、系统管理、软件维护等核心场景
linux·运维·ubuntu
xiyuping2420 小时前
star2026视觉冬训任务书——利用Ubuntu与ROS1,打通控制与视觉全流程
linux·运维·ubuntu
乙酸氧铍1 天前
python 实现解压7z生成的zip分卷
linux·python·ubuntu·zip·7z
林深现海1 天前
二、如何在 ROS 2 仿真中实现四足机器人的 VLA(视觉-语言-动作)控制链路
linux·vscode·yolo·ubuntu·机器人
一只自律的鸡1 天前
【Linux驱动】Ubuntu基础 上篇
linux·ubuntu
苏三福1 天前
clawdbot 使用
linux·运维·ubuntu
yumenai_1 天前
【K8s 避坑指南】2026 最新 Kubernetes v1.28 + Containerd 安装全流程(内网/离线通用版)
ubuntu·云原生·容器·kubernetes·k8s