您的位置:首页 > 其它

【orange】关于从软盘加载内核到内存的一点感悟

2011-04-01 21:54 295 查看
现在的不太完整,只是为了我自己不要忘记,最近没时间看了对于将操作系统内核加载到内存,大致是这样的一个过程:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: