Linux 内核设计的艺术......................................................................................................................1
(0) 硬件设计-加电进入实模式,加电瞬间指向 BIOS 入口.............................................1
基础知识.............................................................................................................................1
(一) 加载 BIOS,建立中断向量表和中断服务程序.........................................................2
1 BIOS 启动........................................................................................................................2
2 建立中断向量表和中断服务程序.................................................................................2
(二)加载 bootsect---(int19 中断,启动加载服务程序)......................................................2
(三)运行 bootsect,加载 setup--(int13 中断)和系统模块(调用 read_it).................3
1 规划内存..........................................................................................................................3
2 复制 bootsect....................................................................................................................3
3 将 setup 加载到内存........................................................................................................3
4 加载系统模块..................................................................................................................4
(四)执行 setup 程序...............................................................................................................4
1 提取机器系统数据..........................................................................................................4
2 开始向 32 位模式转变(保护模式下)........................................................................5
(2.1)关中断 cli,将内核移动到内存地址的起始位置 0x00000...............................5
(2.2)设置中断描述符表和全局描述符表...................................................................5
(2.3)打开 A20,实现 32 位寻址..................................................................................5
(2.4)为在保护模式下执行 Head.s 做准备...................................................................6
(五) head.s 开始执行.............................................................................................................6
1 head 执行整体策略.........................................................................................................6
2 建立页目录表..................................................................................................................7
3 创建分页机制..................................................................................................................8
Linux 内核设计的艺术
(0)硬件设计-加电进入实模式,加电瞬间指向 BIOS 入口
基础知识
1. Intel 80X86 系列的 CPU 可以分别在 16 位实模式和 32 位保护模式下运行,但为了兼容,
解决最开始的启动问题,Intel 将所有 80X86 系列的 CPU 的硬件都设计为加电进入 16 位实
模式状态运行。
2. 还有一个硬 件 逻辑设计为加电 瞬 间 强行设置 CS 和 IP 的值,使得执 行 BIOS 入口
0xFFFF0 。 BIOS 固 化 在 计 算 机 主 机 板 上 的 ROM 芯 片 , 只 有 8KB , 所 占 地 址 段 为