Based on classroom discussions, develop a solution that allows users to enter "jobs" from terminals. We'll simulate "reading" these by getting them from a Text File, and loading them into a Queue of type "Job". In real life, ppl would constantly be adding jobs to this queue. We're just going to load this "Input Job Queue / Input Job Spool" once.
Your input file will be a CSV file containing the following information in each record/line:
Jobname(8 chars max),job class(single u/c character,job priority1-99,runtime in seconds(used to simulate how long the job stays in the processor "running").
Your solution will then process the Input Job Spool (read whatever's in there and send to the appropriate Job Class Queue. Jobs sitting in this queue will be selected to run by a processor, based on the JobClass (a single character). Higher priority jobs should be selected first.
A job will only run in the processor dedicated to that JobClass. We'll simulate the time it runs by hardcoding a "runtime" for each job. The processor kicks out the job when the runtime has expired.
The program ends when there are no more jobs for the processors to run. At this point your program printis out the jobs in the output queue (jobs terminated by the processors) showing job name, start time, end time (columnar listing).
I will test your solution using my own set of input, so that I'll know by the output whether your solution worked properly.