Report Number: CSL-TR-94-631
Institution: Stanford University, Computer Systems Laboratory
Title: SimOS: A Fast Operating System Simulation Environment
Author: Rosenblum, Mendel
Author: Varadarajan, Mani
Date: July 1994
Abstract: In this paper we describe techniques for building a software
development environment for operating system software. These
techniques allow an operating system to be run at user-level
on a general-purpose operating system such as System V R4
Unix. The approach used in this work is to simulate a
machine's hardware using services provided by the underlying
operating system. We describe how to simulate the CPU using
the operating system's process abstraction, the memory
management unit using file mapping operations, and the I/O
devices using separate processes. The techniques we present
allow the simulator to run with sufficient speed and detail
that workloads that exercise bugs on the real machine can be
transferred and run in near real-time on the simulated
machine. The speed of the simulation depends on the quantity
and the cost of the simulated operations. Real programs
usually run in the simulated environment at between 50% and
100% of the speed of the underyling machine. The simulation
detail we provide allows an operating system running in the
simulated environment to be nearly indistinguishable from the
real machine from a user perspective.
http://i.stanford.edu/pub/cstr/reports/csl/tr/94/631/CSL-TR-94-631.pdf