操作系统启动流程图(x86)
2021-10-22 16:25:02 7 举报
操作系统启动流程图
作者其他创作
大纲/内容
其他初始化
执行内核初始化函数
调度器初始化
该模式下程序访问的是真实的物理地址,最大访问空间为10MB
CS:IP
初始化与各种硬件的交互
加电启动
电源
实模式
强制初始化CS:IP寄存器地址为BIOS起始地址0xF000和0xFFF0
栈顶指针指向start段所在位置(0x7c00)
根据启动顺序依次扫描设备的MBR,查找是否有可启动的loader
内存初始化
常驻内存
bootasm.c
BIOS
0xFFFFFFF0
刷新数据段寄存器
校验文件头的魔数值
A20 Gate
打开A20即获得了最大4GB的内存地址访问权限
读取引导扇区到内存的0x7c00处
bootasm.S
选择启动设备
因为引入了特权级保护,避免数据段寄存器之前的值不对而出现漏洞
进入保护模式
创建0号进程
NVRAM映射到内存
(power on self test)完成计算机硬件自检和初始化
0x7c00
开启GDT
中断初始化
Bootloader
POST
Linux OS Kernel
显卡、中断控制器、定时器等
开启分段存储管理机制:分段地址转换->分页地址转换(操作系统决定是否开启)
设置栈段寄存器
该地址映射在主板的BIOS ROM(只读存储区)中
读取ELF文件的文件头
收藏
收藏
0 条评论
下一页