Your task is to simulate the working of different scheduling algorithms. Your program must implement a multi-level feedback queue for implementing these algorithms. Steps:
- Your simulation program must ask the user; how many algorithms you want to implement.
- After that, creates that number of queues.
- Each queue implements a different scheduling algorithm.
- For consistency, you should follow the following given sequence for implementing queues arranged in high-to-low priority: i. Priority Scheduling ii. Round Robin (Quantum=8) iii. Round Robin (Quantum=10) iv. First Come First Serve (FCFS)
- For Simplicity, you should implement the swapping between queues only from high-to- low priority queues not from low priority to high priority.
- Your program must take/read processes from the input file for scheduling.
- The file format is as; PID | Arrival Time | CPU Burst Time | Priority. All these are separated by “ ” space. Each process entry is in a new line.
- The priority value, higher value high priority, is useful for priority-based algorithms and optional for others.
- Upon successful scheduling of processes on all queues, your program must print the following for each implemented queue/scheduling algorithm:
i. All processes with their PID, arrival time, CPU burst time, waiting time, and turnaround time.
ii. Plus, the average waiting time and average turnaround time of each scheduling algorithm.