Professional Documents
Culture Documents
1.
#include <bits/stdc++.h>
using namespace std;
struct Process {
int pid; // Process ID
int bt; // Burst Time
int art; // Arrival Time
};
{
int rt[n];
if (check == false) {
t++;
continue;
}
// Update minimum
minm = rt[shortest];
if (minm == 0)
minm = INT_MAX;
if (rt[shortest] == 0) {
complete++;
check = false;
if (wt[shortest] < 0)
wt[shortest] = 0;
}
// Increment time
t++;
}
}
findWaitingTime(proc, n, wt);
// Driver code
int main()
{
Process proc[] = { { P1, 5, 5 }, { P2, 4, 6},
{ P3, 3, 7 }, { P4, 1, 9 }, {P5,2,2 }, {P6,6,3} };
int n = sizeof(proc) / sizeof(proc[0]);
findavgTime(proc, n);
return 0;
}
2.
#include<stdio.h>
#include <stdlib.h>
printf("Gantt Chart:\n");
//fprintf(output,"Gantt Chart:\n");
for (int i=0; i<n; i++)
{
for(int j=0;j<execution_time[i];j++)
{
if(j == 0)
{
printf("|");
//fprintf(output,"|");
}
if(j == (execution_time[i]/2))
{
printf("J%d",processes[i]);
//fprintf(output,"J%d",processes[i]);
}
printf("-");
//fprintf(output,"-");
}
if(i == (n-1))
{
printf("|\n");
//fprintf(output,"|\n");
}
if(j == (execution_time[i]/2))
{
printf(" ");
//fprintf(output," ");
}
if(j<(execution_time[i]-1))
{
printf(" ");
//fprintf(output," ");
}
}
if(i == (n-1))
{
printf(" %d",wt[i]+execution_time[i]);
//fprintf(output," %d",wt[i]+execution_time[i]);
}
//fclose(output);
ganttchart(processes,execution_time,wt,n);
//FILE * output;
//output = fopen("output.txt", "a");
tmp = processes[j];
processes[j] = processes[j+1];
processes[j+1] = tmp;
}
}
}
}
int main()
{
int n;
printf("Enter number of processes : ");
scanf("%d",&n);
int processes[n],execution_time[n],tmp;
//FILE * input;
//input = fopen("input.txt", "w");
sjf_schedule(processes,execution_time,n);
avgWaitingTime(processes,execution_time,n);
return 0;
}