key word | value |
name | a single word, the name of the file (without the .run) |
comment | any characters, all on one line |
algorithm | FCFS, SJF, RR 5, etc. |
seed | an integer seed for the random number generator |
The rest of the file describes groups of processes.
A group is described with 7 lines in a similar format.
There may be as many groups as you like.
Blank lines are ignored.
A group looks like this:
key word | value |
numprocs | an integer representing the nunber of processes in this group |
firstarrival | a number giving the arrival time of the first process in the group. |
interarrival | a distribution giving interarrival times. |
duration | a distribution giving total CPU times of a process. |
cpuburst | a distribution giving CPU burst of a process. |
ioburst | a distribution giving IO burst of a process. |
basepriority | a number that is ignored by the simulator. |
When you perform a run, you get some numbers for CPU utilization, average waiting time, etc. These are not too useful unless you have something to compare them to.
An experiment is a collection of runs that have almost the same
parameters.
For example, you might keep everything the same and just change the algorithm.
An experiment is specified by a file that ends in .exp.
The first two lines are similar to that of a run file, giving the name
and a comment. The additional lines each start with the word run
and correspond to a given run.
Specify a run by naming the run file (without the .run).
The same run file can be reused, by following it with options that override
the contents of the run file.
The format of the options are similar to the lines of the run file.
Any number of options can modify a run file.
A configuration file is also necessary to tell the simulator which .run and .exp files to use as well as the names and location of the output files.
Look at the example files.
You can run the programs from here.