Question
Need help with fixing the code. Not able to run and getting a proper output. Question : Write a computer program simulating RR scheduling for
Need help with fixing the code. Not able to run and getting a proper output.
Question : Write a computer program simulating RR scheduling for the 5 processes with arrival and service times as shown in the table. Your program will show the progress of each process and calculate start time, end time, initial wait time, total wait time of each process. Quantum =10, context switch =0.
Programming Language is Java.
id | Service time | arrival time |
1 | 75 | 0 |
2 | 40 | 10 |
3 | 25 | 10 |
4 | 20 | 80 |
5 | 45 | 85 |
Need help to fix this Code:
//Program to implement Round Robin
import java.util.*;
@SuppressWarnings("unused") public class RoundRobin {
public static void findWaitingTime(int processes[],int wt_time[],int n, int bursttime[],int quantum, int completion_time[],int arrival_time[]) // copy the value of bursttime array into wt_time array { int rem_time[]=new int[n]; for(int i=0;i rem_time[i]=bursttime[i]; } int t=0; int arrival=0; //processing until the value of element of rem_time array is 0 while(true) { boolean done=true; for(int i=0;i { if(rem_time[i]>0) { done=false; if(rem_time[i]>quantum&&arrival_time[i]<=arrival) { t+=quantum; rem_time[i]-=quantum; arrival++; } else { if(arrival_time[i]<=arrival) { arrival++; t+=rem_time[i]; rem_time[i]=0; completion_time[i]=t; } } } } if(done==true) { break; } } } public static void findTurnAroundTime(int processes[],int wt_time[],int n,int bursttime[], int tat_time[],int completion_time[],int arrival_time[]) { for(int i=0;i tat_time[i]=completion_time[i]-arrival_time[i]; wt_time[i]=tat_time[i]-bursttime[i]; } } public static void findAvgTime(int processes[],int n,int bursttime[], int quantum, int arrival_time[]) { int wt_time[]=new int[n]; int tat_time[]=new int[n]; int completion_time[]=new int[n]; int total_wt=0; int total_tat=0; //Function to find waiting time of all process findWaitingTime(processes,wt_time,n,bursttime,quantum,completion_time,arrival_time); //Function to find turn around time for all processes findTurnAroundTime(processes,wt_time,n,bursttime,tat_time,completion_time,arrival_time); //Display processes along with all details System.out.println("Processes" + "Arrival Time\t" +"Burst time" +"completion time" +"Turn Around Time" +"Waiting Time"); for(int i=0;i { total_wt=total_wt + wt_time[i]; total_tat=total_tat + tat_time[i]; System.out.println(" " + (i+1) + "\t\t" + arrival_time[i] + "\t\t" + "bursttime[i]" +"\t" +completion_time[i] + "\t\t" + tat_time[i] + "\t\t" + wt_time[i]); } System.out.println("Average waiting time=" +(float)total_wt/(float)n); System.out.println("Average turn around time=" +(float)total_tat/(float)n); } //Driver Method public static void main(String[] args) {
int arrival_time[]=new int[]{0,10,10,80,85}; int bursttime[]= new int[] {75,40,25,20,45}; int processes[]=new int[] {1,2,3,4,5}; int n = processes.length; int quantum=10; findAvgTime(processes, n, bursttime, quantum, arrival_time); } }
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started