Empirical Lab Repository

Title: CPU Simulator, Part 2

Author: Dave Reed, Creighton University, davereed@creighton.edu

Possible Courses: Operating Systems

Empirical Concepts Introduced: simulation, system modeling

Computer Science Concepts Used: CPU scheduling, I/O interrupts, system performance (average turnaround, average wait time)

Summary: This assignment involves experimentation with a model of a CPU job scheduler (similar to Part 1). This more robust model of the CPU includes I/O interrupts. User jobs are represented as sequences of CPU burst, interspersed with I/O operations. When an I/O operation executes, the job is removed from the CPU and placed in a wait queue until the I/O operation completes. At that time, the job may return to the ready queue and wait its turn for the CPU.

The student is asked to perform several simulations, and then augment the program to maintain statistics on system performance. Questions encourage the student to form hypotheses about the behavior of the system under different operating conditions, and then verify their hypotheses using the simulator.