Skip to content

malikwirin/prozessverwaltung

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Readme

Inhaltsverzeichnis

Installation

Zur Installation gibt es zwei Möglichkeiten. Entweder klont man das Repository und führt das Programm mit Cargo aus oder man lädt die Binary Datei herunter und legt sie entweder in ein Verzeichnis, das der Shell als Verzeichnis für Executables bekannt ist oder man gibt zur Ausführung den Pfad der Binärdatei an.

mit Cargo

Dependencies

  • Git
  • Cargo

Git ist wahrscheinlich bereits auf Ihrem System installiert. Cargo wird meistens in Rust mitgeliefert. Rust kann über den Packetmanager Ihrer Unix-Distribution installiert werden oder über rustup.rs.

Anleitung

Folgende Anweisungen sind möglicherweise Unix-spezifisch. Stelle sicher, dass Git und Cargo installiert sind.

git --version
cargo --version

Anschließend klonen Sie die Repository in eines von Ihnen bevorzugten Verzeichnissen.

git clone https://github.com/malikwirin/prozessverwaltung.git

mit der Binary

Aktuell nur für 64 Bit Linux. Ansonsten keine Dependencies.

Anleitung

Laden Sie die Binary mithilfe eines Webrowsers auf der Releasepage herunter. Legen Sie die Binary in das gewünschte Verzeichnis und machen es falls notwendig ausführbar.

Anwendung

Die Verwendung findet im Terminal statt. Zur Vorbereitung müssen die Prozesse in eine CSV Datei geschrieben werden analog zu diesem Beispiel. An dem Ort, wo das Programm ausgeführt wird, wird ein Verzeichnis mit dem Namen output erstellt falls noch nicht vorhanden. Dort wird eine Org-Datei abgelegt, die einen Überblick über die Simulation gibt.

Aufrufen des Programms

Zur Aufrufung des Programms gibt es drei Möglichkeiten je nach Installation. Entweder befindet man sich im Verzeichnis des Cargo Projekts so ruft man das Programm folgendermaßen auf:

cargo run #weitere Argumente

Falls sich die Binary im Pfad der Shell befindet:

prozessverwaltung #weitere Argumente

Ansonsten so:

/Pfad/zur/Binary/prozessverwaltung #weitere Argumente

Argumente

Das erste Argument ist der Pfad zur CSV-Datei. In dieser Datei werden die Prozesse mit Namen, ID, Ankunftszeit und Bearbeitungszeit beschrieben. Beispieldateien befinden sich in examples/input. Ohne einen Verweis auf eine CSV Datei wird das Programm nicht ausgeführt.

Das zweite Argument ist der Scheduling-Algorithmus. Ohne das Setzen eines Algorithmus wird das Programm nicht ausgeführt. Mehrere Ausdrücke können für das Bestimmen des Algorithmus benutzt werden. Eine einfache Lösung sind die Zahlen 1 bis 4. 1 für First Come First Serve; 2 für Round Robin; 3 für Non-preemptive Shortest Job First; 4 für Preemptive Shortest Job First

Weitere Argumente sind optional weil diese Werte setzen für die es Defaults gibt.

Mit dem dritten Argument setzt man die Umschaltzeit, also die Menge an Zeiteinheiten, die vergehen wenn der Prozess gewechselt wird, außer für den Round Robin Algorithmus. Der default Wert ist 0. Für Round Robin (RR) setzt man mit dem dritten Argument die Menge an Zeiteinheiten die ein Prozess auf einmal mximal bearbeitet wird. Der Default ist 3. Die Umschaltzeit wird mit dem vierten Argument gesetzt.

Beispiele

Folgendermaßen können Verwendungen im Terminal aussehen:

In diesem Fall wird Round Robin ausgeführt mit einer Umschaltzeit von von 2 Zeiteinheiten:

cargo run examples/input/Beispiel1.csv 1 2

Ergebnisse

Die Ergebnisse können in einer Org-Datei im Verzeichniss output angesehen werden. Diese Datei trägt das Datum und die Uhrzeit zum Zeitpunkt der Simulation. Zur Betrachtung von Org-Dateien empfehle ich GNU Emacs.

Berichte

Einen Vergleich zwischen verscheidenen Herangehensweisen finden Sie hier.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages