EE445M RTOS
Taken at the University of Texas Spring 2015
|
#include "libos/os.h"
#include "libos/thread_structures.h"
#include "priority_schedule_structures.h"
Go to the source code of this file.
Macros | |
#define | SCHEDULER_MAX_THREADS 16 |
Functions | |
void | edf_init () |
void | edf_insert (sched_task *) |
tcb_t * | edf_pop () |
void edf_init | ( | ) |
Initialize the Earliest Deadline First task queue
Definition at line 475 of file os.c.
References DL_EDF_INSERT, edf_insert(), sched_task_pool::next, sched_task_pool::queue, and SCHEDULER_QUEUES.
Referenced by os_launch().
void edf_insert | ( | sched_task * | ) |
Add by insertion sort the specified task into the EDF queue
Definition at line 491 of file os.c.
References sched_task::absolute_deadline, DL_EDF_INSERT, DL_EDF_PREPEND, EDF_QUEUE, and sched_task::pri_next.
Referenced by edf_init(), edf_pop(), and scheduler_reschedule().
tcb_t* edf_pop | ( | ) |
Definition at line 512 of file os.c.
References sched_task::absolute_deadline, sched_task_pool::deadline, edf_insert(), EDF_QUEUE, sched_task::next, sched_task_pool::next, sched_task::pri_next, sched_task_pool::queue, SCHEDULER_QUEUES, SYSTICKS_PER_HZ, and sched_task::tcb.