博客
关于我
PC机引导程序之——BOIS
阅读量:618 次
发布时间:2019-03-13

本文共 1106 字,大约阅读时间需要 3 分钟。

PC引导程序的核心——BOIS

PC启动时,系统会自动启动引导程序进行初始化和操作系统的启动,这个引导程序被称为BIOS(Basic Input/Output System)。与Linux系统的启动流程类似,BIOS对于PC的初始化起到了至关重要的作用。在缺乏操作系统的情况下,BIOS能够启动系统,确保硬件正常运行并为后续的操作系统加载做好准备。

BOIS的功能

  • 硬件初始化与测试

    BOIS首先会初始化和测试系统的硬件设备,包括CPU、内存、存储器等,确保每个设备都处于正常工作状态。

  • 存储设备检测与引导程序加载

    BOIS会从系统的存储设备(如硬盘、SSD等)中扫描并找到引导程序(通常是MBR,Master Boot Record,主启动记录)。这一步骤是系统启动的关键环节。

  • 硬件控制与中断支持

    BOIS为显示器、键盘、鼠标、打印机等输入输出设备提供中断处理功能,确保这些设备能够正常工作。

  • 支持存储型BIOS

    随着技术的发展,传统的ROM存储的BIOS已逐渐被闪存(Flash)取代,闪存不仅支持读取还允许重写,这极大地提升了维护和更新的便利性。

  • 系统启动流程

  • POST自检(Power-On Self-Test)

    计算机首次上电时,会执行POST检查,确保各项硬件和软件配置都正常。具体包括:

    • 验证CPU寄存器和BIOS代码的完整性
    • 初始化和验证主内存
    • 检查和配置系统总线、显卡、 DMA 控制器等重要组件
  • 复位向量的作用

    在PC设备上电启动时,CPU会尝试执行复位向量指向的代码。复位向量位于NVRAM中,地址为FFFF:0。
    在冷启动模式下,BOIS存储在闪存中,北桥会将复位向量指向闪存中的引导程序;而在热启动模式下,BOIS会被加载到RAM中,复位向量也会被指向RAM中的引导程序地址。

  • 引导程序的执行

    COMS位(传统的EL Case)中的BIOS代码会被加载到内存中并执行。引导程序的主要任务是将控制权转移到操作系统的引导扇区。

  • 引导扇区的重要性

  • MBR的作用

    主启动记录(MBR)是引导扇区的核心组件,包含以下信息:

    • 引导程序本身
    • 磁盘的分区表信息
    • 分隔符标识
  • 引导扇区的加载过程

    引导程序会将控制权转移到目标操作系统的引导扇区。引导扇区正常运行后,会对自身硬件进行测试并注册中断向量,以供后续程序使用。

  • GRUB引导程序的作用

  • 扇区检测与签名验证

    引导扇区会扫描磁盘,寻找可引导的扇区,并检查扇区签名(通常为0x55 0xAA)。一旦找到符合签名的扇区,引导程序会将控制权转移到该扇区。

  • 系统环境配置

    引导扇区不仅仅是引导程序的容器,它还会初始化系统环境,为后续的操作系统加载做好准备。

  • 转载地址:http://njkaz.baihongyu.com/

    你可能感兴趣的文章
    org.hibernate.ObjectNotFoundException: No row with the given identifier exists:
    查看>>
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
    查看>>
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
    查看>>
    org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
    查看>>
    org.tinygroup.serviceprocessor-服务处理器
    查看>>
    org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
    查看>>
    org/hibernate/validator/internal/engine
    查看>>
    SQL-36 创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表。
    查看>>
    ORM sqlachemy学习
    查看>>
    Ormlite数据库
    查看>>
    orm总结
    查看>>
    os.environ 没有设置环境变量
    查看>>
    os.path.join、dirname、splitext、split、makedirs、getcwd、listdir、sep等的用法
    查看>>
    os.system 在 Python 中不起作用
    查看>>
    OS2ATC2017:阿里研究员林昊畅谈操作系统创新与挑战
    查看>>
    OSCACHE介绍
    查看>>
    SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
    查看>>
    OSChina 周五乱弹 ——吹牛扯淡的耽误你们学习进步了
    查看>>
    SQL--mysql索引
    查看>>
    OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
    查看>>