学习链接:sunym1993/flash-linux0.11-talk: 你管这破玩意叫操作系统源码 — 像小说一样品读 Linux 0.11 核心代码 (github.com)
1. 从开机到运行main.c的过程
在主板上写死的固件程序BIOS会将硬盘中启动的512字节的数据,复制到0x7c00的位置,并跳转到该位置执行;
然后将第一扇区中系统的代码全都复制到内存中去,由(head.s + others)编译得到 system 、由setup.s 编译得到 setup、bootsect.s 编译得到 bootsect,都从硬盘中复制到内存中去;
进入保护模式,设置分段、分页、中断的机制 (idtr 寄存器指向了 idt,这个就是中断的设置)(gdtr 寄存器指向了 gdt,这个就是全局描述符表的设置)(cr3 寄存器指向了页目录表的位置,这个就是分页机制的设置);
其中(中断的设置,就引出了 CPU 与操作系统处理中断的流程)、(分段和分页的设置,引出了逻辑地址到物理地址的转换);
最后引入 main 函数。
标签:复制到,中断,Linux,学习,0.11,设置,寄存器 From: https://www.cnblogs.com/ouyang_wsgwz/p/16589557.html