BIOS和主引导记录MBR
实模式和保护模式
实模式(实地址模式,REAL MODE)
- 程序按照8086寻址方式访问0h~FFFFh(1MB)空间
- 寻址方式:物理地址(20位)=段地址:偏移地址
- CPU单任务运行
保护模式(内存保护模式,PROTECT MODE)
- 寻址方式:段(32位)和偏移地址(32位),寻址4GB空间
段的属性:起始地址,存储属性,限权级别,……
- 段页式寻址机制(段,页)
- 虚拟地址,进程,封闭空间
- 应用程序和操作系统的运行环境都被保护
- CPU支持多任务
实模式存取的1M空间
- 前面640K【0000——9FFFF】:基本内存
- 中间128K【A0000——BFFFF】:显卡现存
- 末尾256K【C0000——FFFFF】:BIOS
BIOS
- 显示卡BIOS:C0000——C7FFF
- IDE控制器BIOS:C8000——CBFFF
- 最后64K,系统BIOS:F0000——FFFFF
系统BIOS
Basic I/O System(Firmware 固件)
- 基本输入输出系统
- 位置:F0000——FFFFF
功能
- 系统启动配置
- 基本的设备I/O服务
- 系统的家电自检和启动
系统的启动配置
- CMOS配置
基本的设备I/O服务
- BIOS使用的中断类型型号为10H~1FH
- 入口参数
- 家电自检POST
Power On Slef-Test (加电自检)
初始化基本硬件
自检正常不提示,错误通过喇叭提示
- 按下PowerOn或者Reset键执行第一条指令
执行FFFF0处指令
JUMP POST(跳转到加电自检),POST位于系统BIOS内部
POST之后
- 查找显卡BIOS并调用
- 依次查找其它设备执行相应设备的BIOS
- 显示启动画面
- 从硬盘/软盘/光驱/U盘读入OS
主启动记录MBR
MBR
- 存放在硬盘/软盘的首扇区
- 存放和OS启动的相关信息(Main Boot Record)
- 512 BYTES(字节)
- 结束:0xAA55h
其它扇区的首扇区称为分区启动记录
主启动扇区:完成OS加载或启动管理功能
- 提供菜单:让用户选择不同的启动项,实现多重启动
- 加载核心文件:直接指向可启动区加载操作系统
- 跳转:将启动管理文件功能转交给其他loader
BIOS和MBR程序运行过程
- POST——>CMOS(硬件启动)——>读取MBR——>控制权交给MBR
- MBR读取分区表,找到其他活动分区,并确认其他的分区都不是活动分区。MBR读取活动分区的第一个分区并把它加载到内存中。
- PBR继续控制后面的引导过程
操作系统的启动
启动过程
从加电到用户工作环境准备好的过程
- 初始引导
- 核心初始化
- 系统初始化
初始引导
目的:把OS核心装入内存并使之开始工作接管计算机系统
过程:
- 加电,JUMP POST
- BIOS中的启动程序
- 启动程序
读取0面0道第一扇区内容(MBR)
加载MBR中的引导程序
引导程序
- 根据相关参数,读取硬盘指定位置的文件到内存
- 加载硬盘上OS内核,并初始化基本参数
OS内核:逐步加载OS剩余内容,最后完全控制计算机
核心初始化
目的:OS内核初始化系统的核心数据
典型工作
- 各种寄存器的初始化
- 存储系统和页表初始化
- 核心进程构建
- ……
系统初始化
为用户使用系统作准备,使系统处于待命状态
主要工作
- 初始化文件系统
- 初始化网络系统
- 初始化控制台
- 初始化图形界面
- ……