博客
关于我
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/

    你可能感兴趣的文章
    Python中使用pip install ncmbot时各种错误解决办法
    查看>>
    Python中使用requests和parsel爬取喜马拉雅电台音频
    查看>>
    Python中使用turtle绘制多个同心圆
    查看>>
    Python中使用turtle绘制棋盘详解
    查看>>
    Python中使用wordcloud生成漂亮的中文词云
    查看>>
    Python中使用wxpy定时机器人给微信好友发送每日一文
    查看>>
    Python中使用zip()并行迭代
    查看>>
    Python中使用推导式创建序列
    查看>>
    Python中信号处理程序和atexit处理程序的调用
    查看>>
    Python中关于txt的简单读写模式与操作
    查看>>
    Python中关于类和函数的初体验之"__init__"和"__str__"不是"_init_"和"_str_"
    查看>>
    python中函数接受参数为*args, **kwargs怎么办
    查看>>
    Python中切片的高效迭代
    查看>>
    python中列表乘法、eval、lambda、hasattr、assert、*(星)等的用法
    查看>>
    Python中制作词云的WordCloud参数详解
    查看>>
    Python中可用和使用的系统内存?
    查看>>
    python中存根文件(.pyi)的用途是什么?
    查看>>
    Python中实现ASCII码与字符相互转换
    查看>>
    Python中实现获取所有微信好友的头像并拼接成一张图片
    查看>>
    Python中对象的布尔值
    查看>>