前言

之前按照北航的操作系统实验指导,第一次完成了一个半吊子Linux内核,但是在龙芯杯pmon引导的过程中,遇到了没解决的bug,为了更好的理解操作系统的开发,我决定从新开始,先走一遍Linus的路,学习Minix的制作,再看一遍HIT李治军的课,再看一下麻省的JOS课程,最后再按照BUAAOS实验完成基于MIPSLinux内核。

冲冲冲!

Minix

李治军HIT课程

课程体系:CPU管理、内存管理、终端管理、磁盘管理、文件管理等,此外还有网络管理、电源管理、多核管理,涉及更高层次的学习(高级操作系统),暂时不进行介绍。

目标:能改操作系统(改CPU管理、改屏幕输出、改系统接口、改内存管理)

斯坦福学操作系统的四个实验:

实验一:扩展线程 实现线程调度
实验二:实现系统调用 将整个接口剥掉,添加
实验三:实现虚存管理 扩展实现内存管理
实验四:扩展文件系统 扩展实现一个文件管理

控制开机界面

为什么不能用C而要用汇编?因为汇编可以准确的对指定的地址进行操作。