当前位置: 首页 > news >正文

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

文章目录

      • **一、BIOS的核心功能**
      • **二、BIOS的历史与技术局限**
      • **三、BIOS与UEFI的对比**
      • **四、现代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的对比

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

http://www.lryc.cn/news/579761.html

相关文章:

  • 设计模式-观察者模式、命令模式
  • STM32要学到什么程度才算合格?
  • HTTP详细介绍
  • 【BurpSuite 2025最新版插件开发】基础篇7:数据的持久化存储
  • serviceWorker缓存资源
  • P1073 [NOIP 2009 提高组] 最优贸易
  • 【数字后端】- 衡量design的congestion情况
  • 【HarmonyOS】应用开发拖拽功能详解
  • MySQL 8.0 OCP 1Z0-908 题目解析(17)
  • 高边驱动 低边驱动
  • IOC容器讲解以及Spring依赖注入最佳实践全解析
  • 【数据结构】哈希——闭散列/开散列模拟实现(C++)
  • 魔术方法__call__
  • Java的SpringAI+Deepseek大模型实战之会话记忆
  • Python入门Day2
  • 网络编程学习路线图
  • Windows 10 2016 长期服务版
  • 7.3实验部分
  • 工程化实践——标准化Eslint、PrettierTS
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | DragNDrop(拖拽占用组件)
  • Selenium 自动化测试中跳过机器人验证的完整指南:能用
  • 供应链管理:采购与供应链管理中的核心分析工具
  • js代码中的作用域
  • Linux: perf report数据对比,python
  • ArcGISPro应用指南:ArcGISPro制图全流程详解
  • Java综合练习04
  • 优化Facebook广告投放的五大关键策略
  • 机器学习安装使用教程
  • SpringSecurity01
  • win11设置任务栏为顶部