01 - 进阶操作系统(BIOS)

---- 整理自狄泰软件唐佐林老师课程

查看所有文章链接:(更新中)深入浅出操作系统 - 目录

1. BIOS - Base input & Output system

  • BIOS是上电后第一个运行的程序
  • BIOS首先检测硬件状态,检测通过后立即进行硬件初始化工作
  • BIOS会在内存中建立 中断向量表(提供硬件访问的方法)
  • BIOS最后将控制权交由 主引导程序 执行

BIOS不是软件 ,而是 固件Firmware

固件是固化在硬件中的程序,在硬件出厂前已经烧写固定。

1.1 系统启动流程

==> 上电
==> 运行BIOS(0xFFFF0)
==> 硬件初始化
==> 建立中断向量表
==> 加载运行主引导程序(0x07c00)
==> 软件初始化
==> 加载运行操作系统内核
==> 系统初始化
==> …

问题

  • BIOS是如何被运行起来的?

1.2 BIOS的运行机制

  • BIOS存储于ROM中,地址映射为0xF0000~0xFFFFF(实地址)
  • BIOS的入口地址为:0xFFFF0
  • 硬件电路的特殊设计使得:
    • 开机后,CPU从0xFFFF0处开始执行,也即 开机后运行BIOS

1.3 BIOS的最后使命

  • 按照用户设置扫描各个 存储介质(光驱、软驱、U盘,等),寻找是否有 主引导程序
  • BIOS发现主引导程序后,BIOS将存储介质主引导区中的 主引导程序载入内存
  • 主引导程序在内存中的入口地址为 物理地址 0x07c00
  • 将控制权交由主引导程序执行(jmp 0x07c00)

思考

  • BIOS如何在存储介质中寻找主引导区?
  • 如何判断引导区中有没有主引导程序?

1.3.1 主引导区(MBR:Master Boot Record)

  • 位置:位于存储介质的 最开始处,大小为 512字节
  • 特点:前512字节的 最后两个字节为 0x55aa
  • 数据:0x55aa之前的数据被视为主引导程序

1.3.2 更详细的系统启动流程(x86架构)

在这里插入图片描述

2. 小结

  • BIOS是计算机上电后第一个运行的程序
  • BIOS进行必要的初始化 ,并加载运行主引导程序
  • 主引导程序位于存储介质的最开始512字节处
  • 主引导程序负责后续初始化,并加载操作系统内核
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uuxiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值