Simulators for Teaching Operating Systems Curriculum Examples

This web page can be found at /simulators/curriculum/ring_cur.html.

This simulator was originally motivated by a paper from the 1989 SIGCSE conference, "Virtual Rings: An introduction to concurrency", Proc. 21st SIGCSE Technical Conference on Computer Science Education, 1989, pp.23-28. by K. Robbins, N. Wagner and D. Wenzel.

The material was developed into a project call The Token Ring in UNIX Systems Programming by Kay Robbins and Steven Robbins.

The original simulator just handled the case of the ring program and was designed to be used as a classroom demonstration to trace this ring program. It was later expanded to simulate a large variety of programs involving pipes, forks and redirection. I still use it for this purpose but also use it to illustrate the consequences of not being careful about synchronization.

The operating systems course at UTSA is taught with a lecture and a recitation. The recitation meets for one hour a week.

After the demonstration of the ring in class, the students do spend two recitation sessions with the simulator: to