'");
+ System.exit(-1);
+ }
+ File f = new File(args[0]);
+ if (!(f.exists())) {
+ System.out.println("Scheduling: error, file '" + f.getName() + "' does not exist.");
+ System.exit(-1);
+ }
+ if (!(f.canRead())) {
+ System.out.println("Scheduling: error, read of " + f.getName() + " failed.");
+ System.exit(-1);
+ }
+ System.out.println("Working...");
+ Init(args[0]);
+ if (processVector.size() < processnum) {
+ i = 0;
+ while (processVector.size() < processnum) {
+ double X = Common.R1();
+ while (X == -1.0) {
+ X = Common.R1();
+ }
+ X = X * standardDev;
+ int cputime = (int) X + meanDev;
+ processVector.addElement(new sProcess(cputime,i*100,0,0,0));
+ i++;
+ }
+ }
+ result = SchedulingAlgorithm.Run(runtime, processVector, result);
+ try {
+ //BufferedWriter out = new BufferedWriter(new FileWriter(resultsFile));
+ PrintStream out = new PrintStream(new FileOutputStream(resultsFile));
+ out.println("Scheduling Type: " + result.schedulingType);
+ out.println("Scheduling Name: " + result.schedulingName);
+ out.println("Simulation Run Time: " + result.compuTime);
+ out.println("Mean: " + meanDev);
+ out.println("Standard Deviation: " + standardDev);
+ out.println("Process #\tCPU Time\tIO Blocking\tCPU Completed\tCPU Blocked");
+ for (i = 0; i < processVector.size(); i++) {
+ sProcess process = (sProcess) processVector.elementAt(i);
+ out.print(Integer.toString(i));
+ if (i < 100) { out.print("\t\t"); } else { out.print("\t"); }
+ out.print(Integer.toString(process.cputime));
+ if (process.cputime < 100) { out.print(" (ms)\t\t"); } else { out.print(" (ms)\t"); }
+ out.print(Integer.toString(process.ioblocking));
+ if (process.ioblocking < 100) { out.print(" (ms)\t\t"); } else { out.print(" (ms)\t"); }
+ out.print(Integer.toString(process.cpudone));
+ if (process.cpudone < 100) { out.print(" (ms)\t\t"); } else { out.print(" (ms)\t"); }
+ out.println(process.numblocked + " times");
+ }
+ out.close();
+ } catch (IOException e) { /* Handle exceptions */ }
+ System.out.println("Completed.");
+ }
+}
+
diff --git a/EOPSY/lab3/task3/work/SchedulingAlgorithm.class b/EOPSY/lab3/task3/work/SchedulingAlgorithm.class
new file mode 100644
index 00000000..aa9a28c2
Binary files /dev/null and b/EOPSY/lab3/task3/work/SchedulingAlgorithm.class differ
diff --git a/EOPSY/lab3/task3/work/SchedulingAlgorithm.java b/EOPSY/lab3/task3/work/SchedulingAlgorithm.java
new file mode 100644
index 00000000..47059ce7
--- /dev/null
+++ b/EOPSY/lab3/task3/work/SchedulingAlgorithm.java
@@ -0,0 +1,70 @@
+// Run() is called from Scheduling.main() and is where
+// the scheduling algorithm written by the user resides.
+// User modification should occur within the Run() function.
+
+import java.util.Vector;
+import java.io.*;
+
+public class SchedulingAlgorithm {
+
+ public static Results Run(int runtime, Vector processVector, Results result) {
+ int i = 0;
+ int comptime = 0;
+ int currentProcess = 0;
+ int previousProcess = 0;
+ int size = processVector.size();
+ int completed = 0;
+ String resultsFile = "Summary-Processes";
+
+ result.schedulingType = "Batch (Nonpreemptive)";
+ result.schedulingName = "First-Come First-Served";
+ try {
+ //BufferedWriter out = new BufferedWriter(new FileWriter(resultsFile));
+ //OutputStream out = new FileOutputStream(resultsFile);
+ PrintStream out = new PrintStream(new FileOutputStream(resultsFile));
+ sProcess process = (sProcess) processVector.elementAt(currentProcess);
+ out.println("Process: " + currentProcess + " registered... (" + process.cputime + " " + process.ioblocking + " " + process.cpudone + " " + process.cpudone + ")");
+ while (comptime < runtime) {
+ if (process.cpudone == process.cputime) {
+ completed++;
+ out.println("Process: " + currentProcess + " completed... (" + process.cputime + " " + process.ioblocking + " " + process.cpudone + " " + process.cpudone + ")");
+ if (completed == size) {
+ result.compuTime = comptime;
+ out.close();
+ return result;
+ }
+ for (i = size - 1; i >= 0; i--) {
+ process = (sProcess) processVector.elementAt(i);
+ if (process.cpudone < process.cputime) {
+ currentProcess = i;
+ }
+ }
+ process = (sProcess) processVector.elementAt(currentProcess);
+ out.println("Process: " + currentProcess + " registered... (" + process.cputime + " " + process.ioblocking + " " + process.cpudone + " " + process.cpudone + ")");
+ }
+ if (process.ioblocking == process.ionext) {
+ out.println("Process: " + currentProcess + " I/O blocked... (" + process.cputime + " " + process.ioblocking + " " + process.cpudone + " " + process.cpudone + ")");
+ process.numblocked++;
+ process.ionext = 0;
+ previousProcess = currentProcess;
+ for (i = size - 1; i >= 0; i--) {
+ process = (sProcess) processVector.elementAt(i);
+ if (process.cpudone < process.cputime && previousProcess != i) {
+ currentProcess = i;
+ }
+ }
+ process = (sProcess) processVector.elementAt(currentProcess);
+ out.println("Process: " + currentProcess + " registered... (" + process.cputime + " " + process.ioblocking + " " + process.cpudone + " " + process.cpudone + ")");
+ }
+ process.cpudone++;
+ if (process.ioblocking > 0) {
+ process.ionext++;
+ }
+ comptime++;
+ }
+ out.close();
+ } catch (IOException e) { /* Handle exceptions */ }
+ result.compuTime = comptime;
+ return result;
+ }
+}
diff --git a/EOPSY/lab3/task3/work/Summary-Processes b/EOPSY/lab3/task3/work/Summary-Processes
new file mode 100644
index 00000000..79c3844e
--- /dev/null
+++ b/EOPSY/lab3/task3/work/Summary-Processes
@@ -0,0 +1,30 @@
+Process: 0 registered... (2001 500 0 0)
+Process: 0 I/O blocked... (2001 500 500 500)
+Process: 1 registered... (2001 500 0 0)
+Process: 1 I/O blocked... (2001 500 500 500)
+Process: 0 registered... (2001 500 500 500)
+Process: 0 I/O blocked... (2001 500 1000 1000)
+Process: 1 registered... (2001 500 500 500)
+Process: 1 I/O blocked... (2001 500 1000 1000)
+Process: 0 registered... (2001 500 1000 1000)
+Process: 0 I/O blocked... (2001 500 1500 1500)
+Process: 1 registered... (2001 500 1000 1000)
+Process: 1 I/O blocked... (2001 500 1500 1500)
+Process: 0 registered... (2001 500 1500 1500)
+Process: 0 I/O blocked... (2001 500 2000 2000)
+Process: 1 registered... (2001 500 1500 1500)
+Process: 1 I/O blocked... (2001 500 2000 2000)
+Process: 0 registered... (2001 500 2000 2000)
+Process: 0 completed... (2001 500 2001 2001)
+Process: 1 registered... (2001 500 2000 2000)
+Process: 1 completed... (2001 500 2001 2001)
+Process: 2 registered... (2001 500 0 0)
+Process: 2 I/O blocked... (2001 500 500 500)
+Process: 2 registered... (2001 500 500 500)
+Process: 2 I/O blocked... (2001 500 1000 1000)
+Process: 2 registered... (2001 500 1000 1000)
+Process: 2 I/O blocked... (2001 500 1500 1500)
+Process: 2 registered... (2001 500 1500 1500)
+Process: 2 I/O blocked... (2001 500 2000 2000)
+Process: 2 registered... (2001 500 2000 2000)
+Process: 2 completed... (2001 500 2001 2001)
diff --git a/EOPSY/lab3/task3/work/Summary-Results b/EOPSY/lab3/task3/work/Summary-Results
new file mode 100644
index 00000000..fcc1d0d7
--- /dev/null
+++ b/EOPSY/lab3/task3/work/Summary-Results
@@ -0,0 +1,9 @@
+Scheduling Type: Batch (Nonpreemptive)
+Scheduling Name: First-Come First-Served
+Simulation Run Time: 6003
+Mean: 2001
+Standard Deviation: 0
+Process # CPU Time IO Blocking CPU Completed CPU Blocked
+0 2001 (ms) 500 (ms) 2001 (ms) 4 times
+1 2001 (ms) 500 (ms) 2001 (ms) 4 times
+2 2001 (ms) 500 (ms) 2001 (ms) 4 times
diff --git a/EOPSY/lab3/task3/work/description.txt b/EOPSY/lab3/task3/work/description.txt
new file mode 100644
index 00000000..1d5b4034
--- /dev/null
+++ b/EOPSY/lab3/task3/work/description.txt
@@ -0,0 +1,8 @@
+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.
diff --git a/EOPSY/lab3/task3/work/install_unix.html b/EOPSY/lab3/task3/work/install_unix.html
new file mode 100644
index 00000000..2ed3f10c
--- /dev/null
+++ b/EOPSY/lab3/task3/work/install_unix.html
@@ -0,0 +1,512 @@
+
+
+MOSS | Scheduling Simlulator | Installation |
+
+
+Unix
+
+
+
+
+
+MOSS Scheduling Simulator
+
+
+
Installation on Unix/Linux/Solaris/HP-UX Systems
+
+
+Purpose
+
+
+This document provides instructions for the installation
+of the MOSS Scheduling Simulator on
+
+
+Unix
+
+operating systems. This procedure should be the same or similar on
+
+
+Unix, Linux, Solaris, HP-UX and other Unix-compatible
+
+systems.
+The MOSS software
+is designed for use with
+Andrew S. Tanenbaum,
+Modern Operating Systems, 2nd Edition
+(Prentice Hall, 2001).
+The Scheduling Simulator was written by
+Alex Reeder
+(alexr@e-sa.org).
+This installation guide was written by
+Ray Ontko
+(rayo@ontko.com).
+
+This installation guide only provides information about installing
+the software and testing the configuration for
+
+Unix-like operating systems. To install on Windows
+operating systems, please read the
+Installation Guide for
+Win95/98/Me/NT/2000 Systems.
+
+
+For more detailed information about the simulator, please read the
+User Guide.
+
+Requirements
+
+The following software components are required
+to install and use the MOSS Scheduling
+Simulator.
+
+
+
+- X-windows environment for running Java Application Window Toolkit (AWT) programs
+
+
- Java Development Kit (JDK) 1.0 or greater
+
- Text program editor (e.g., notepad)
+
+
+Pre-Installation
+
+Before installation, you should verify:
+
+
+- that you have a working java runtime environment,
+
- that you have a working java development environment, and
+
- that the working directory is in the classpath for the runtime environment.
+
+
+If you're using a standard command-line java compiler, the following
+instructions will help determine if your environment is configured
+correctly.
+
+
+- Verify that you have java installed and configured in your environment.
+
+
+
+$ java -version
+
+
+You should see a message like this with possibly a different version number.
+
+java version "1.1.8"
+
+If you get a message like:
+
+
+
+java: Command not found.
+
+
+Then java may not be installed on your system, or may not be configured
+for your use.
+
+If you think that Java may already be installed on your system
+but may not be in your "path", you can find it by
+
+
+
+$ find /usr -name java -print
+
+On my system, for example, the following is returned.
+
+/usr/lib/netscape/477/communicator/java
+/usr/lib/netscape/477/netscape/java
+/usr/lib/jdk1.1/bin/java
+/usr/lib/jdk1.1/bin/ia32/green_threads/java
+/usr/share/java
+/usr/bin/java
+/usr/src/kernel-source-2.2.17/include/config/binfmt/java
+
+On my system, I also searched for "javac" and found
+that it exists in /usr/bin/java. I'll use this jdk for my
+installation.
+
+
+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.
+
+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.
+
+
+
+ - Verify that the java compiler is installed and configured in
+your environment.
+
+
+
+$ javac
+
+
+If you're using a standard java command-line compiler, you should
+see a message similar to this.
+
+use: javac [-g][-O][-debug][-depend][-nowarn][-verbose][-classpath path][-nowrite][-deprecation][-d dir][-J] file.java...
+
+If you get a message like:
+
+
+
+javac: Command not found.
+
+
+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.
+
+
+ - Verify that that the current directory is in your classpath.
+
+
+
+$ echo $CLASSPATH
+
+You should see a list of directories separated by colons (":")
+or possibly just a blank line. If you don't see the directory
+"." (a single period, which stands for the current directory), then
+you should add it to the claspath.
+
+Determine which shell you're using:
+
+
+$ echo $SHELL
+
+
+
+If you're using sh, ksh, or bash:
+
+
+$ CLASSPATH=.:$CLASSPATH
+$ export CLASSPATH
+
+
+
+If you're using csh, or tcsh:
+
+
+% set CLASSPATH=.:$CLASSPATH
+
+
+
+
+
+
+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.
+
+
+
+Installation
+
+Installation of the software can be accomplished with
+these simple steps:
+
+-
+
+
+Create a directory in which you wish to install the
+simulator (e.g., "moss/sched").
+
+$ cd
+$ mkdir moss
+$ cd moss
+$ mkdir sched
+$ cd sched
+
+
+
+
+ -
+
+
+Download the compressed tar archive (sched.tgz) into
+the directory.
+The latest release for this file can always be found at
+http://www.ontko.com/moss/sched/sched.tgz.
+
+
+
+
-
+
+
+Expand the compressed tar archive.
+
+$ tar -xzf sched.tgz
+
+or
+
+$ gunzip sched.tgz
+$ tar xf sched.tar
+
+
+
+
+
+Files
+
+The directory should now contain the following files:
+
+
+
+| Files
+ | Description
+ |
+|
+
+
+sched.tgz
+ | Compressed tar
+
+archive which contains all the other files.
+ |
+Common.java
+ Process.java
+ Results.java
+ Scheduling.java
+ SchedulingAlgorithm.java
+ sProcess.java
+ |
+Java source files (*.java)
+ |
+Common.class
+ Process.class
+ Results.class
+ Scheduling.class
+ SchedulingAlgorithm.class
+ sProcess.class
+ |
+Compiled Java class files (*.class)
+ |
+| scheduling.conf
+ | Sample configuration file
+ |
+install_unix.html
+ install_windows.html
+ user_guide.html
+ |
+Documentation
+ |
+| COPYING.TXT |
+Gnu General Public License: Terms and Conditions
+for Copying, Distribution, and Modification
+ |
+
+Compilation
+
+
+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.
+
+
+
+To determine which shell you're using:
+
+
+$ echo $SHELL
+
+
+
+If you're using sh, ksh, bash:
+
+
+$ CLASSPATH=.
+$ export CLASSPATH
+$ javac -nowarn *.java
+
+
+
+If you're using csh, tcsh:
+
+
+% set CLASSPATH=.
+% javac -nowarn *.java
+
+
+
+The -nowarn 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.
+
+Test
+
+
+To test the program, enter the following commands.
+
+
+
+
+$ java Scheduling scheduling.conf
+
+
+
+
+The program will simply run the simulation based on the
+information provided in scheduling.conf and write its
+output to the Summary-Results and
+Summary-Processes files. You should see the following
+output.
+
+Working...
+Completed.
+
+
+
+
+The simulation configuration information is read from a file called
+"scheduling.conf".
+The "scheduling.conf" file looks something like this:
+
+// # 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
+
+
+
+
+If things are working correctly, the "Summary-Results" file should look
+something like this:
+
+
+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
+
+
+
+and the "Summary-Processes" file should look something like
+this:
+
+
+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)
+
+
+
+
+The program and its input and output files are described
+more fully in the MOSS Scheduling Simulator
+User Guide.
+
+© Copyright 2001, Prentice-Hall, Inc.
+This program is free software; it is distributed under the
+terms of the Gnu General Public License.
+See COPYING.TXT,
+included with this distribution.
+
+Please send suggestions, corrections, and comments to
+Ray Ontko (rayo@ontko.com).
+
+Last updated: July 7, 2001
+
+
diff --git a/EOPSY/lab3/task3/work/install_windows.html b/EOPSY/lab3/task3/work/install_windows.html
new file mode 100644
index 00000000..acf1418f
--- /dev/null
+++ b/EOPSY/lab3/task3/work/install_windows.html
@@ -0,0 +1,467 @@
+
+
+MOSS | Scheduling Simlulator | Installation |
+
+Windows
+
+
+
+
+
+
+MOSS Scheduling Simulator
+
+
Installation on Windows 95/98/Me/NT/2000 Systems
+
+
+
+Purpose
+
+
+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
+Andrew S. Tanenbaum,
+Modern Operating Systems, 2nd Edition
+(Prentice Hall, 2001).
+The Scheduling Simulator was written by
+Alex Reeder
+(alexr@e-sa.org).
+This installation guide was written by
+Ray Ontko
+(rayo@ontko.com).
+
+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
+Installation Guide for
+Unix/Linux/Solaris/HP-UX Systems.
+
+For more detailed information about the simulator, please read the
+User Guide.
+
+Requirements
+
+The following software components are required
+to install and use the MOSS Scheduling
+Simulator.
+
+
+- Microsoft Windows 95, 98, Me, NT, or 2000
+
+
+
- Java Development Kit (JDK) 1.0 or greater
+
- Text program editor (e.g., notepad)
+
+
+Pre-Installation
+
+Before installation, you should verify:
+
+
+- that you have a working java runtime environment,
+
- that you have a working java development environment, and
+
- that the working directory is in the classpath for the runtime environment.
+
+
+If you're using a standard command-line java compiler, the following
+instructions will help determine if your environment is configured
+correctly.
+
+
+- Verify that you have java installed and configured in your environment.
+
+
+C:\WINDOWS> java -version
+
+
+
+You should see a message like this with possibly a different version number.
+
+java version "1.1.8"
+
+If you get a message like:
+
+
+Bad command or file name
+
+
+
+Then java may not be installed on your system, or may not be configured
+for your use.
+
+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").
+
+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.
+
+
+
+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.
+
+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.
+
+
+
+ - Verify that the java compiler is installed and configured in
+your environment.
+
+
+C:\WINDOWS> javac
+
+
+
+If you're using a standard java command-line compiler, you should
+see a message similar to this.
+
+use: javac [-g][-O][-debug][-depend][-nowarn][-verbose][-classpath path][-nowrite][-deprecation][-d dir][-J] file.java...
+
+If you get a message like:
+
+
+Bad command or file name
+
+
+
+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.
+
+
+ - Verify that that the current directory is in your classpath.
+
+
+C:\WINDOWS> echo "%CLASSPATH%"
+
+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.
+
+C:\WINDOWS> set CLASSPATH=.;%CLASSPATH%
+
+
+
+
+
+
+
+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.
+
+
+
+Installation
+
+Installation of the software can be accomplished with
+these simple steps:
+
+-
+
+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:
+
+C:\WINDOWS> cd \
+C:\> mkdir moss
+C:\> cd moss
+C:\moss> mkdir sched
+C:\moss> cd sched
+C:\moss\sched>
+
+
+
+
+
+ -
+
+Download the self-extracting ZIP archive (sched.exe) into
+the directory folder.
+The latest release for this file can always be found at
+http://www.ontko.com/moss/sched/sched.exe.
+
+
+
+
+
-
+
+Double-click on the file you downloaded (sched.exe),
+or invoke it using Start -> Run..., or invoke it
+from an MS-DOS command prompt:
+
+C:\moss\sched> sched.exe
+
+
+
+
+
+
+Files
+
+The directory should now contain the following files:
+
+
+
+| Files
+ | Description
+ |
+|
+
+sched.exe
+ | Self-extracting ZIP
+
+
+archive which contains all the other files.
+ |
+Common.java
+ Process.java
+ Results.java
+ Scheduling.java
+ SchedulingAlgorithm.java
+ sProcess.java
+ |
+Java source files (*.java)
+ |
+Common.class
+ Process.class
+ Results.class
+ Scheduling.class
+ SchedulingAlgorithm.class
+ sProcess.class
+ |
+Compiled Java class files (*.class)
+ |
+| scheduling.conf
+ | Sample configuration file
+ |
+install_unix.html
+ install_windows.html
+ user_guide.html
+ |
+Documentation
+ |
+| COPYING.TXT |
+Gnu General Public License: Terms and Conditions
+for Copying, Distribution, and Modification
+ |
+
+Compilation
+
+
+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.
+
+
+C:\moss\sched> javac -nowarn *.java
+
+
+
+
+The -nowarn 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.
+
+Test
+
+
+To test the program, enter the following commands.
+
+
+
+C:\moss\sched> java Scheduling scheduling.conf
+
+
+
+
+
+The program will simply run the simulation based on the
+information provided in scheduling.conf and write its
+output to the Summary-Results and
+Summary-Processes files. You should see the following
+output.
+
+Working...
+Completed.
+
+
+
+
+The simulation configuration information is read from a file called
+"scheduling.conf".
+The "scheduling.conf" file looks something like this:
+
+// # 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
+
+
+
+
+If things are working correctly, the "Summary-Results" file should look
+something like this:
+
+
+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
+
+
+
+and the "Summary-Processes" file should look something like
+this:
+
+
+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)
+
+
+
+
+The program and its input and output files are described
+more fully in the MOSS Scheduling Simulator
+User Guide.
+
+© Copyright 2001, Prentice-Hall, Inc.
+This program is free software; it is distributed under the
+terms of the Gnu General Public License.
+See COPYING.TXT,
+included with this distribution.
+
+Please send suggestions, corrections, and comments to
+Ray Ontko (rayo@ontko.com).
+
+Last updated: July 7, 2001
+
+
diff --git a/EOPSY/lab3/task3/work/sProcess.class b/EOPSY/lab3/task3/work/sProcess.class
new file mode 100644
index 00000000..e4652ed6
Binary files /dev/null and b/EOPSY/lab3/task3/work/sProcess.class differ
diff --git a/EOPSY/lab3/task3/work/sProcess.java b/EOPSY/lab3/task3/work/sProcess.java
new file mode 100644
index 00000000..c675ee75
--- /dev/null
+++ b/EOPSY/lab3/task3/work/sProcess.java
@@ -0,0 +1,15 @@
+public class sProcess {
+ public int cputime;
+ public int ioblocking;
+ public int cpudone;
+ public int ionext;
+ public int numblocked;
+
+ public sProcess (int cputime, int ioblocking, int cpudone, int ionext, int numblocked) {
+ this.cputime = cputime;
+ this.ioblocking = ioblocking;
+ this.cpudone = cpudone;
+ this.ionext = ionext;
+ this.numblocked = numblocked;
+ }
+}
diff --git a/EOPSY/lab3/task3/work/scheduling.conf b/EOPSY/lab3/task3/work/scheduling.conf
new file mode 100644
index 00000000..b41a5da2
--- /dev/null
+++ b/EOPSY/lab3/task3/work/scheduling.conf
@@ -0,0 +1,16 @@
+// # of Process
+numprocess 3
+
+// mean deivation
+meandev 2001
+
+// standard deviation
+standdev 0
+
+// process # I/O blocking
+process 500
+process 500
+process 500
+
+// duration of the simulation in milliseconds
+runtime 10000
diff --git a/EOPSY/lab3/task3/work/setUp b/EOPSY/lab3/task3/work/setUp
new file mode 100755
index 00000000..712df807
--- /dev/null
+++ b/EOPSY/lab3/task3/work/setUp
@@ -0,0 +1,9 @@
+echo "Creating ../work subdirectory"
+mkdir ../work
+cd ../work
+cp ../ftp/* .
+gzip -d sched.tgz
+tar -xvf sched.tar
+rm sched.tar
+echo ""
+echo "Now, go to the directory ../work and call 'make'"
diff --git a/EOPSY/lab3/task3/work/stdout.txt b/EOPSY/lab3/task3/work/stdout.txt
new file mode 100644
index 00000000..c98a1922
--- /dev/null
+++ b/EOPSY/lab3/task3/work/stdout.txt
@@ -0,0 +1,2 @@
+Working...
+Completed.
diff --git a/EOPSY/lab3/task3/work/user_guide.html b/EOPSY/lab3/task3/work/user_guide.html
new file mode 100644
index 00000000..7574ff39
--- /dev/null
+++ b/EOPSY/lab3/task3/work/user_guide.html
@@ -0,0 +1,574 @@
+
+
+Moss | Scheduling Simulator | User Guide
+
+
+
+MOSS Scheduling Simulator
+
User Guide
+
+Purpose
+
+
+This document is a user guide for the MOSS
+Scheduling Simulator. It explains how to use the simulator
+and describes the various input and output files used
+by the simulator.
+The MOSS software
+is designed for use with
+Andrew S. Tanenbaum,
+Modern Operating Systems, 2nd Edition
+(Prentice Hall, 2001).
+The Scheduling Simulator was written by
+Alex Reeder
+(alexr@e-sa.org).
+This user guide was written by
+Ray Ontko
+(rayo@ontko.com).
+
+
+This user guide assumes that you have already installed and tested
+the simulator. If you are looking for installation information,
+please read the
+Installation Guide for
+Unix/Linux/Solaris/HP-UX Systems or the
+Installation Guide for
+Win95/98/Me/NT/2000 Systems.
+
+
+Introduction
+
+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.
+
+
+
Running the Simulator
+
+
+The program reads
+a configuration file (scheduling.conf)
+and writes two output files (Summary-Results
+and Summary-Processes).
+
+To run the program, enter the following command line.
+
+
+$ java Scheduling scheduling.conf
+
+
+
+The program will display "Working..." while the simulation
+is working, and "Completed." when the simulation is complete.
+
+
+Working...
+Completed.
+
+
+
+The simulator reads parameters from the configuration file
+("scheduling.conf").
+It creates a
+specified number of processes, each of which blocks for
+input or output after a number of milliseconds that can be specified
+for each process. Each process is allowed to run for a
+randomly generated amount of time, with the amount of time
+constrained by a specified average (mean) in milliseconds,
+and standard deviations from that average. The simulation
+may also be bounded in the total length of its run.
+
+After reading the configuration file, the
+scheduling algorithm then "runs" the processes, causing
+each to block for input or output after the specified interval
+until all processes have completed their randomly generated
+amount of runtime, or until the maximum amount of runtime for
+the simulation is exceeded.
+
+As the simulation proceeds, a log file ("Summary-Processes")
+is generated which shows the activity of the scheduling algorithm
+as it considers each process in the process queue.
+
+After the simulation halts, a summary report ("Summary-Results")
+is generated which shows statistics for each process and for the
+simulation as a whole.
+
+
+The Configuration File
+
+
+The configuration file (scheduling.conf)
+is used to specify various parameters for the
+simulation, including:
+
+
+- the number of processes,
+
- the mean runtime for a process,
+
- the standard deviation in runtime for a process,
+
- for each process, how long the process runs before it blocks for input or
+output, and
+
- how long the simulation should run.
+
+
+Configuration File Options
+
+There are a number of options which can
+be specified in the configuration file. These are
+summarized in the table below.
+
+
+
+
+| Keyword |
+Values |
+Description |
+
+
+
+| numprocess |
+n |
+The number of processes to create for
+the simulation. |
+
+
+
+| meandev |
+n |
+The average length of time in milliseconds
+that a process should execute before terminating. |
+
+
+
+| standdev |
+n |
+The number of standard deviations from the
+average length of time a process should execute before terminating. |
+ |
+
+
+| process |
+n |
+The amount of time in milliseconds that
+the process should execute before blocking for input or output.
+There should be a separate process directive for
+each process specified by the numprocess directive. |
+
+
+
+| runtime |
+n |
+The maximum amount of time the simulation should run
+in milliseconds. |
+
+
+
+Sample Configuration File
+
+The "scheduling.conf" configuration file looks like this:
+
+
+// # 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
+
+
+
+The Summary-Results File
+
+
+The Summary-Results file contains a summary report describing
+the simulation and includes one line of summary information
+for each process. The fields and columns in the report
+are described in the following table.
+
+
+
+
+| Field |
+Description |
+
+
+
+| Scheduling Type: |
+The type of the scheduling algorithm used.
+The value displayed is "hard coded" in the SchedulingAlgorithm.java
+file. |
+
+
+
+| Scheduling Name: |
+The name of the scheduling algorithm used.
+The value displayed is "hard coded" in the SchedulingAlgorithm.java
+file. |
+
+
+
+| Simulation Run Time: |
+The number of milliseconds that the simulation
+ran. This may be less than or equal to the total amount of
+time specified by the "runtime" configuration parameter. |
+
+
+
+| Mean: |
+The average amount of runtime for the processes
+as specified by the "meandev" configuration parameter. |
+
+
+
+| Standard Deviation: |
+The standard deviation from the average
+amount of runtime for the processes as specified by the
+"standdev" configuration parameter. |
+
+
+
+| Process # |
+The process number assigned to the process
+by the simulator. The process number is between 0 and n-1,
+where n is the number specified by the "numprocess" configuration
+parameter. |
+
+
+
+| CPU Time |
+The randomly generated total runtime for the
+process in milliseconds. This is determined by the
+"meandev" and "standdev" parameters in the configuration
+file. |
+
+
+
+| IO Blocking |
+The amount of time the process runs before it
+blocks for input or output. This is specified for each process
+by a "process" directive in the configuration file. |
+
+
+
+| CPU Completed |
+The amount of runtime in milliseconds completed for
+the process. Note that this may be less than the CPU Time
+for the process if the simulator runs out of time as specified
+by the "runtime" configuration parameter. |
+
+
+
+| CPU Blocked |
+The number of times the process blocked for
+input or output during the simulation. |
+
+
+
+Sample Summary-Results File
+
+
+The output "Summary-Results" file looks something like this:
+
+
+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
+
+
+
+The Summary-Processes File
+
+
+The Summary-Processes file contains a log of the actions
+taken by the scheduling algorithm as it considers each
+process in the scheduling queue.
+
+
+Each line in the log file is of the following form:
+
+Process: process-number process-status... (cpu-time block-time accumulated-time accumulated-time)
+
+
+The fields in the line are described in the table below.
+
+
+
+
+| Field |
+Description |
+
+
+
+| process-number |
+The process number assigned to the process by the simulator.
+This is a number between 0 and n-1, where n is the
+value specified for the "numprocess" configuration parameter. |
+
+
+
+| process-status |
+The status of the process at this point
+in time. If "registered" then the process is under consideration
+by the scheduling algorithm. If "I/O blocked", then the
+scheduling algorithm has noticed that the process is blocked
+for input or output.
+If "completed", then the scheduling algorithm has noticed
+that the process has met or exceeded its allocated execution
+time. |
+
+
+
+| cpu-time |
+The total amount of run time allowed for this
+process. This number is randomly generated for the process
+based on the
+"meandev" and "standdev" values specified in the configuration
+file. |
+
+
+
+| block-time |
+The amount of time in milliseconds to execute
+before blocking process. This number is specified for the process
+by the "process" directive in the configuration file. |
+
+
+
+| accumulated-time |
+The total amount of time process has executed in
+milliseconds. (This number appears twice in the log file; one
+should be removed).
+ |
+
+
+
+Sample Summary-Processes File
+
+
+The output "Summary-Processes" file looks something like this:
+
+
+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)
+
+
+
+Suggested Exercises
+
+
+- Create a configuration file in which all processes run
+an average of 2000 milliseconds with a standard deviation of
+zero, and which are blocked for input or output every 500 milliseconds.
+Run the simulation for 10000 milliseconds with 2 processes.
+Examine the two output files. Try again for 5 processes. Try again for
+10 processes. Explain what's happening.
+
+
- Implement a round-robin scheduling algorithm. (Hint:
+see the Run() method in SchedulingAlgorithm.java).
+
+
+
+To Do
+
+
+- Consider changing the configuration parameter "meandev"
+to "run_time_average". The word "dev"
+doesn't belong here. It would be nice if this were
+the average amount of time a process runs before
+blocking for input or output instead of the total runtime.
+
+
+
- Consider changing the configuration parameter "standdev"
+to "run_time_stddev".
+It would be nice if this were the
+number of standard deviations from the average time a
+process runs before blocking for input or output instead
+of the total runtime.
+
+
+
- Consider renaming the "Run()" method in SchedulingAlgorithm
+to "run()". By convention in java, method names begin with
+a lowercase letter. Also, add some internal documentation
+to SchedulingAlgorithm to facilitate understanding by students
+and instructors, and add external documentation regarding
+the implementation of new scheduling algorithms to this user guide.
+
+
+
- Consider adding a configuration parameter for "block_time_average"
+which would be the average amount of time in milliseconds that a process
+remains blocked for input or output before resuming execution.
+This would help eliminate the need for the "process" directive.
+
+
+
- Consider adding a configuration parameter for "block_time_stddev"
+which would be the number of standard deviations from the average
+time a process remains blocked for input out output before
+resuming execution. This would help eliminate the need for the
+"process" directive.
+
+
+
- Consider adding a configuration parameter for "quantum" which
+specifies the number of milliseconds that a process is allowed to
+execute before being re-considered by the scheduling algorithm.
+
+
+
- Consider modifying the format of the Summary-Processes log file.
+The total cpu time for the process is repeated in the last column
+and should be eliminated. It would be nice if the total elapsed
+milliseconds (system clock) were present at the beginning of the line
+so that we can see when things happened exactly during the simulation.
+If we switch to the meanings of the various parameters as suggested
+above, we may want to rethink the overall format of the lines as
+well.
+
+
+
- Consider adding a configuration parameter for "summary_file" so that
+the name for the Summary-Results file can be specified
+in the configuration file.
+
+
+
- Consider adding a configuration parameter for "log_file" so
+that the name for the Summary-Processes file can be
+specified in the configuration file.
+
+
+
- Consider adding a graphical user
+interface that allowed the user to view the simulation
+as it proceeded. This might show a summary of the
+number of blocked processes and executable processes,
+the percentage of idle time, and even the current status
+of each process. This might be enabled by a configuration
+parameter "show_graphics true". A "step" button might
+allow the simulation to proceed 1000 milliseconds at a
+time, or a "run" button might allow it to update every
+1000 milliseconds until the simulation completes. A
+"reset" button might restart the simulation to its original
+values, and there might be menu options to allow the user
+to override the parameter values given in the configuration file.
+
+
+
+
+Copyright
+
+© Copyright 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 (see COPYING.TXT);
+if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Please send suggestions, corrections, and comments to
+Ray Ontko
+(rayo@ontko.com).
+
+Last updated: May 23, 2001
+
+
diff --git a/EOPSY/lab4/EOPSY_LAB_4_KRZYSZTOF_RUDNICKI.pdf b/EOPSY/lab4/EOPSY_LAB_4_KRZYSZTOF_RUDNICKI.pdf
new file mode 100644
index 00000000..4d4ab195
Binary files /dev/null and b/EOPSY/lab4/EOPSY_LAB_4_KRZYSZTOF_RUDNICKI.pdf differ
diff --git a/EOPSY/lab4/report/mm1.png b/EOPSY/lab4/report/mm1.png
new file mode 100644
index 00000000..b00a00e2
Binary files /dev/null and b/EOPSY/lab4/report/mm1.png differ
diff --git a/EOPSY/lab4/report/mm2.png b/EOPSY/lab4/report/mm2.png
new file mode 100644
index 00000000..6f27d5de
Binary files /dev/null and b/EOPSY/lab4/report/mm2.png differ
diff --git a/EOPSY/lab4/report/mm3.png b/EOPSY/lab4/report/mm3.png
new file mode 100644
index 00000000..d567bafc
Binary files /dev/null and b/EOPSY/lab4/report/mm3.png differ
diff --git a/EOPSY/lab4/report/mm4.png b/EOPSY/lab4/report/mm4.png
new file mode 100644
index 00000000..79df857f
Binary files /dev/null and b/EOPSY/lab4/report/mm4.png differ
diff --git a/EOPSY/lab4/report/mm5.png b/EOPSY/lab4/report/mm5.png
new file mode 100644
index 00000000..94e6c2b4
Binary files /dev/null and b/EOPSY/lab4/report/mm5.png differ
diff --git a/EOPSY/lab4/report/mm6.png b/EOPSY/lab4/report/mm6.png
new file mode 100644
index 00000000..5034d008
Binary files /dev/null and b/EOPSY/lab4/report/mm6.png differ
diff --git a/EOPSY/lab4/report/mm7.png b/EOPSY/lab4/report/mm7.png
new file mode 100644
index 00000000..8be5e189
Binary files /dev/null and b/EOPSY/lab4/report/mm7.png differ
diff --git a/EOPSY/lab4/report/report.aux b/EOPSY/lab4/report/report.aux
new file mode 100644
index 00000000..cbd59309
--- /dev/null
+++ b/EOPSY/lab4/report/report.aux
@@ -0,0 +1,51 @@
+\relax
+\providecommand\hyper@newdestlabel[2]{}
+\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
+\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
+\global\let\oldcontentsline\contentsline
+\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
+\global\let\oldnewlabel\newlabel
+\gdef\newlabel#1#2{\newlabelxx{#1}#2}
+\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
+\AtEndDocument{\ifx\hyper@anchor\@undefined
+\let\contentsline\oldcontentsline
+\let\newlabel\oldnewlabel
+\fi}
+\fi}
+\global\let\hyper@last\relax
+\gdef\HyperFirstAtBeginDocument#1{#1}
+\providecommand\HyField@AuxAddToFields[1]{}
+\providecommand\HyField@AuxAddToCoFields[2]{}
+\citation{Page Replacement Algorithms}
+\citation{Page Replacement Algorithms}
+\citation{Page Replacement Algorithms}
+\citation{pageWiki}
+\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{section.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Page replacement algorithms}{1}{subsection.1.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {paragraph}{First in First out}{1}{section*.1}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces PageFault.java file}}{1}{figure.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {paragraph}{Optimal Page Replacement}{1}{section*.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {paragraph}{Least Recently Used}{1}{section*.3}\protected@file@percent }
+\citation{mmuWiki}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Other}{2}{subsection.1.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {paragraph}{Memory Management Unit}{2}{section*.4}\protected@file@percent }
+\@writefile{toc}{\contentsline {paragraph}{Page fault}{2}{section*.5}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {2}Laboratory}{2}{section.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Instruction}{2}{subsection.2.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Configuration}{2}{subsection.2.2}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces memory.conf file}}{3}{figure.2}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces commands file}}{4}{figure.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Procedure}{5}{subsection.2.3}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces tracefile}}{6}{figure.4}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Very start of application}}{8}{figure.5}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces First step correctly mapped}}{9}{figure.6}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces 16th page correctly mapped}}{10}{figure.7}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces First page fault on 32th step}}{11}{figure.8}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces First in First out, we map page 0 physical to the page we just got page fault on}}{12}{figure.9}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces Again first in, first out}}{13}{figure.10}\protected@file@percent }
+\bibcite{mmuWiki}{1}
+\@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces Final view of application}}{14}{figure.11}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {3}Finishing comments}{14}{section.3}\protected@file@percent }
+\bibcite{faultWiki}{2}
+\bibcite{Page Replacement Algorithms}{3}
+\bibcite{pageWiki}{4}
diff --git a/EOPSY/lab4/report/report.fdb_latexmk b/EOPSY/lab4/report/report.fdb_latexmk
new file mode 100644
index 00000000..44476e60
--- /dev/null
+++ b/EOPSY/lab4/report/report.fdb_latexmk
@@ -0,0 +1,94 @@
+# Fdb version 3
+["pdflatex"] 1651873378 "report.tex" "report.pdf" "report" 1651873378
+ "/etc/texmf/web2c/texmf.cnf" 1649511474 475 c0e671620eb5563b2130f56340a5fde8 ""
+ "/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcti1000.tfm" 1136768653 2048 3777f70f4372b17e2d3fda2b5684af05 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx10.tfm" 1136768653 1328 c834bbb027764024c09d3d2bf908b5f0 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm" 1136768653 1324 c910af8c371558dc20f2d7822f66fe64 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1136768653 1524 4414a8315f39513458b80dfc63bff03a ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" 1136768653 1512 f21f83efb36853c0b70002322c1ab3ad ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm" 1136768653 1520 eccf95517727cb11801f4f1aee3a21b4 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1136768653 1288 655e228510b4c2a1abe905c368440826 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm" 1136768653 1292 296a67155bdbfc32aa9c636f21e91433 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" 1136768653 1300 b62933e007d01cfd073f79b963c01526 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm" 1136768653 1292 21c1c5bfeaebccffdb478fd231a0997d ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1136768653 1124 6c73e740cf17375f03eec0ee63599741 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" 1136768653 1116 933a60c408fc0a863a92debe84b2d294 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm" 1136768653 1120 8b7d695260f3cff42e636090a8002094 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmti10.tfm" 1136768653 1480 aa8e34af0eb6a2941b776984cf1dfdc4 ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb" 1248133631 34811 78b52f49e893bcba91bd7581cdc144c0 ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb" 1248133631 32080 340ef9bf63678554ee606688e7b5339d ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb" 1248133631 36299 5f9df58c2139e7edcf37c8fca4bd384d ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb" 1248133631 35752 024fb6c41858982481f6968b5fc26508 ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb" 1248133631 32722 d7379af29a190c3f453aba36302ff5a9 ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb" 1248133631 32362 179c33bbf43f19adbb3825bb4e36e57a ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1248133631 32569 5e5ddc8df908dea60932f3c484a54c0d ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb" 1248133631 37944 359e864bd06cde3b1cf57bb20757fb06 ""
+ "/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b ""
+ "/usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1575674566 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 ""
+ "/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1576625341 40635 c40361e206be584d448876bba8a64a3b ""
+ "/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty" 1576016050 33961 6b5c75130e435b2bfdb9f480a09a39f9 ""
+ "/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty" 1576625273 7734 b98cbb34c81f667027c1e3ebdbfce34b ""
+ "/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1576625223 8371 9d55b8bd010bc717624922fb3477d92e ""
+ "/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty" 1573336935 6902 30fdaf7dc5636b8e3afa306210c45cae ""
+ "/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty" 1572645307 1057 525c2192b5febbd8c1f662c9468335bb ""
+ "/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1575499628 8356 7bbb2c2373aa810be568c29e333da8ed ""
+ "/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty" 1576625065 31769 002a487f55041f8e805cfbf6385ffd97 ""
+ "/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1576878844 5412 d5a2436094cd7be85769db90f29250a6 ""
+ "/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty" 1576624944 13807 952b0226d4efca026f0e19dd266dcc22 ""
+ "/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1576624883 18552 1e1cc7b75da0dfaacce7cdcb27d306bf ""
+ "/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1576015897 19007 15924f7228aca6c6d184b115f4baa231 ""
+ "/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1576624663 7008 f92eaa0a3872ed622bbf538217cd2ab7 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty" 1576191570 19336 ce7ae9438967282886b3b036cfad1e4d ""
+ "/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty" 1576625391 3935 57aa3c3e203a5c2effb4d2bd2efbc323 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/base/article.cls" 1580683321 20023 e427dd9e17e239bf926ef3aab67fe35e ""
+ "/usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd" 1580683321 2471 93c7889092ef3d83d375b915c5381dfe ""
+ "/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd" 1580683321 2470 59e43b502a8bea3a12f4954945302e40 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo" 1580683321 8446 9874cccac5fee462272c582807dbbf56 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1579991033 13886 d1306dcf79a944f6988e688c1785f9ce ""
+ "/usr/share/texlive/texmf-dist/tex/latex/float/float.sty" 1137110151 6749 16d2656a1984957e674b149555f1ea1d ""
+ "/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty" 1578002852 41601 9cf6c5257b1bc7af01a58859749dd37a ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1465944070 1224 978390e9c2234eab29404bc21b268d1e ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def" 1515537368 17334 520b9b85ad8a2a48eda3f643e27a5179 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty" 1580683321 16932 04729abe63b66ec59ea56edcd722b058 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty" 1580683321 9067 1b996612394a52e1efe89c8bfe8a5892 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty" 1580683321 2590 e3b24ff953e5b58d924f163d25380312 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty" 1580683321 3976 d7fa7d81d2870d509d25b17d0245e735 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty" 1580250785 17914 4c28a13fc3d975e6e81c9bea1d697276 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def" 1579642962 50630 3d9728faf8630190cf601ce2cbe470d9 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty" 1579642962 238752 60dd338d71b6a4ab2192131f73dc908b ""
+ "/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty" 1579642962 13244 0070bcab7b5a88187847128d22faf4d8 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def" 1579642962 14134 32b36577d311ddb6522413c7581ee968 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1575152344 22520 c4c2dab203104295e1e618be7e5c0f5b ""
+ "/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def" 1580854751 25404 9d60f463a00d154207ec0048dee27cf0 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1279039959 678 4792914a8f45be57bb98413425e4c7af ""
+ "/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty" 1575499565 5766 13a9e8766c47f30327caf893ece86ac8 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg" 1568236792 1830 bbaba8afaf42cc048ec4d4ff73467521 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty" 1568236792 80511 830f3f1d3ab7448dd84233e9c2f6462c ""
+ "/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty" 1568236792 204271 6a0ce6b8dafb6c4a13b9036ab1717c77 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty" 1568236792 77022 32914f01b528131c47be2a1040d3856d ""
+ "/usr/share/texlive/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty" 1574631863 19963 36fd8e818f9f0f32e2db8413d4970122 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty" 1576624809 9878 9e94e8fa600d95f9c7731bb21dfb67a4 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1575674187 9715 b051d5b493d9fe5f4bc251462d039e5f ""
+ "/usr/share/texlive/texmf-dist/tex/latex/url/url.sty" 1388531844 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
+ "/usr/share/texlive/texmf-dist/web2c/texmf.cnf" 1581979058 38841 ce3692aa899bb693b90b87eaa5d4d84e ""
+ "/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc" 1565080000 2900 1537cc8184ad1792082cd229ecc269f4 ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfti1000.pfb" 1565080000 186554 e8f0fa8ca05e038f257a06405232745f ""
+ "/usr/share/texmf/web2c/texmf.cnf" 1581979058 38841 ce3692aa899bb693b90b87eaa5d4d84e ""
+ "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1649511498 4770781 1ed1abab22da9c3e2cc82e4db562318b ""
+ "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1649511522 8256308 efb305160d4d659dcd0c4df67bdfa340 ""
+ "mm1.png" 1651872367 13028 31af420353ece32f7494128003dbffaf ""
+ "mm2.png" 1651872375 13116 c3e873b1ba354ba43d7b6eb9470b0bd6 ""
+ "mm3.png" 1651872399 13219 94c9555ab465af789980738d5f1c2536 ""
+ "mm4.png" 1651872411 13219 831ca09a484aef81b028f35bcb2477a5 ""
+ "mm5.png" 1651872418 13185 8d670ae1494b8c40c74135a114fafefa ""
+ "mm6.png" 1651872426 13206 35c1d3862e02fa30a217bc45585960f1 ""
+ "mm7.png" 1651872466 14687 d757d7ec7fd0db9517bbf4d9bce1e180 ""
+ "report.aux" 1651873378 3899 9d93be87e479de6fc8cb4c757de8f751 "pdflatex"
+ "report.out" 1651873378 455 4916b4a3abc871847d3be1481c7d301d "pdflatex"
+ "report.tex" 1651873377 9779 3df555b282997bb28c357aee6eddcac8 ""
+ (generated)
+ "report.pdf"
+ "report.aux"
+ "report.log"
+ "report.out"
diff --git a/EOPSY/lab4/report/report.fls b/EOPSY/lab4/report/report.fls
new file mode 100644
index 00000000..c455e7b1
--- /dev/null
+++ b/EOPSY/lab4/report/report.fls
@@ -0,0 +1,164 @@
+PWD /home/kuchy/Zlew/Studia/NieNotatki/Projekty/nie_inzynierka/Programowanie/EOPSY/eopsy_rudnicki_lab/lab4/report
+INPUT /etc/texmf/web2c/texmf.cnf
+INPUT /usr/share/texmf/web2c/texmf.cnf
+INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf
+INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt
+INPUT report.tex
+OUTPUT report.log
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
+INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
+INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
+INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
+INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
+INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
+INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
+INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
+INPUT report.aux
+INPUT report.aux
+OUTPUT report.aux
+INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
+INPUT report.out
+INPUT report.out
+INPUT report.out
+INPUT report.out
+OUTPUT report.pdf
+INPUT ./report.out
+INPUT ./report.out
+OUTPUT report.out
+INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
+INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
+INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
+INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
+INPUT /usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx10.tfm
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmti10.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcti1000.tfm
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd
+INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map
+INPUT mm1.png
+INPUT ./mm1.png
+INPUT ./mm1.png
+INPUT mm2.png
+INPUT ./mm2.png
+INPUT ./mm2.png
+INPUT mm3.png
+INPUT ./mm3.png
+INPUT ./mm3.png
+INPUT mm4.png
+INPUT ./mm4.png
+INPUT ./mm4.png
+INPUT mm5.png
+INPUT ./mm5.png
+INPUT ./mm5.png
+INPUT mm6.png
+INPUT ./mm6.png
+INPUT ./mm6.png
+INPUT mm7.png
+INPUT ./mm7.png
+INPUT ./mm7.png
+INPUT report.aux
+INPUT ./report.out
+INPUT ./report.out
+INPUT /usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc
+INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb
+INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb
+INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb
+INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb
+INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb
+INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb
+INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb
+INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb
+INPUT /usr/share/texmf/fonts/type1/public/cm-super/sfti1000.pfb
diff --git a/EOPSY/lab4/report/report.log b/EOPSY/lab4/report/report.log
new file mode 100644
index 00000000..8260961a
--- /dev/null
+++ b/EOPSY/lab4/report/report.log
@@ -0,0 +1,436 @@
+This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2022.4.9) 6 MAY 2022 23:42
+entering extended mode
+ restricted \write18 enabled.
+ file:line:error style messages enabled.
+ %&-line parsing enabled.
+**report.tex
+(./report.tex
+LaTeX2e <2020-02-02> patch level 2
+L3 programming layer <2020-02-14> (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
+Document Class: article 2019/12/20 v1.4l Standard LaTeX document class
+(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
+File: size10.clo 2019/12/20 v1.4l Standard LaTeX file (size option)
+)
+\c@part=\count167
+\c@section=\count168
+\c@subsection=\count169
+\c@subsubsection=\count170
+\c@paragraph=\count171
+\c@subparagraph=\count172
+\c@figure=\count173
+\c@table=\count174
+\abovecaptionskip=\skip47
+\belowcaptionskip=\skip48
+\bibindent=\dimen134
+) (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
+Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
+\KV@toks@=\toks14
+)
+\lst@mode=\count175
+\lst@gtempboxa=\box45
+\lst@token=\toks15
+\lst@length=\count176
+\lst@currlwidth=\dimen135
+\lst@column=\count177
+\lst@pos=\count178
+\lst@lostspace=\dimen136
+\lst@width=\dimen137
+\lst@newlines=\count179
+\lst@lineno=\count180
+\lst@maxwidth=\dimen138
+ (/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
+File: lstmisc.sty 2019/09/10 1.8c (Carsten Heinz)
+\c@lstnumber=\count181
+\lst@skipnumbers=\count182
+\lst@framebox=\box46
+) (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
+File: listings.cfg 2019/09/10 1.8c listings configuration
+))
+Package: listings 2019/09/10 1.8c (Carsten Heinz)
+ (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
+Package: hyperref 2020/01/14 v7.00d Hypertext links for LaTeX
+ (/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
+Package: ltxcmds 2019/12/15 v1.24 LaTeX kernel commands for general use (HO)
+) (/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
+Package: iftex 2019/11/07 v1.0c TeX engine tests
+) (/usr/share/texlive/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty
+Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO)
+ (/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
+Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO)
+)
+Package pdftexcmds Info: \pdf@primitive is available.
+Package pdftexcmds Info: \pdf@ifprimitive is available.
+Package pdftexcmds Info: \pdfdraftmode found.
+) (/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
+Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO)
+) (/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
+Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO)
+) (/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
+Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO)
+) (/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
+Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO)
+) (/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
+Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO)
+) (/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
+Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO)
+) (/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
+Package: kvoptions 2019/11/29 v3.13 Key value format for package options (HO)
+)
+\@linkdim=\dimen139
+\Hy@linkcounter=\count183
+\Hy@pagecounter=\count184
+ (/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
+File: pd1enc.def 2020/01/14 v7.00d Hyperref: PDFDocEncoding definition (HO)
+Now handling font encoding PD1 ...
+... no UTF-8 mapping file for font encoding PD1
+) (/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
+Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO)
+) (/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
+Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO)
+)
+\Hy@SavedSpaceFactor=\count185
+\pdfmajorversion=\count186
+Package hyperref Info: Hyper figures OFF on input line 4547.
+Package hyperref Info: Link nesting OFF on input line 4552.
+Package hyperref Info: Hyper index ON on input line 4555.
+Package hyperref Info: Plain pages OFF on input line 4562.
+Package hyperref Info: Backreferencing OFF on input line 4567.
+Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
+Package hyperref Info: Bookmarks ON on input line 4800.
+\c@Hy@tempcnt=\count187
+ (/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
+\Urlmuskip=\muskip16
+Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc.
+)
+LaTeX Info: Redefining \url on input line 5159.
+\XeTeXLinkMargin=\dimen140
+ (/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
+Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO)
+ (/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
+Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO)
+))
+\Fld@menulength=\count188
+\Field@Width=\dimen141
+\Fld@charsize=\dimen142
+Package hyperref Info: Hyper figures OFF on input line 6430.
+Package hyperref Info: Link nesting OFF on input line 6435.
+Package hyperref Info: Hyper index ON on input line 6438.
+Package hyperref Info: backreferencing OFF on input line 6445.
+Package hyperref Info: Link coloring OFF on input line 6450.
+Package hyperref Info: Link coloring with OCG OFF on input line 6455.
+Package hyperref Info: PDF/A mode OFF on input line 6460.
+LaTeX Info: Redefining \ref on input line 6500.
+LaTeX Info: Redefining \pageref on input line 6504.
+ (/usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
+Package: atbegshi 2019/12/05 v1.19 At begin shipout hook (HO)
+)
+\Hy@abspage=\count189
+\c@Item=\count190
+\c@Hfootnote=\count191
+)
+Package hyperref Info: Driver (autodetected): hpdftex.
+ (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
+File: hpdftex.def 2020/01/14 v7.00d Hyperref driver for pdfTeX
+ (/usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
+Package: atveryend 2019-12-11 v1.11 Hooks at the very end of document (HO)
+Package atveryend Info: \enddocument detected (standard20110627).
+)
+\Fld@listcount=\count192
+\c@bookmark@seq@number=\count193
+ (/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
+Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO)
+ (/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
+Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO)
+)
+Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 286.
+)
+\Hy@SectionHShift=\skip49
+) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
+Package: graphicx 2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR)
+ (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
+Package: graphics 2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR)
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
+Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
+) (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
+File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
+)
+Package graphics Info: Driver file: pdftex.def on input line 105.
+ (/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
+File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
+))
+\Gin@req@height=\dimen143
+\Gin@req@width=\dimen144
+) (/usr/share/texlive/texmf-dist/tex/latex/float/float.sty
+Package: float 2001/11/08 v1.3d Float enhancements (AL)
+\c@float@type=\count194
+\float@exts=\toks16
+\float@box=\box47
+\@float@everytoks=\toks17
+\@floatcapt=\box48
+) (/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
+Package: geometry 2020/01/02 v5.9 Page Geometry
+ (/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
+Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead.
+)
+\Gm@cnth=\count195
+\Gm@cntv=\count196
+\c@Gm@tempcnt=\count197
+\Gm@bindingoffset=\dimen145
+\Gm@wd@mp=\dimen146
+\Gm@odd@mp=\dimen147
+\Gm@even@mp=\dimen148
+\Gm@layoutwidth=\dimen149
+\Gm@layoutheight=\dimen150
+\Gm@layouthoffset=\dimen151
+\Gm@layoutvoffset=\dimen152
+\Gm@dimlist=\toks18
+) (/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
+File: l3backend-pdfmode.def 2020-02-03 L3 backend support: PDF mode
+\l__kernel_color_stack_int=\count198
+\l__pdf_internal_box=\box49
+) (./report.aux)
+\openout1 = `report.aux'.
+
+LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7.
+LaTeX Font Info: ... okay on input line 7.
+LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7.
+LaTeX Font Info: ... okay on input line 7.
+LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7.
+LaTeX Font Info: ... okay on input line 7.
+LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7.
+LaTeX Font Info: ... okay on input line 7.
+LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 7.
+LaTeX Font Info: ... okay on input line 7.
+LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7.
+LaTeX Font Info: ... okay on input line 7.
+LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7.
+LaTeX Font Info: ... okay on input line 7.
+LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 7.
+LaTeX Font Info: ... okay on input line 7.
+\c@lstlisting=\count199
+\AtBeginShipoutBox=\box50
+Package hyperref Info: Link coloring OFF on input line 7.
+ (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
+Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section
+ (/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
+Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO)
+) (/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
+Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO)
+)
+\c@section@level=\count266
+)
+LaTeX Info: Redefining \ref on input line 7.
+LaTeX Info: Redefining \pageref on input line 7.
+LaTeX Info: Redefining \nameref on input line 7.
+ (./report.out) (./report.out)
+\@outlinefile=\write3
+\openout3 = `report.out'.
+
+ (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
+[Loading MPS to PDF converter (version 2006.09.02).]
+\scratchcounter=\count267
+\scratchdimen=\dimen153
+\scratchbox=\box51
+\nofMPsegments=\count268
+\nofMParguments=\count269
+\everyMPshowfont=\toks19
+\MPscratchCnt=\count270
+\MPscratchDim=\dimen154
+\MPnumerator=\count271
+\makeMPintoPDFobject=\count272
+\everyMPtoPDFconversion=\toks20
+) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
+Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf
+Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 485.
+ (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
+File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
+))
+*geometry* driver: auto-detecting
+*geometry* detected driver: pdftex
+*geometry* verbose mode - [ preamble ] result:
+* driver: pdftex
+* paper:
+* layout:
+* layoutoffset:(h,v)=(0.0pt,0.0pt)
+* modes:
+* h-part:(L,W,R)=(90.3375pt, 433.62001pt, 90.3375pt)
+* v-part:(T,H,B)=(90.3375pt, 614.295pt, 90.3375pt)
+* \paperwidth=614.295pt
+* \paperheight=794.96999pt
+* \textwidth=433.62001pt
+* \textheight=614.295pt
+* \oddsidemargin=18.0675pt
+* \evensidemargin=18.0675pt
+* \topmargin=-18.9325pt
+* \headheight=12.0pt
+* \headsep=25.0pt
+* \topskip=10.0pt
+* \footskip=30.0pt
+* \marginparwidth=65.0pt
+* \marginparsep=11.0pt
+* \columnsep=10.0pt
+* \skip\footins=9.0pt plus 4.0pt minus 2.0pt
+* \hoffset=0.0pt
+* \voffset=0.0pt
+* \mag=1000
+* \@twocolumnfalse
+* \@twosidefalse
+* \@mparswitchfalse
+* \@reversemarginfalse
+* (1in=72.27pt=25.4mm, 1cm=28.453pt)
+
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <12> on input line 12.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <8> on input line 12.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <6> on input line 12.
+(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
+File: lstlang1.sty 2019/09/10 1.8c listings language file
+)
+LaTeX Font Info: Trying to load font information for OMS+cmr on input line 22.
+ (/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
+File: omscmr.fd 2019/12/16 v2.5j Standard LaTeX font definitions
+)
+LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available
+(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 22.
+LaTeX Font Info: Trying to load font information for OML+cmr on input line 27.
+ (/usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd
+File: omlcmr.fd 2019/12/16 v2.5j Standard LaTeX font definitions
+)
+LaTeX Font Info: Font shape `OML/cmr/m/it' in size <10> not available
+(Font) Font shape `OML/cmm/m/it' tried instead on input line 27.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <7> on input line 29.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <5> on input line 29.
+ [1
+
+{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}pdfTeX warning (ext4): destination with the same identifier (name{figure.1}) has been already used, duplicate ignored
+
+\AtBegShi@Output ...ipout \box \AtBeginShipoutBox
+ \fi \fi
+l.62 \subsection
+ {Other}]
+LaTeX Font Info: Font shape `OML/cmr/m/n' in size <10> not available
+(Font) Font shape `OML/cmm/m/it' tried instead on input line 102.
+ [2] [3pdfTeX warning (ext4): destination with the same identifier (name{figure.2}) has been already used, duplicate ignored
+
+\AtBegShi@Output ...ipout \box \AtBeginShipoutBox
+ \fi \fi
+l.242 \end{figure}
+ ] [4pdfTeX warning (ext4): destination with the same identifier (name{figure.3}) has been already used, duplicate ignored
+
+\AtBegShi@Output ...ipout \box \AtBeginShipoutBox
+ \fi \fi
+l.242 \end{figure}
+ ] [5]
+
+File: mm1.png Graphic file (type png)
+