Linux 0.11学习

学习链接: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 函数。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.wtld.cn/a/63.html

如若内容造成侵权/违法违规/事实不符,请联系方塘网进行投诉反馈,一经查实,立即删除!

相关文章