FCFS Static code

 

 

// FCFS Static code….

#include<stdio.h>   #include<unistd.h>  

int main() {              int n = 5; int i, j;

int AT[5] = {0, 2, 4, 6, 8};         int BT[5] = {3, 6, 4, 5, 2};

int CT[5], TAT[5], WT[5];

int total_TAT = 0, total_WT = 0; float avg_TAT, avg_WT; printf("Process\tAT\tBT\n");

for ( i = 0 ; i < n; i++) { printf("P%d\t%d\t%d\n", i + 1,AT[i], BT[i]);  } sleep(3);

 for (i=0; i < n – 1; i++) {

 for ( j = i + 1 ; j<n; j++) {

 if (AT[i] > AT[j]) {

 int temp=AT[i];

AT[i]=AT[j];

AT[j] = temp;

 temp=BT[i];

BT[i]=BT[j];

BT[j] = temp;

 }  }  }

CT[0]=AT[0] + BT[0];

for ( i = 1; i < n ;i++ ) {

 if(AT[i] > CT[i - 1]) {

CT[1] = AT[i] + BT[i];

}else{

CT[i] = CT[i - 1] + BT[i]; }}

 for ( i = 0; i < n ;i++) {

 TAT[i]=CT[i]-AT[i];

 for ( i = 0 i < n; i++) {

TAT [i] =CT[i]-AT[i]; 

WT[i]=TAT[i]-BT[i];

 total_TAT += TAT[i];

total WT += WT [i]; }

avg_TAT = (float)total_TAT / n;

avg WT= (float)total_WT/n; printf("\nProcess\tAT\tBT\tCT\tTAT\tWT\n");

for (i=0; i < n; i++) {

printf("P%d\t%d\t%d\t%d\t%d\t%d\n", i + 1 AT[i], BT[i], CT[i], TAT [i], WT[i]); } printf("\nAverage Turnaround Time: %.2f\n", avg_TAT);

printf("Average Waiting Time: %.2f\n", avg_WT);

return 0;

}

Comments