Asee peer logo

Writing Simulation Programs As A Tool For Understanding Internal Computer Processes

Download Paper |


2004 Annual Conference


Salt Lake City, Utah

Publication Date

June 20, 2004

Start Date

June 20, 2004

End Date

June 23, 2004



Conference Session

Computed Simulation and Animation

Page Count


Page Numbers

9.1432.1 - 9.1432.8

Permanent URL

Download Count


Request a correction

Paper Authors

author page

Michael Filsinger

Download Paper |

NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract

Session 2420

Writing Simulation Programs as a Tool for Understanding Internal Computer Processes Michael D. Filsinger University of Cincinnati


The usual approach to a hands-on understanding of process scheduling in a computer operating system is to either modify an existing operating system or use a pre-written simulation program. In an Engineering Technology program, the first approach can be too difficult for the level of programming expertise possessed by the students, while the second approach does not give enough of a hands-on feel. In my Operating Systems class, I have the students write their own simulations of process scheduling. This approach provides many of the same benefits of modifying an existing operating system, while keeping the complexity of the task relatively low. This approach has the side benefit of providing the students with valuable additional programming practice.


In our Computer Engineering Technology program, we teach two courses – Computer Architecture and Operating Systems – with a high theory content which can be difficult for a technology student to grasp. The difficulty lies in the fact that the details are buried deep within the relatively inaccessible core of the computer. Traditional approaches to this problem have been to use pre-existing simulation programs or, in the case of Operating Systems, to modify the kernel of an existing operating system. I have found that, given the lack of a strong Computer Science background among our students, a better approach to this problem is to have the students write simple simulations themselves. This technique provides a more intimate understanding of the processes they model while simultaneously giving the students valuable programming practice.

In this paper, I will examine one such problem from my Operating Systems course – modeling process scheduling algorithms. Computers are time-sharing devices: only one process can actually be using the CPU at any given instant. The procedure for selecting which process to run and for how long can have a strong impact on the performance of the system. Unfortunately, the scheduling algorithm is often buried deep within the core of the operating system. Furthermore, due to the non-deterministic nature of process introduction and completion, the effects of changing the algorithm are extremely difficult to measure under actual operating conditions.

By writing their own simulations of this process, students can filter out all of the distracting details and focus on the effects of changing the algorithm. Instead of actually running processes

Proceedings of the 2004 American Society for Engineering Education Annual Conference & Exposition Copyright © 2004, American Society for Engineering Education

Filsinger, M. (2004, June), Writing Simulation Programs As A Tool For Understanding Internal Computer Processes Paper presented at 2004 Annual Conference, Salt Lake City, Utah.

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: © 2004 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