0.00-050613_zc

1、

ROM bios --> 启动盘第一个扇区(此处内容为boot) 加载到 内存位置0x7C00(31KB) --> 执行权转移(也就相当于跳转)

  boot程序主要功能:把 软盘/映像文件 中的 head内核代码加载到内存某个指定位置处,并在设置好临时GDT表等信息后,把处理器设置成运行在保护模式下,然后跳转到 head 代码处去运行内核代码。

ROM bios 中断 int 0x13 --> 0x10000[64KB] --> 0x00 --> CR0 --> jmp 0x00

ROM BIOS 中断向量表:0x00,ROM BIOS数据区:内存 1K开始处。

也可以 直接运行 0x10000处的 head代码 而不移动它。

2、

head.s 运行在 32位保护模式下,主要包括:

  初始设置的代码(①重新设置GDT表;②设置系统定时器芯片;③重新设置IDT表 并且设置时钟和系统调用中断门;④移动到任务A中执行)、

  时钟中断 int 0x08 的过程代码、

  系统调用中断 int 0x80 的过程代码、

  任务A 和 任务B 等的代码和数据、

虚拟地址空间中 head.s 程序的内核代码和任务代码分配图 如图4-41所示。

3、

章节 ==> 4.9.1多任务程序结构和工作原理

图4-42 的内存分配是 下面是内存低位,上面是内存高位。

原文地址:https://www.cnblogs.com/CodeSkill/p/5086109.html