The simulator implements three different CPU scheduling algorithms. The simulator selects a process to run from the ready queue based on the scheduling algorithm chosen at runtime. Since the assignment intends to simulate a CPU scheduler, it does not require any actual process creation or execution. When the CPU scheduler chooses the next process, the simulator will simply print out which the process selected to run at that time. The simulator output is like a Gantt chart. 2. A Process is an object in this assignment storing integers which are its ID, arrival time, and CPU burst length. Another object in this assignment is the Scheduler which simulates the CPU scheduler for an operating system, the one chosen at runtime. The scheduler contains the ready queue and the only operations the scheduler performs is add and remove. The add operation adds a process into the ready queue into its appropriate spot within the ready queue according to the CPU scheduling algorithm, the one chosen at runtime. The remove operation removes a process from the ready queue according to the CPU scheduling algorithm, the one chosen at runtime. The scheduler implements the CPU scheduling algorithms: First Come First Serve, Shortest Remaining Time First which is the preemptive version of Shortest Job First, and Round Robin. 3. Create a driver class and make the name of the driver class Assignment2 and it should only contain only one method: public static void main(String args[]). The main method receives, via the command line arguments, the name of the CPU scheduler that your simulator program will use. If Round Robin is the CPU scheduler chosen, then the main method also receives the time quantum value via an additional command line argument. The main method opens the file assignment2.txt reading in the entire set of processes and initiates execution of the simulator program. Assume there is only a single processor with only one core. The main method itself should be fairly short. The command to launch the program using First Come First Serve scheduling:
#Sales Offer!| Get upto 25% Off: