Washington, District of Columbia
June 23, 1996
June 23, 1996
June 26, 1996
1.37.1 - 1.37.6
A SIMULATION PROJECT FOR AN OPERATING SYSTEMS COURSE
John K. Estell The University of Toledo
1. INTRODUCTION One of the dilemmas facing instructors of introductory operating systems courses is the development of suitable programming assignments. It is desirable to expose undergraduate students to realistic projects that allow them to apply the theoretical concepts learned in lecture; however, great care must be taken not to overwhelm the student enrolled in this course. Several methodologies have been discussed in the literature over the years, one of which is the use of simulation. Various papers have described the use of generic simulators being provided as a framework, writing a multitasking operating system in assembly language for use on a 2 , IBM Virtual Machine , developing an operating system for a provided virtual hardware simulator and 4 developing the simulation of the machine along with the operating system .One popular simulation package is 5 the Nachos system , w one is provided with the code for a working instructional operating systetn along here with a machine simulator. The use of simulated machines allows for the avoidance of such potential problems as architectural idiosyncrasies and programming in a complex and unfamiliar language. Another dilemma is dealing with the abstract nature of a process. Students initially look at a process as being the same as a program, for that is how it appears to them as a user when they are learning how to program: same thing, different names. Now that they have to deal with the internals of a multitasking operating system, students are left trying to cope with theoretical concepts that are not well defined. Additionally, the dynamic and concurrent nature of processes on a multitasking system departs from the sequential concepts they have been exposed to in their previous studies. In order to grasp an understanding of the nature of a process, students need to work with processes, and the greater the immersion, the greater will be their comprehension. This paper presents a group project used as a programming assignment for groups of three to four students in a junior-level introductory operating systems course. The quarter-long assignment, written in C on a UNIX platform, was broken down into four phases: the initial simulation of the specified computer architecture and accompanying machine language with the incorporation of a process management model, the development of process scheduling routines for handling the simultaneous execution of multiple processes, the development of performance evaluation programs to filter data generated by the simulator, and an extension to the simulator initiated and designed by each group. Test programs modelling various types of processes were developed and executed using the simulation and evaluation programs. The results were used to examine the performance of several process scheduling algorithms under a variety of conditions. Through the development and implementation of this project, the students gained experience with processes, obtained insight into the nature of an operating system, learned about simulation methods and furthered their understanding of how computers operate at the machine instruction level.
?$hx~} 1996 ASEE Annual Conference Proceedings ‘.J~M&l# .
Estell, J. K. (1996, June), A Simulation Project For An Operating Systems Course Paper presented at 1996 Annual Conference, Washington, District of Columbia. https://peer.asee.org/6286
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 1996 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015