ucore的启动过程.
ucore.img 镜像文件的生成
ROM中的BIOS 软件运行,完成加电自检的工作后,跳转到bootloader 程序.
bootloader负责将os从硬盘加载到内存中,加载完成后,将cpu控制权移交给os,完成os的启动.
代码及细节:
获得第一条bootloader 指令的地址:寄存器初始化时设置,cs及ip寄存器, 0x7c00
bootloader还完成了实模式和保护模式(32位)的转换.
包括:1.打开A20
2.建立gdt(global descript table)
3.使能保护模式
bootloader加载os
os文件的格式为ELF文件.
通过ELF文件头获取相应信息.
和ELF_MAGIC比较判断是否为ELF文件.
获取多个程序段的入口地址,将他们载入内存