- 7
- 0
- 约7.09千字
- 约 31页
- 2022-06-21 发布于江苏
- 举报
简析 linux 核的执行流程
从 bootsect.s 到 main.c (核版本 0.11)
Linux 启动的第一阶段(从开机到 main.c)
3 个任务:
A、启动 BIOS ,准备实模式下的中断向量表和中断服务程序。 B、从启动盘加载操作系统程序到存。
C、为执行 32 的 main 函数做过渡准备。
存变化如下:
① 、0xFE000 到 0xFFFFF 是 BIOS 启动块, 其中上电后第一 条指令在 0xFFFF0。
② 、而后 0x00000 到 0x003FF 总共 1KB 存放中断向量表, 而接下去的地址到 0x004FF 共 256B 存放 BIOS 数据,从 0x0E05B 开始的约 8KB 的存中存放中断服务程序。
③ 、利用 BIOS 中断 0x19h 把硬盘的第一扇区bootsect.s 的 代码加载到存中,即 0x07c00 处,后转到该处执行。
④ 、将 bootsect.s 的代码复制到 0x90000 处。
⑤ 、利用中断 0x13h 将 setup.s 程序加载到存 0x90200 处。
⑥ 、再将剩余的约 240 个扇区的容加载到0x10000~0x2EFFF 处。
⑦ 、开始转到 setup.s 处执行,第一件事就利用 BIOS 提供的 中断服务程序从设备上获取核运行的所需系统数据并存在 0x90000
原创力文档

文档评论(0)