Implementation of CPU scheduling algorithms to find turnaround time and waiting time.
Burst Time : Every process in a computer system requires some amount of time for its execution. Burst time is the total time taken by the process for its execution on the CPU.
Waiting Time : Waiting time is the total time spent by the process in the ready state waiting for CPU.
Waiting Time = Turn Around Time – Burst Time
Arrival Time : Arrival time is the time when a process enters into the ready state and is ready for its execution.
Turnaround Time : Turnaround time is the total amount of time spent by the process from coming in the ready state for the first time to its completion.
Turnaround time = Burst time + Waiting time or Turnaround time = Exit time – Arrival time
Program
#include<iostream.h> #include<conio.h> #define MAXLIMIT 20 void main(){ clrscr(); int n,burst_time[20],waiting_time[20],turnaround_time[20],avg_waiting_time=0,avg_turnaround_time=0,i,j; cout<<"Enter Total Number of Processes (Max 20): "; cin>>n; //Number of Process if(n>=MAXLIMIT){ cout<<"----Sorry :( MaxLimit is 20 You Enter "<<n<<" ----"; //End If }else{ cout<<"\nEnter Process Burst Time\n"; for(i=0;i<n;i++) { cout<<"P["<<i+1<<"]: "; cin>>burst_time[i]; } waiting_time[0]=0; //Waiting Time for First Process is 0 //Calculating Waiting Time for(i=1;i<n;i++){ waiting_time[i]=0; for(j=0;j<i;j++) waiting_time[i]+=burst_time[j]; } cout<<"\nProcess\t\tBurst Time\tWaiting Time\tTurnaround Time"; //Calculating Turnaround time for(i=0;i<n;i++){ turnaround_time[i] = burst_time[i]+waiting_time[i]; avg_waiting_time += waiting_time[i]; avg_turnaround_time += turnaround_time[i]; cout<<"\nP["<<i+1<<"]"<<"\t\t"<<burst_time[i]<<"\t\t"<<waiting_time[i]<<"\t\t"<<turnaround_time[i]; } avg_waiting_time/=i; avg_turnaround_time/=i; cout<<"\n\nAverage Waiting Time:"<<avg_waiting_time; cout<<"\nAverage Turnaround Time:"<<avg_turnaround_time; }//End Else getch(); //Hold Program Execution For Display }
Program Output
(Visited 293 times, 1 visits today)
Written by: