DIR Return Create A Forum - Home
---------------------------------------------------------
Class Discussion
HTML https://srm.createaforum.com
---------------------------------------------------------
*****************************************************
DIR Return to: Operating System
*****************************************************
#Post#: 33--------------------------------------------------
Shortest Job First (SJF) - OS
DIR By: prannyll
Date: May 14, 2019, 2:25 pm
---------------------------------------------------------
[move]SHORTEST JOB FIRST[/move]
#include<stdio.h>
#include<conio.h>
void main()
{
int p|10|,n|10|, ch, i, j, temp;
int wsum=0, tsum=0, wavg=0, tavg=0;
clrscr();
printf(" --- SHORTEST JOB FIRST ---");
printf("\n Enter Processes : ");
scanf("%d", &ch);
printf(" Enter Execution Time For: \n");
for(i = 0; i < ch; i++)
{
printf(" P%d : ", i+1);
scanf("%d", &p|i|);
n|i| = i+1;
}
for(i = 0 ; i < ch; i++)
{
for(j = i+1; j < ch; j++)
{
if(p|i| > p|j|)
{
temp = p|i|;
p|i| = p|j|;
p|j| = temp;
temp = n|i|;
n|i| = n|j|;
n|j| = temp;
}
}
}
clrscr();
printf("\n Time Based Order :");
for(i = 0; i < ch; i++)
printf("\n P%d --> %d", n|i|, p|i|);
printf("\n\n Gantt Chart: \n");
for(i = 0; i < ch; i++)
printf(" P%d \t", i+1);
printf("\n");
for(i = 0; i < ch; i++)
printf(" %d \t", p|i|);
printf("\n\n
----------------------------------------------------------------------------\n");
printf(" PROCESS \t| ARRIVAL \t| BURST \t| WAITING \t|
TURNAROUND");
printf("\n
----------------------------------------------------------------------------");
for(i=0 ; i<ch ; i++)
{
wavg+=wsum;
tsum += p|i|;
printf("\n P%d \t\t| %d \t\t| %d \t\t| %d \t\t| %d",n|i|,
n|i|, p|i|, wsum, tsum);
wsum += p|i|;
tavg+=tsum;
}
printf("\n
----------------------------------------------------------------------------");
printf("\n Total Execution Time : %d", tsum);
printf("\n Average Waiting Time : %d", wavg/ch);
printf("\n Average Turnaround Time: %d", tavg/ch);
getch();
}
*****************************************************
Page 1 of 1