This lab simulates the following scheduling algorithms
A non-preemptive scheduling algorithm which serves the processes based on a first come first serve basis.
A non-preemptive scheduling algorithm which serves the processes in a round robin fashion.
Serves each process fully in the order in which they arrive
Similar to First Come First Serve, except the processes in the ready queue are served based on how much time left they nede to complete their process.
This class represents the scheduler and implements each algorithm specified above.
This class represents the processes which are to be run by each scheduling algorithm.
This class handles the main processesing of the input file which is then used to construct the proper Process objects used in the simulation. It also runs the main functionality of the lab.
This class is like an echo of Java's Random class, except ours is based on the input file given of random numbers.
This class implements the Comparator interface and is used in the implementation of the Shortest Job First scheduling algorithm.
This class also implements the Comparator interface and is used in the implementation of each scheduling algorithm. It is used to initially sort the process by their arrival time.