【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
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
相关文章推荐
- 【orange】关于将数据从软盘读到内存的一些总结
- Android中的缩略图加载-不浪费一点多余的内存
- 关于善恶的一点人生感悟
- Linux下通过加载内核计算CPU利用率以及内存利用率
- 关于新浪微博里面长图加载功能的一点窥探
- 关于对象数据封装的一点感悟
- 关于进程内存使用的一点学习和实践
- 关于java程序设计的一点感悟
- 关于淘宝直通车优化的一点感悟
- 关于内核重载中基址重定位的一点解释
- 关于内核中的内存都不分页
- 关于NSDictionary的一点感悟
- 关于创业还是工作的一点感悟
- 对于C#基本知识的一点感悟(1)——关于C#语法的抽象
- 关于C的一点小感悟 持续更新
- 关于类文件从加载到运行的过程中内存的示意图
- Android中的缩略图加载-不浪费一点多余的内存
- 140425关于性能测试的一点感悟
- Android中的缩略图加载-不浪费一点多余的内存