2.3. BIOS

2.3.1. 简介

BIOS这个字眼是在1975年第一次由CP/M操作系统中出现,是个人电脑启动时加载的第一个软件。

2.3.2. 功能

  • 开机自检( Power On Self Test,POST)
    • 计算机开机时系统将控制权交给BIOS,BIOS针对CPU各项寄存器、标志位等先检查CPU是否工作正常,接下来会检查8254定时器、8259A可编程中断控制器、8237DMA控制器等的状态,测试其是否正常工作

  • 系统初始化
    • 针对CPU Cache、DRAM、南北桥芯片组、显卡、PCI设备控制器、IDE设备控制器、网卡等的寄存器作初始化操作,填充相应寄存器的值,设定成可支持的默认工作模式,并检測是否能够正常工作

  • 提供常驻内存的运行时服务( Runtime services)
    • 这些服务程序常驻在某段系统内存中,操作系统和应用程序能够通过中断方式调用这些服务代码,典型的如Int 10h、Int13h、Int 15h等

  • 系统设置
    • BIOS提供文本或图形界面的设置程序(通常称为BIOS Setup)供用户在进入操作系统前对系统的一些参数值进行设置,如BOS密码、光盘/硬盘/软盘引导顺序、系统时间等

  • 引导操作系统

2.3.3. 传统的BIOS缺陷

  • 传统固件BIOS仍然运行在16位实模式下,这使得Pentium 4的CPU在BIOS运行阶段只相当于一块高速的8086中央处理器。不能充分的发挥中央处理器硬件新技术上的优势

  • 传统固件BIOS封闭的开发方式严重阻碍了固件技术发展。传统固件BIOS缺乏统一和开放的架构,不同固件BIOS厂商其BIOS产品结构设计千差万别

  • 传统固件BIOS的设计,一开始就缺乏安全方面的考虑