0% found this document useful (0 votes)
19 views2 pages

Osy Exp 14

The document describes a C program that uses the First Come First Serve (FCF) scheduling algorithm to calculate metrics for 4 processes with given burst times. The program calculates: 1) The turn around time and waiting time for each process 2) The average turn around time and waiting time of all processes 3) It displays the results, including individual process details and overall averages

Uploaded by

Paras Kamble
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views2 pages

Osy Exp 14

The document describes a C program that uses the First Come First Serve (FCF) scheduling algorithm to calculate metrics for 4 processes with given burst times. The program calculates: 1) The turn around time and waiting time for each process 2) The average turn around time and waiting time of all processes 3) It displays the results, including individual process details and overall averages

Uploaded by

Paras Kamble
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

OSY EXP 14

Program Code :
Q1) Consider the processes P1, P2, P3, P4 given in the below table, arrive for execution in same order with arrival
time 0, and Given Burst time. Find using the FCFS scheduling algorithm.
1. Turn around Time for each process
2. Waiting Time for each process
3. Average Turn Around Time
4. Average Waiting Time

Process Burst Time


P1 21
P2 6
P3 3
P4 2

CODE:
#include<stdio.h>
// Function to find the waiting time for all processes
//Hawaiza Siddiqui 19431
void findWaitingTime(int processes[], int n,
int bt[], int wt[])
{
// waiting time for first process is 0
wt[0] = 0;

// calculating waiting time


for (int i = 1; i < n ; i++ )
wt[i] = bt[i-1] + wt[i-1] ;
}

// 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 wt[n], tat[n], total_wt = 0, total_tat = 0;

//Function to find waiting time of all processes


findWaitingTime(processes, n, bt, wt);
//Function to find turn around time for all processes
findTurnAroundTime(processes, n, bt, wt, tat);

//Display processes along with all details


printf("Processes Burst time Waiting time Turn around time\n");
OSY EXP 14

// Calculate total waiting time and total turn


// around time
for (int i=0; i<n; i++)
{
total_wt = total_wt + wt[i];
total_tat = total_tat + tat[i];
printf(" %d ",(i+1));
printf("\t %d ", bt[i] );
printf("\t %d",wt[i] );
printf("\t %d\n",tat[i] );
}
int s=(float)total_wt / (float)n;
int t=(float)total_tat / (float)n;
printf("Average waiting time = %d",s);
printf("\n");
printf("Average turn around time = %d \n",t);
}

int main()
{
int processes[] = { 1, 2, 3, 4};
int n = sizeof processes / sizeof processes[0];

//Burst time of all processes


int burst_time[] = {21, 6, 3, 2};

findavgTime(processes, n, burst_time);
return 0;
}
OUTPUT:

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy