现在的不太完整,只是为了我自己不要忘记,最近没时间看了对于将操作系统内核加载到内存,大致是这样的一个过程:
1.首先编译我们的内核文件,注意指定其输出格式为ELF
2.将加载文件Loader.bin和kernel.bin都写入软盘
3.将boot.bin写入引导扇区,主要是为了找到Loader.bin
4.找到Loader.bin之后,通过Loader.bin找到kernel.bin,并在Loader.bin中完成:
A.跳入保护模式;
B.得到内存信息;
C.显示内存信息;
D.还有一个重要的工作就是,通过ELF里面的Program header,将内核载入Program header中指定的内存位置
5.向内核跳转,交出管理权
补充说明:为什么我们中间要经历Loader.bin这么一个中转过程呢?因为我们的引导扇区只有512KB,我们刚才也看到了,Loader.bin其实完成了跳入保护模式,得到内存信息等等工作,如果我们把这些都写到引导扇区,可能导致它超过了512KB,所以我们使用了一个中转站Loader.bin