EECS678: Project 2: Scheduler
|
Go to the documentation of this file.
4 #ifndef LIBSCHEDULER_H_
5 #define LIBSCHEDULER_H_
10 typedef enum { FCFS = 0, SJF, PSJF, PRI, PPRI, RR }
scheme_t;
void scheduler_clean_up()
Free any memory associated with your scheduler.
Definition: libscheduler.c:520
int scheduler_job_finished(int core_id, int job_number, int time)
Called when a job has completed execution.
Definition: libscheduler.c:392
float scheduler_average_waiting_time()
Returns the average waiting time of all jobs scheduled by your scheduler.
Definition: libscheduler.c:483
float scheduler_average_turnaround_time()
Returns the average turnaround time of all jobs scheduled by your scheduler.
Definition: libscheduler.c:496
int scheduler_quantum_expired(int core_id, int time)
When the scheme is set to RR, called when the quantum timer has expired on a core.
Definition: libscheduler.c:444
void scheduler_start_up(int cores, scheme_t scheme)
Initalizes the scheduler.
Definition: libscheduler.c:214
int scheduler_new_job(int job_number, int time, int running_time, int priority)
Called when a new job arrives.
Definition: libscheduler.c:277
scheme_t
Constants which represent the different scheduling algorithms.
Definition: libscheduler.h:10
float scheduler_average_response_time()
Returns the average response time of all jobs scheduled by your scheduler.
Definition: libscheduler.c:509
void scheduler_show_queue()
This function may print out any debugging information you choose.
Definition: libscheduler.c:550