操作系统开发
前言
之前按照北航的操作系统实验指导,第一次完成了一个半吊子Linux
内核,但是在龙芯杯pmon
引导的过程中,遇到了没解决的bug
,为了更好的理解操作系统的开发,我决定从新开始,先走一遍Linus
的路,学习Minix
的制作,再看一遍HIT
李治军的课,再看一下麻省的JOS
课程,最后再按照BUAA
的OS
实验完成基于MIPS
的Linux
内核。
冲冲冲!
Minix
李治军HIT课程
课程体系:CPU管理、内存管理、终端管理、磁盘管理、文件管理等,此外还有网络管理、电源管理、多核管理,涉及更高层次的学习(高级操作系统),暂时不进行介绍。
目标:能改操作系统(改CPU管理、改屏幕输出、改系统接口、改内存管理)
斯坦福学操作系统的四个实验:
实验一:扩展线程 | 实现线程调度 |
---|---|
实验二:实现系统调用 | 将整个接口剥掉,添加 |
实验三:实现虚存管理 | 扩展实现内存管理 |
实验四:扩展文件系统 | 扩展实现一个文件管理 |
控制开机界面
为什么不能用C而要用汇编?因为汇编可以准确的对指定的地址进行操作。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 活在21世纪的孟游!
评论