外观
01.进阶操作系统
约 702 字大约 2 分钟
嵌入式单片机x86个人
2022-06-04
1、什么是操作系统?
- Windows , UNIX , Linux , Mac OS , Android , iOS
- 操作系统是直接运行于硬件之上的计算机程序
- 操作系统用于管理和控制计算机的硬件与软件资源
- 操作系统为用户软件的开发提供必要的服务和接口
2、现代计算机系统架构

3、BIOS - Base Input & Output System
- BIOS是计算机上电后第一个运行的程序
- BIOS首先检测硬件状态,检测通过后立即进行硬件初始化
- BIOS会在内存中建立中断向量表(提供硬件访问的方法)
- BIOS最后将控制权交由主引导程序执行
4、注意!注意!注意!
BIOS不是软件(Software ) ,而是固件(Firmware ) !
固件是固化于硬件中的程序,在硬件出厂前已经烧写固定。
5、系统启动流程(x86架构)

6、问题:BIOS是如何被运行起来的?
7、BIOS的运行机制
- BIOS存储于ROM中,地址映射为0xF0000 - 0xFFFFF(实地址)
- BIOS的入口地址为:0xFFFF0
- 硬件电路的特殊设计使得:
- 开机后,CPU 从 0xFFFF0处开始执行
8、BIOS最后的使命
- 按照用户设置扫描各个存储介质(光驱,软驱,U盘,等)
- 发现主引导区后,将主引导区中的主引导程序载入内存
- 主引导程序在内存中的入口地址为0x7c00
- 将控制权交由主引程序执行(jmp 0x7c00)
9、思考
BIOS如何在存储介质中寻找主引导区?如何判断引导区中有没有主引导程序?
10、主引导区(MBR:Master Boot Record)
- 位置:位于存储介质的最开始位置处,大小为512字节
- 特点:前512字节的最后2个有效字节为0x55aa
- 数据:0x55aa之前的数据被视为主引导程序
11、更详细的系统启动流程(x86架构)

12、小结
- BIOS 是计算机上电后第一个运行的程序
- BIOS 进行必要的初始化,并加载运行主引导程序
- 主引导程序位于存储介质的最开始512字节处
- 主引导程序负责后续初始化,并加载运行操作系统内核
