Question: #include using namespace std; // Function to find the waiting time for all processes void findWaitingTime(int processes[], int n, int bt[], int wt[], int quantum)

#include using namespace std; // Function to find the waiting time for all processes void findWaitingTime(int processes[], int n, int bt[], int wt[], int quantum) { // Make a copy of burst times bt[] to store remaining burst times int rem_bt[n]; for (int i = 0 ; i < n ; i++) rem_bt[i] = bt[i]; int t = 0; // Current time // Keep traversing processes in round robin manner until all of them are not done while (1) { bool done = true; // Traverse all processes one by one repeatedly for (int i = 0 ; i < n; i++) { // If burst time of a process is greater than 0 then only need to process further if (rem_bt[i] > 0) { done = false; // There is a pending process if (rem_bt[i] > quantum) { // Increase the value of t i.e. shows how much time a process has been processed t += quantum; // Decrease the burst_time of current process by quantum rem_bt[i] -= quantum; } // If burst time is smaller than or equal to quantum. Last cycle for this process else { // Increase the value of t i.e. shows how much time a process has been processed t = t + rem_bt[i]; // Waiting time is current time minus time used by this process wt[i] = t - bt[i]; // As the process gets fully executed make its remaining burst time = 0 rem_bt[i] = 0; } } } // If all processes are done if (done == true) break; } } // Function to calculate turn around time void findTurnAroundTime(int processes[], int n, int bt[], int wt[], int tat[]) { // calculating turnaround time by adding bt[i] + wt[i] for (int i = 0; i < n ; i++) tat[i] = bt[i] + wt[i]; } // Function to calculate average time void findavgTime(int processes[], int n, int bt[], int quantum) { int wt[n], tat[n], total_wt = 0, total_tat = 0; // Function to find waiting time of all processes findWaitingTime(processes, n, bt, wt, quantum); // Function to find turn around time for all processes findTurnAroundTime(processes, n, bt, wt, tat); // Display processes along with all details cout << "Processes "<< " Burst time " << " Waiting time " << " Turn around time "; // Calculate total waiting time and total turn around time for (int i=0; i Job (7) arrive at CPU cycle 292 Job (8) arrive at CPU cycle 337 Job (9) arrive at CPU cycle 345 CPU (92) I/O (98) I/O (84) CPU (82) I/O (84) I/O (86) CPU (85) CPU (82) I/O (97) CPU (94) CPU (96) I/O (97) CPU (95) I/O (100) I/O (94) I/O (88) CPU (89) I/O (83) CPU (98) I/O (81) CPU (85) I/O (85) CPU (93) I/O (88) I/O (84) CPU (88) CPU (89) I/O (82) CPU (88) CPU (95) CPU (93) CPU (87) CPU (96) I/O (98) CPU (100) I/O (91) CPU (98) CPU (85) CPU (94) CPU (84) I/O (98) CPU (88) CPU (84) CPU (84) CPU (90) CPU (93) CPU (93) CPU (95) CPU (97) I/O (94) CPU (93) I/O (94) CPU (84) I/O (100) I/O (83) CPU (93) CPU (89) I/O (96) I/O (84) I/O (88) CPU (97) CPU (94) I/O (88) CPU (84) I/O (99) I/O (82) I/O (89) I/O (92) I/O (97) CPU (93) CPU (98) CPU (93) CPU (81) CPU (86) I/O (87) I/O (84) I/O (85) CPU (90) I/O (96) CPU (95) CPU (100) I/O (96) CPU (90) CPU (92) I/O (84) CPU (86) I/O (97) I/O (99) CPU (100) CPU (81) CPU (85) I/O (93) I/O (85) I/O (88) I/O (87) I/O (85) CPU (82) I/O (87) I/O (96) I/O (91) CPU (85) I/O (97) CPU (91) I/O (96) I/O (92) CPU (81) I/O (85) CPU (95)

(a)modify the code follow the instruction below(b,c,d) (b) Use the program to read the provided job list. (c) Evaluate the job list with different time quantum: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60], by determining the the following performance metrics: (i) Turnaround time of the jobs; (ii) Waiting time of the jobs; and (iii) Number of interrupts incurred. (d) Recommend the best time quantum for your job list based on your evaluation in (c). Use suitable charts to explain and justify your recommendation.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!