Goal: Simulate a Process Scheduler and implement RR scheduling.

Input: A table of processes with their Names, Arrival Times, and Burst Times.

Output: Average waiting times and turnaround times for each process.

Description: Read the input file and schedule each process using RR. The user will select a quantum time by passing in an argument. (Default of 3 if they give nothing). The processes will be held in a FIFO queue. New processes are added to the end of the queue. Then, processes that complete their burst will be added to the queue. If a process completes before its quantum time, dispatch the next process right away.

The file format follows:

time by passing in an argument. (Default of 3 if they give nothing). The processes will be held in a FIFO queue. New processes are added to the end of the queue. Then, processes that complete their burst will be added to the queue. If a process completes before its quantum time, dispatch the next process right away.
The file format follows:
Lines beginning with # are comments (ignore)
All other lines have 3 items in this order:
o [ProcessName] [Arrival Time] [Burst Time]
Tips:
Test your program with various inputs
Use OOP best practices to keep your work organized
Consider a container class for processes, containing their relevant data
You may use Java’s data structures, but please no third party library
Design comes BEFORE implementation…
Feel free to be creative with your programs. Are you able to output a Gantt chart?
Deliverables:
Executable jar named [YOUR_NAME]Scheduler.jar
All source files
Readme.txt which explains how to run your program.
Any test data
Post-mortem
All of these in a zip file

Checklist

check component points

main program 15

RR 20

documentation 10

deliverables 5

gantt chart +5

Avoid

        bugs/runtime errors -x

unprofessional code -y

compilation errors -50+%