Abstract
The educational objectives of two upper level operating systems courses are discussed. The instructional environment in which these courses are taught is also described. The primary goal is to expose students to all of the important issues involved in designing and implementing operating systems. Students should start with the architecture of the target machine and proceed through to an implementation of some functioning operating system. This is a difficult task to achieve in the confines of a single semester. However, a careful choice of software exercises that start very simply and build on each other to illustrate important points, and a high level language facility for writing operating system programs have combined to produce a successful experiment. This technique is applied in a senior level Computer Science course on Operating Systems Principles and a graduate level course on Real Time Systems. The program development system described is not only a good educational tool, but also provides a vehicle for research in comparing concurrency constructs in languages and the performance and architectural implications of concurrent programs.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have