Modern Operating Systems Simulators
moss (Modern Operating Systems Simulators)
is a collection of Java-based
simulation programs which illustrate key concepts presented in the text
Andrew S. Tanenbaum,
Modern Operating System, Second Edition
The software is designed for students and instructors using this
material for this and other Tanenbaum texts is available from the author's
moss was written by
Ray Ontko and
with advice from
Andrew S. Tanenbaum
and support from
Send comments, suggestions, enhancements to Ray Ontko
Each simulator is packaged separately, and is available
for both Unix and Windows 95/98/Me/NT/2000 systems.
- Scheduling (Chapter 2)
The scheduling simulator illustrates the behavior of scheduling
algorithms against a simulated mix of process loads. The user can
specify the number of processes, the mean and standard deviation
for compute time and I/O blocking time for each process, and the
duration of the simulation. At the end of the simulation a
statistical summary is presented. Students may also be asked to
write their own scheduling algorithms to be used with process
loads defined by the instructor.
- Deadlocking (Chapter 3)
The deadlock simulator illustrates multiple processes competing
for one or more resources to investigate the nature and causes of
deadlock conditions and how they can be avoided, detected, and
resolved. The simulator includes a graphical user interface that
allows the student to step through the "programs" being
concurrently "executed" by each of the processes and see which
processes are blocked by which resources. A typical student lab
exercise might require students to write simple "programs" for
the simulator to investigate different kinds of resource
contention conditions. More advanced students might write a
deadlock manager (in Java) based on the template provided, and
test it using "programs" of their own design.
- Memory Management (Chapter 4)
The memory management simulator illustrates page fault behavior
in a paged virtual memory system. The program reads the initial
state of the page table and a sequence of virtual memory
instructions and writes a trace log indicating the effect of each
instruction. It includes a graphical user interface so that
students can observe page replacement algorithms at work. Students
may be asked to implement a particular page replacement algorithm
which the instructor can test by comparing the output from the
student's algorithm to that produced by a working implementation.
Alejandro Pérez Reyna, Juan Luis Gutierrez Pallares, and Ricardo
Bautista Santacruz of Benemérita Universidad Autonoma de
Puebla, México, provide a
of Belady's Anomaly.
- File System (Chapter 6)
The file system simulator shows the inner workings of a UNIX V7
file system. The simulator reads or creates a file which
represents the disk image, and keeps track of allocated
and free blocks using a bit map. A typical exercise might be for
students to write a program (in Java) which invokes various
simulated operating system calls against a well-known disk image
provided by the instructor. Students may also be asked to
implement indirect blocks, list-based free block managment, or
write a utility (like fsck) to check and repair the file system.
moss operating system simulators
Copyright (C) 2001, Prentice-Hall, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
A copy of the GPL is available online at the
GNU web site:
Java is a trademark of
Sun Microsystems, Inc., and refers to
Sun's Java programming language technology.
moss is not sponsored by or affiliated with Sun Microsystems, Inc.
This page maintained by Ray Ontko
Sunday, November 23, 2008