Home > moss

moss

Moss is a project mainly written in Java, based on the View license.

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 (Prentice-Hall, 2001). Chapter 4 - Memory Ma

= 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 (Prentice-Hall, 2001). The software is designed for students and instructors using this text. Additional supplemental material for this and other Tanenbaum texts is available from the author's site.

moss was written by Ray Ontko and Alexander Reeder with advice from Andrew S. Tanenbaum and support from Prentice-Hall.

Send comments, suggestions, enhancements to Ray Ontko ([email protected]).

Moss project is published here with the permission of Ray Ontko.

== 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.

Version hosted here contains some modifications, comparing to original version. Among them:

  • fixed all warnings (mostly deprecations)
  • switch to generic Vector
  • added ability to choose replacement algorithm and added Round Robin and LRU implementations
  • some refactoring of user interface code
  • fixed incorrect mapping of physical and virtual pages
  • switched UI from awt to swing
  • rewritten FIFO algorithm
  • added Balady's anomaly simulation config files

=== Balady's anomaly simulation

In files memoryBA1.conf memoryBA2.conf and commandsBA simulated situation described at {wiki page}[http://en.wikipedia.org/wiki/Belady's_anomaly] where one can clearly see Balady's anomaly.

=== More information

You can find a lot more information at the {official page}[http://www.ontko.com/moss] of the Moss project.

== Install

It is highly recommended to build and run this project using {Apache Maven}[http://maven.apache.org] project management and comprehension tool. {Download and install.}[http://maven.apache.org/download.html]

== Build

Go to moss directory cd /path/to/moss_dir Build project using Maven mvn clean install

= Run

Usage mvn exec:java -Dexec.mainClass="com.ontko.moss.MemoryManagement" -Dexec.args=" "

For example, mvn exec:java -Dexec.mainClass="com.ontko.moss.MemoryManagement" -Dexec.args="commands memory.conf"

=== Notes

  • Because of the Round Robin algorithm particularities it's necessary to map all physical pages starting from 0 successively.

== Development

Recent changes made to this program were made by Taras Tsugriy. So in case you have any questions about changes made in this version you can contact me.


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.

Previous:git_test