EECS678: Project 2: Scheduler
libscheduler.h
Go to the documentation of this file.
1 
4 #ifndef LIBSCHEDULER_H_
5 #define LIBSCHEDULER_H_
6 
10 typedef enum { FCFS = 0, SJF, PSJF, PRI, PPRI, RR } scheme_t;
11 
12 void scheduler_start_up(int cores, scheme_t scheme);
13 int scheduler_new_job(int job_number, int time, int running_time, int priority);
14 int scheduler_job_finished(int core_id, int job_number, int time);
15 int scheduler_quantum_expired(int core_id, int time);
19 void scheduler_clean_up();
20 
22 
23 #endif /* LIBSCHEDULER_H_ */
scheduler_clean_up
void scheduler_clean_up()
Free any memory associated with your scheduler.
Definition: libscheduler.c:520
scheduler_job_finished
int scheduler_job_finished(int core_id, int job_number, int time)
Called when a job has completed execution.
Definition: libscheduler.c:392
scheduler_average_waiting_time
float scheduler_average_waiting_time()
Returns the average waiting time of all jobs scheduled by your scheduler.
Definition: libscheduler.c:483
scheduler_average_turnaround_time
float scheduler_average_turnaround_time()
Returns the average turnaround time of all jobs scheduled by your scheduler.
Definition: libscheduler.c:496
scheduler_quantum_expired
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
scheduler_start_up
void scheduler_start_up(int cores, scheme_t scheme)
Initalizes the scheduler.
Definition: libscheduler.c:214
scheduler_new_job
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
scheme_t
Constants which represent the different scheduling algorithms.
Definition: libscheduler.h:10
scheduler_average_response_time
float scheduler_average_response_time()
Returns the average response time of all jobs scheduled by your scheduler.
Definition: libscheduler.c:509
scheduler_show_queue
void scheduler_show_queue()
This function may print out any debugging information you choose.
Definition: libscheduler.c:550