Teaching OS design through implementation of a simulated operating system
Todd Peterson, Sean Crosby · Journal of computing sciences in colleges · 2007
Designing a senior level OS course is a difficult process. The main difficulty is designing appropriate and challenging projects that will reinforce the major concepts for such a course. There are a few main options for designing these projects. The first is to implement an operating system from scratch using native assembly language coupled with a high level language such as C or C++. The second is to assemble a collection of projects that do not interconnect, but still have some effectiveness in teaching the major OS concepts.