add: project 2
This commit is contained in:
parent
2b3c28d249
commit
4e8e564b44
25 changed files with 921 additions and 3 deletions
24
project2/src/fcfs.c
Normal file
24
project2/src/fcfs.c
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
#include "fcfs.h"
|
||||
#include "main.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
void fcfs_run(process processes[], int num_processes) {
|
||||
// Assign each to next free time
|
||||
cpu_time_t next_free = 0;
|
||||
for (int i = 0; i < num_processes; i++) {
|
||||
cpu_time_t arrival = processes[i].arrival;
|
||||
cpu_time_t burst = processes[i].burst;
|
||||
|
||||
processes[i].num_schedules = 1;
|
||||
processes[i].starts = malloc(sizeof(cpu_time_t));
|
||||
processes[i].starts[0] = arrival >= next_free ? arrival : next_free;
|
||||
processes[i].durations = malloc(sizeof(cpu_time_t));
|
||||
processes[i].durations[0] = burst;
|
||||
next_free = processes[i].starts[0] + burst;
|
||||
}
|
||||
}
|
||||
|
||||
scheduler fcfs = (scheduler){.name = "fcfs",
|
||||
.description = "First Come First Serve",
|
||||
.run = fcfs_run,
|
||||
.uses_priority = 0};
|
||||
Loading…
Add table
Add a link
Reference in a new issue