参见过几次两年一次的全国操作系统研讨会,会议的热烈让人留恋,与会老师的辛苦更是让人尊敬,尤其是,有的老师为了操作系统教学不辞辛苦阅读二十多本参考书。但是,有一种忧虑常常困扰着我,没有触摸过操作系统心脏的教师怎么可能告诉学生真实面貌?没有拿刀解疱过操作系统的学生又怎能理清操作系统的脉络?
曾经的我与大多数老师一样,对操作系统的很多东西是从概念到概念,把书上说的东西当圣经一样告诉了学生。当阅读了Linux内核以后,才真正体会“不入虎穴,,焉得虎子”。但是,也就是在进入Linux内核之后才发现,一个操作系统的复杂,不仅在于代码的庞大,更在于错综复杂的动态关系,而这种关系很难用一种模型去描述。
现在很多学校在开设Linux课程,但是课堂教学能教给学生的东西非常有限,Linux的庞大又很难使学生能够触摸到它的心脏,尤其是一个个版本的不断更新,内核越来越庞大,学习者可能刚刚入门,又需要刷新了,何时是尽头!
于是很多老师建议我们基于Linux内核开发一个教学用平台,无需支持各种体系结构,无需支持SMP ,无需支持各种文件系统,无需支持各种驱动程(这样代码量会大大减少),但是每个子系统要留有便于学生二次开发的接口,比如,学生可以写一个调度程序替换原来的调度程序,学生可以观察替换后的变化,如此等等。 这种设想一直在脑子萦绕,限于精力和时间,一直没有去实施。在次提出来,希望更多的人参与进来,并提出自己的建议。
曾经的我与大多数老师一样,对操作系统的很多东西是从概念到概念,把书上说的东西当圣经一样告诉了学生。当阅读了Linux内核以后,才真正体会“不入虎穴,,焉得虎子”。但是,也就是在进入Linux内核之后才发现,一个操作系统的复杂,不仅在于代码的庞大,更在于错综复杂的动态关系,而这种关系很难用一种模型去描述。
现在很多学校在开设Linux课程,但是课堂教学能教给学生的东西非常有限,Linux的庞大又很难使学生能够触摸到它的心脏,尤其是一个个版本的不断更新,内核越来越庞大,学习者可能刚刚入门,又需要刷新了,何时是尽头!
于是很多老师建议我们基于Linux内核开发一个教学用平台,无需支持各种体系结构,无需支持SMP ,无需支持各种文件系统,无需支持各种驱动程(这样代码量会大大减少),但是每个子系统要留有便于学生二次开发的接口,比如,学生可以写一个调度程序替换原来的调度程序,学生可以观察替换后的变化,如此等等。 这种设想一直在脑子萦绕,限于精力和时间,一直没有去实施。在次提出来,希望更多的人参与进来,并提出自己的建议。