# 操作系统用户界面
# 操作系统启动过程
# BIOS和主引导记录MBR
实模式(实地址模式,real mode)
程序按照8086寻址方法访问0h——FFFFFh(1MB)空间
寻址方式:物理地址(20位) = 段地址:偏移地址
CPU单任务运行保护模式(内存保护模式 protect mode)
寻址方式:段(32位)和偏移量(32)位
段页式寻址机制(段、页)
虚拟地址,进程,封闭空间
应用程序和操作系统的运行环境都被保护
CPU支持多任务
实模式存取的1M空间:
前面640K:基本内存
中间128K:显卡显存
末尾256K:BIOS
# Basic I/O System(Firmware,固件)
位置:F0000——FFFFF
功能:完成系统的启动配置,基本设备I/O服务,系统加电自检和启动
# 加电自检POST
Power On Self-Test
初始化基本硬件:CPU、内存、显卡
自检正常不提示,错误则通过喇叭提示
按下PowerOn或者Reset键执行第一条指令
执行FFFF0处的指令:JUMP POST;POST位于系统BIOS内部
之后查找显卡BIOS,调用显卡BIOS
依次查找其他设备执行相应设备的BIOS
显示启动画面
BIOS信息,芯片组型号,主板信息
从硬盘/软盘/光驱/U盘读入OS
OS启动后,由OS接管计算机
# 主启动记录MBR(Main Boot Record)
MBR存放在硬盘/软盘的首扇区
存放和OS启动的相关信息
共512BYTES
结束:0xAA55
# BIOS和MBR程序运行过程
- POST->CMOS设置(硬盘启动)->读取MBR->控制权交给MBR。
- MBR读取分区表(Partition Table),找到其中的活动分区(Active Partition),并确认其他的分区都不是活动分区。MBR读取活动分区的第一个分区(分区引导记录PBR),并把他加载到内存中去。
- PBR继续控制后面的引导过程。
# 启动过程
从加电到用户工作环境准备好的过程
- 初始引导
- 核心初始化
- 系统初始化
# 过程
# 初始引导
- 加电,JUMP POST;
- BIOS中的启动程序运行
- 启动程序读取0面0道第1扇区内容(MBR)
- 加载MBR中的引导程序
- 引导程序根据相关参数,读取硬盘中指定位置的文件到内存
- 加载硬盘上的OS内核,并初始化参数
# 核心初始化
各种寄存器的初始化,存储系统和页表结构初始化,核心进程构建等等
# 系统初始化
为用户使用系统作准备,使系统处于待命状态
初始化文件系统,网络系统,控制台,图形界面等
内核完成引导后,加载init程序
进程号为1
init进程通过/etc/inittab脚本进行初始化,不同的运行级别下的/etc/inittab脚本不同。脚本文件设置键盘、字体、装载模块、设置网络等等。