schedule
schedule
schedule
h>
// Muhammed Noshin M
typedef struct {
} Process;
printf("PID\tAT\tBT\tPriority\tCT\tTAT\tWT\n");
printf("%d\t%d\t%d\t%d\t\t%d\t%d\t%d\n",
p[i].tat, p[i].wt);
p[j + 1] = temp;
sortByArrival(p, n);
int time = 0;
time = p[i].at;
time += p[i].bt;
p[i].ct = time;
calculateTimes(p, n);
displayResults(p, n, "FCFS");
sortByArrival(p, n);
min_idx = i;
if (min_idx == -1) {
time++;
} else {
time += p[min_idx].bt;
p[min_idx].ct = time;
done[min_idx] = 1;
completed++;
calculateTimes(p, n);
displayResults(p, n, "SJF");
sortByArrival(p, n);
min_idx = -1;
for (int i = 0; i < n; i++) {
p[min_idx].priority) {
min_idx = i;
if (min_idx == -1) {
time++;
} else {
time += p[min_idx].bt;
p[min_idx].ct = time;
done[min_idx] = 1;
completed++;
calculateTimes(p, n);
p[i].remaining_bt = p[i].bt;
}
while (remaining > 0) {
if (p[i].remaining_bt > 0) {
int exec_time;
exec_time = quantum;
} else {
exec_time = p[i].remaining_bt;
p[i].remaining_bt -= exec_time;
time += exec_time;
if (p[i].remaining_bt == 0) {
p[i].ct = time;
remaining--;
calculateTimes(p, n);
int main() {
int n, quantum;
scanf("%d", &n);
Process p[n], p_fcfs[n], p_sjf[n], p_prio[n], p_rr[n];
scanf("%d", &p[i].pid);
scanf("%d", &p[i].at);
scanf("%d", &p[i].bt);
scanf("%d", &p[i].priority);
scanf("%d", &quantum);
fcfs(p_fcfs, n);
sjf(p_sjf, n);
priorityScheduling(p_prio, n);
roundRobin(p_rr, n, quantum);
return 0;