Diese Konsolenanwendung basiert auf First-Com-, First-Serve (FCFS), kürzestem Job First (SJF) und SRTF (kürzester Zeit zuerst) Planungsalgorithmen. Derzeit ist es in der Entwicklung, um mehr Algorithmen einzubeziehen, und eine Gantt -Diagramm -Funktion muss noch implementiert werden.
Die Kernlogik des FCFS -Algorithmus ist unkompliziert. Der erste Prozess hat immer eine Wartezeit von 0. Die Wartezeit eines Prozesses wird basierend auf der Burst -Zeit des vorherigen Prozesses und der Wartezeit des vorherigen Prozesses berechnet. Die Ausführungsreihenfolge folgt der Reihenfolge der Ankunft.
Der SJF-Algorithmus basiert auf einer Zustandsbasis, während eingehende Prozesse sortiert werden, während andere Prozesse noch ausgeführt werden. Es stellt sicher, dass die Burst -Zeit eines Prozesses Null wird, was auf die Fertigstellung hinweist, bevor er zum nächsten Prozess übergeht. Der Algorithmus priorisiert kürzere Burst -Zeiten und zielt darauf ab, die Wartezeiten zu minimieren.
Der SRTF -Algorithmus ist eine präventive Version des SJF -Algorithmus. Es wählt den Prozess mit der kürzesten verbleibenden Zeit für die Ausführung aus. Wenn ein neuer Prozess mit einer kürzeren Burst -Zeit als der aktuell ausführende Prozess eingeht, wird der SRTF -Algorithmus den aktuellen Prozess vorbeugen und auf den neuen, kürzeren Prozess wechseln.
Das Programm wurde mit einem objektorientierten Ansatz entwickelt, um die Wiederverwendbarkeit und Einfachheit zu verbessern. Die Schlüsselklassen umfassen:
Process :
AvgWTTAT -Methode zur Berechnung und Anzeige der durchschnittlichen Wartezeit und der Turnaround -Zeit für eine Reihe von Prozessen.Planungsalgorithmusklassen:
Schedule .Process an, wenden den jeweiligen Planungsalgorithmus an und aktualisieren die Warte- und Turnaround -Zeiten für jeden Prozess.Um das Prozessplanungsprogramm zu verwenden:
Fühlen Sie sich frei, den Code zu erkunden, ihn zu ändern und zusätzliche Planungsalgorithmen oder -funktionen gemäß Ihren Anforderungen zu implementieren.