7. A workbench for OS projects

A workbench for OS projects: Instructors of undergraduate courses in Operating Systems face the issue of choosing the appropriate depth at which OS course assignments and projects must operate so that they provide students an effective understanding of the fundamental issues in OS design and implementation, yet limit the amount of time a student needs to commit to the course assignment or project.

The two extremes at which the projects can operate are

(i) Simulation of selected functionalities of operating systems, and
(ii) Coding or modifying parts of a full-fledged operating system.

The former approach concerns study of selected policies rather than their implementation in an OS. However, it does not expose students to design and coding of real operating systems.

The latter approach provides the student a detailed view of how an OS is both designed and implemented. The key weakness of this approach is that it requires a student to commit a large amount of time to study the design and code of the OS. The actual coding or modification work that students have to do is marginal in comparison; however, it can be performed only after the study has been performed effectively. Students who lack the skills and the commitment for the initial study often do not make sufficient progress on the coding or modification and do not benefit from the project. The OS workbench provides the capability to offer OS projects at different depths. It provides a simple interface to facilitate simulation of selected OS functionalities. It also provides a simple bare-bones OS which facilitates design and implementation of complete OS components such as the virtual memory manager or a file system.