mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-07-04 16:23:11 +02:00
468 lines
12 KiB
HTML
468 lines
12 KiB
HTML
<html>
|
|
<head>
|
|
<title>MOSS | Scheduling Simlulator | Installation |
|
|
|
|
Windows
|
|
|
|
|
|
</title>
|
|
</head>
|
|
<body bgcolor="#ffffff">
|
|
|
|
<h1>MOSS Scheduling Simulator
|
|
|
|
<br>Installation on Windows 95/98/Me/NT/2000 Systems</h1>
|
|
|
|
|
|
|
|
<h2>Purpose</h2>
|
|
|
|
<p>
|
|
This document provides instructions for the installation
|
|
of the MOSS Scheduling Simulator on
|
|
|
|
Microsoft Windows
|
|
|
|
|
|
operating systems. This procedure should be the same or similar on
|
|
|
|
Windows 95, 98, Me, NT, and 2000
|
|
|
|
|
|
systems.
|
|
The MOSS software
|
|
is designed for use with
|
|
<a href="http://www.cs.vu.nl/~ast/">Andrew S. Tanenbaum</a>,
|
|
<a href="http://vig.prenhall.com/catalog/academic/product/1,4096,0130313580,00.html">Modern Operating Systems, 2nd Edition</a>
|
|
(<a href="http://www.prenhall.com/">Prentice Hall</a>, 2001).
|
|
The Scheduling Simulator was written by
|
|
<a href="http://www.cs.earlham.edu/~odo/">Alex Reeder</a>
|
|
(<a href="mailto:alexr@e-sa.org"><i>alexr@e-sa.org</i></a>).
|
|
This installation guide was written by
|
|
<a href="http://www.ontko.com/~rayo/">Ray Ontko</a>
|
|
(<a href="mailto:rayo@ontko.com"><i>rayo@ontko.com</i></a>).
|
|
<p>
|
|
This installation guide only provides information about installing
|
|
the software and testing the configuration for
|
|
|
|
|
|
Windows operating systems. To install on Unix-like
|
|
operating systems, please read the
|
|
<a href="install_unix.html">Installation Guide for
|
|
Unix/Linux/Solaris/HP-UX Systems</a>.
|
|
|
|
For more detailed information about the simulator, please read the
|
|
<a href="user_guide.html">User Guide</a>.
|
|
</p>
|
|
<h2>Requirements</h2>
|
|
|
|
The following software components are required
|
|
to install and use the MOSS Scheduling
|
|
Simulator.
|
|
<ul>
|
|
|
|
<li>Microsoft Windows 95, 98, Me, NT, or 2000
|
|
|
|
|
|
<li>Java Development Kit (JDK) 1.0 or greater
|
|
<li>Text program editor (e.g., notepad)
|
|
</ul>
|
|
|
|
<h2>Pre-Installation</h2>
|
|
<p>
|
|
Before installation, you should verify:
|
|
</p>
|
|
<ul>
|
|
<li>that you have a working java runtime environment,
|
|
<li>that you have a working java development environment, and
|
|
<li>that the working directory is in the classpath for the runtime environment.
|
|
</ul>
|
|
<p>
|
|
If you're using a standard command-line java compiler, the following
|
|
instructions will help determine if your environment is configured
|
|
correctly.
|
|
</p>
|
|
<ol>
|
|
<li>Verify that you have java installed and configured in your environment.
|
|
|
|
<blockquote><pre>
|
|
C:\WINDOWS> java -version
|
|
</pre></blockquote>
|
|
|
|
|
|
You should see a message like this with possibly a different version number.
|
|
<blockquote><pre>
|
|
java version "1.1.8"
|
|
</pre></blockquote>
|
|
If you get a message like:
|
|
|
|
<blockquote><pre>
|
|
Bad command or file name
|
|
</pre></blockquote>
|
|
|
|
|
|
Then java may not be installed on your system, or may not be configured
|
|
for your use.
|
|
<p>
|
|
If you think that Java may already be installed on your system
|
|
but may not be in your "path", you can find it by
|
|
|
|
choosing Start -> Find -> Files or Folders
|
|
and enter "java.exe" in the "Named:" field and click the Find Now button.
|
|
If found, make note of the directory folder in which it resides (e.g.,
|
|
"C:\jdk1.1.8\bin").
|
|
<p>
|
|
While you're at it, also seach for javac.exe to see if the Java
|
|
compiler is installed and whether it's in the same directory as
|
|
the java.exe file.
|
|
|
|
|
|
<p>
|
|
If Java isn't available on your system, you should check with
|
|
your instructor or system administrator. If you administer your
|
|
own system, then you should be able to find a copy of Java
|
|
for your operating system.
|
|
<p>
|
|
If you find that java is installed but not configured for
|
|
your use, then perhaps you need to add it to your path. Consult
|
|
your instructor or system administrator if you need help adding this
|
|
to your path.
|
|
</p>
|
|
<p><!-- --></p>
|
|
|
|
<li>Verify that the java compiler is installed and configured in
|
|
your environment.
|
|
|
|
<blockquote><pre>
|
|
C:\WINDOWS> javac
|
|
</pre></blockquote>
|
|
|
|
|
|
If you're using a standard java command-line compiler, you should
|
|
see a message similar to this.
|
|
<blockquote><pre>
|
|
use: javac [-g][-O][-debug][-depend][-nowarn][-verbose][-classpath path][-nowrite][-deprecation][-d dir][-J<runtime flag>] file.java...
|
|
</pre></blockquote>
|
|
If you get a message like:
|
|
|
|
<blockquote><pre>
|
|
Bad command or file name
|
|
</pre></blockquote>
|
|
|
|
|
|
then the java compiler may not be installed on your system, or
|
|
may not be configured for your use. Consult your instructor
|
|
or system administrator.
|
|
<p><!-- --></p>
|
|
|
|
<li>Verify that that the current directory is in your classpath.
|
|
|
|
<blockquote><pre>
|
|
C:\WINDOWS> echo "%CLASSPATH%"
|
|
</pre></blockquote>
|
|
You should see a list of directories separated by semi-colons (";")
|
|
or possibly just "". If you don't see the directory "." (a single
|
|
period, which stands for the current directory), then you should
|
|
add it to the classpath.
|
|
<blockquote><pre>
|
|
C:\WINDOWS> set CLASSPATH=.;%CLASSPATH%
|
|
</pre></blockquote>
|
|
|
|
|
|
<p><!-- --></p>
|
|
|
|
</ol>
|
|
<p>
|
|
If you have a working java runtime environment, a working java
|
|
compiler, and the current directory is in your path, then you're
|
|
ready to proceed with the installation.
|
|
</p>
|
|
|
|
|
|
<h2>Installation</h2>
|
|
|
|
Installation of the software can be accomplished with
|
|
these simple steps:
|
|
<ol>
|
|
<li>
|
|
|
|
Create a directory folder in which you wish to install
|
|
the simulator (e.g., "C:\moss\sched"). You can do
|
|
this using the Windows explorer, or from the MS-DOS
|
|
prompt. To create the directory from the MS-DOS
|
|
prompt:
|
|
<blockquote><pre>
|
|
C:\WINDOWS> cd \
|
|
C:\> mkdir moss
|
|
C:\> cd moss
|
|
C:\moss> mkdir sched
|
|
C:\moss> cd sched
|
|
C:\moss\sched>
|
|
</pre></blockquote>
|
|
|
|
|
|
<p><!-- --></p>
|
|
|
|
<li>
|
|
|
|
Download the self-extracting ZIP archive (sched.exe) into
|
|
the directory folder.
|
|
The latest release for this file can always be found at
|
|
<a href="http://www.ontko.com/moss/sched/sched.exe">http://www.ontko.com/moss/sched/sched.exe</a>.
|
|
|
|
|
|
<p><!-- --></p>
|
|
|
|
<li>
|
|
|
|
Double-click on the file you downloaded (sched.exe),
|
|
or invoke it using Start -> Run..., or invoke it
|
|
from an MS-DOS command prompt:
|
|
<blockquote><pre>
|
|
C:\moss\sched> sched.exe
|
|
</pre></blockquote>
|
|
|
|
|
|
<p><!-- --></p>
|
|
|
|
</ol>
|
|
<h2>Files</h2>
|
|
<p>
|
|
The directory should now contain the following files:
|
|
</p>
|
|
<table border="1" cellspacing="0">
|
|
<tr>
|
|
<th>Files
|
|
<th>Description
|
|
<tr>
|
|
<td>
|
|
|
|
sched.exe
|
|
<td>Self-extracting ZIP
|
|
|
|
|
|
archive which contains all the other files.
|
|
<tr>
|
|
<td>Common.java
|
|
<br>Process.java
|
|
<br>Results.java
|
|
<br>Scheduling.java
|
|
<br>SchedulingAlgorithm.java
|
|
<br>sProcess.java
|
|
<td valign="top">
|
|
Java source files (*.java)
|
|
<tr>
|
|
<td>Common.class
|
|
<br>Process.class
|
|
<br>Results.class
|
|
<br>Scheduling.class
|
|
<br>SchedulingAlgorithm.class
|
|
<br>sProcess.class
|
|
<td valign="top">
|
|
Compiled Java class files (*.class)
|
|
<tr>
|
|
<td>scheduling.conf
|
|
<td>Sample configuration file
|
|
<tr>
|
|
<td>install_unix.html
|
|
<br>install_windows.html
|
|
<br>user_guide.html
|
|
<td valign="top">
|
|
Documentation
|
|
<tr>
|
|
<td>COPYING.TXT</td>
|
|
<td>Gnu General Public License: Terms and Conditions
|
|
for Copying, Distribution, and Modification
|
|
</table>
|
|
|
|
<h2>Compilation</h2>
|
|
|
|
<p>
|
|
The distribution includes compiled class files as
|
|
well as the source java files. You should not need
|
|
to recompile unless you decide to change the code.
|
|
If you wish to compile the code,
|
|
the following commands should work if you're using
|
|
a Java compiler that accepts the normal "javac" command
|
|
line.
|
|
|
|
<blockquote><pre>
|
|
C:\moss\sched> javac -nowarn *.java
|
|
</pre></blockquote>
|
|
|
|
|
|
|
|
The <tt>-nowarn</tt> flag supresses warning messges, of which
|
|
there may be several. For backward compatability we use only
|
|
those features of Java which have been present from the beginning,
|
|
some of which are deprecated and are usually reported by the
|
|
compiler with warning messages.
|
|
|
|
<h2>Test</h2>
|
|
|
|
<p>
|
|
To test the program, enter the following commands.
|
|
|
|
|
|
<blockquote><pre>
|
|
C:\moss\sched> java Scheduling scheduling.conf
|
|
</pre></blockquote>
|
|
|
|
|
|
|
|
<p>
|
|
The program will simply run the simulation based on the
|
|
information provided in <tt>scheduling.conf</tt> and write its
|
|
output to the <tt>Summary-Results</tt> and
|
|
<tt>Summary-Processes</tt> files. You should see the following
|
|
output.
|
|
<blockquote><pre>
|
|
Working...
|
|
Completed.
|
|
|
|
</pre></blockquote>
|
|
|
|
<p>
|
|
The simulation configuration information is read from a file called
|
|
"scheduling.conf".
|
|
The "scheduling.conf" file looks something like this:
|
|
<blockquote><pre>
|
|
// # of Process
|
|
numprocess 3
|
|
|
|
// mean deivation
|
|
meandev 1100
|
|
|
|
// standard deviation
|
|
standdev 510
|
|
|
|
// process # I/O blocking
|
|
process 100
|
|
process 500
|
|
process 30
|
|
|
|
// duration of the simulation in milliseconds
|
|
runtime 5000
|
|
|
|
</pre></blockquote>
|
|
|
|
<p>
|
|
If things are working correctly, the "Summary-Results" file should look
|
|
something like this:
|
|
|
|
<blockquote><pre>
|
|
Scheduling Type: Batch (Nonpreemptive)
|
|
Scheduling Name: First-Come First-Served
|
|
Simulation Run Time: 2750
|
|
Mean: 1100
|
|
Standard Deviation: 510
|
|
Process # CPU Time IO Blocking CPU Completed CPU Blocked
|
|
0 1372 (ms) 100 (ms) 1372 (ms) 13 times
|
|
1 689 (ms) 500 (ms) 689 (ms) 1 times
|
|
2 689 (ms) 30 (ms) 689 (ms) 22 times
|
|
|
|
</pre></blockquote>
|
|
|
|
and the "Summary-Processes" file should look something like
|
|
this:
|
|
|
|
<blockquote><pre>
|
|
Process: 0 registered... (1372 100 0 0)
|
|
Process: 0 I/O blocked... (1372 100 100 100)
|
|
Process: 1 registered... (689 500 0 0)
|
|
Process: 1 I/O blocked... (689 500 500 500)
|
|
Process: 0 registered... (1372 100 100 100)
|
|
Process: 0 I/O blocked... (1372 100 200 200)
|
|
Process: 1 registered... (689 500 500 500)
|
|
Process: 1 completed... (689 500 689 689)
|
|
Process: 0 registered... (1372 100 200 200)
|
|
Process: 0 I/O blocked... (1372 100 300 300)
|
|
Process: 2 registered... (689 30 0 0)
|
|
Process: 2 I/O blocked... (689 30 30 30)
|
|
Process: 0 registered... (1372 100 300 300)
|
|
Process: 0 I/O blocked... (1372 100 400 400)
|
|
Process: 2 registered... (689 30 30 30)
|
|
Process: 2 I/O blocked... (689 30 60 60)
|
|
Process: 0 registered... (1372 100 400 400)
|
|
Process: 0 I/O blocked... (1372 100 500 500)
|
|
Process: 2 registered... (689 30 60 60)
|
|
Process: 2 I/O blocked... (689 30 90 90)
|
|
Process: 0 registered... (1372 100 500 500)
|
|
Process: 0 I/O blocked... (1372 100 600 600)
|
|
Process: 2 registered... (689 30 90 90)
|
|
Process: 2 I/O blocked... (689 30 120 120)
|
|
Process: 0 registered... (1372 100 600 600)
|
|
Process: 0 I/O blocked... (1372 100 700 700)
|
|
Process: 2 registered... (689 30 120 120)
|
|
Process: 2 I/O blocked... (689 30 150 150)
|
|
Process: 0 registered... (1372 100 700 700)
|
|
Process: 0 I/O blocked... (1372 100 800 800)
|
|
Process: 2 registered... (689 30 150 150)
|
|
Process: 2 I/O blocked... (689 30 180 180)
|
|
Process: 0 registered... (1372 100 800 800)
|
|
Process: 0 I/O blocked... (1372 100 900 900)
|
|
Process: 2 registered... (689 30 180 180)
|
|
Process: 2 I/O blocked... (689 30 210 210)
|
|
Process: 0 registered... (1372 100 900 900)
|
|
Process: 0 I/O blocked... (1372 100 1000 1000)
|
|
Process: 2 registered... (689 30 210 210)
|
|
Process: 2 I/O blocked... (689 30 240 240)
|
|
Process: 0 registered... (1372 100 1000 1000)
|
|
Process: 0 I/O blocked... (1372 100 1100 1100)
|
|
Process: 2 registered... (689 30 240 240)
|
|
Process: 2 I/O blocked... (689 30 270 270)
|
|
Process: 0 registered... (1372 100 1100 1100)
|
|
Process: 0 I/O blocked... (1372 100 1200 1200)
|
|
Process: 2 registered... (689 30 270 270)
|
|
Process: 2 I/O blocked... (689 30 300 300)
|
|
Process: 0 registered... (1372 100 1200 1200)
|
|
Process: 0 I/O blocked... (1372 100 1300 1300)
|
|
Process: 2 registered... (689 30 300 300)
|
|
Process: 2 I/O blocked... (689 30 330 330)
|
|
Process: 0 registered... (1372 100 1300 1300)
|
|
Process: 0 completed... (1372 100 1372 1372)
|
|
Process: 2 registered... (689 30 330 330)
|
|
Process: 2 I/O blocked... (689 30 360 360)
|
|
Process: 2 registered... (689 30 360 360)
|
|
Process: 2 I/O blocked... (689 30 390 390)
|
|
Process: 2 registered... (689 30 390 390)
|
|
Process: 2 I/O blocked... (689 30 420 420)
|
|
Process: 2 registered... (689 30 420 420)
|
|
Process: 2 I/O blocked... (689 30 450 450)
|
|
Process: 2 registered... (689 30 450 450)
|
|
Process: 2 I/O blocked... (689 30 480 480)
|
|
Process: 2 registered... (689 30 480 480)
|
|
Process: 2 I/O blocked... (689 30 510 510)
|
|
Process: 2 registered... (689 30 510 510)
|
|
Process: 2 I/O blocked... (689 30 540 540)
|
|
Process: 2 registered... (689 30 540 540)
|
|
Process: 2 I/O blocked... (689 30 570 570)
|
|
Process: 2 registered... (689 30 570 570)
|
|
Process: 2 I/O blocked... (689 30 600 600)
|
|
Process: 2 registered... (689 30 600 600)
|
|
Process: 2 I/O blocked... (689 30 630 630)
|
|
Process: 2 registered... (689 30 630 630)
|
|
Process: 2 I/O blocked... (689 30 660 660)
|
|
Process: 2 registered... (689 30 660 660)
|
|
Process: 2 completed... (689 30 689 689)
|
|
|
|
</pre></blockquote>
|
|
|
|
<p>
|
|
The program and its input and output files are described
|
|
more fully in the <i>MOSS Scheduling Simulator
|
|
<a href="user_guide.html">User Guide</a></i>.
|
|
<p>
|
|
© Copyright 2001, Prentice-Hall, Inc.
|
|
This program is free software; it is distributed under the
|
|
terms of the Gnu General Public License.
|
|
See <a href="COPYING.TXT">COPYING.TXT</a>,
|
|
included with this distribution.
|
|
<p>
|
|
Please send suggestions, corrections, and comments to
|
|
Ray Ontko (<A href="mailto:rayo@ontko.com"><i>rayo@ontko.com</i></a>).
|
|
<p>
|
|
<i>Last updated: July 7, 2001</i>
|
|
</body>
|
|
</html>
|