Scheduler
|
#include <priorityDiscipline.h>
Public Types | |
typedef bool(* | ComparatorPointer) (std::shared_ptr< Process >, std::shared_ptr< Process >) |
Public Member Functions | |
PriorityDiscipline (std::shared_ptr< SchedulerConfiguration > c) | |
virtual | ~PriorityDiscipline () |
std::shared_ptr< Process > | selectNextTask (Queue *readyQueue, std::shared_ptr< Process > running, unsigned int) |
select the best task to run at this point. More... | |
virtual bool | preempts (TriggeringEvent trigger) |
returns true if the argument is a scheduling trigger for this specific discipline More... | |
virtual std::string | getName ()=0 |
returns the name of that discipline More... | |
![]() | |
virtual | ~SchedulingDiscipline () |
SchedulingDiscipline (std::shared_ptr< SchedulerConfiguration > c) | |
virtual void | end () |
Protected Member Functions | |
virtual void | updatePriorities (Queue *readyQueue, std::shared_ptr< Process > running) |
sets the correct priorities to the tasks, especially if dynamic priorities are used. More... | |
virtual ComparatorPointer | getComparator () |
return a function pointer to a function that provides comparison of tasks' priorities More... | |
Additional Inherited Members | |
![]() | |
std::shared_ptr< SchedulerConfiguration > | conf {nullptr} |
Definition at line 19 of file priorityDiscipline.h.
typedef bool(* Scheduler::PriorityDiscipline::ComparatorPointer) (std::shared_ptr< Process >, std::shared_ptr< Process >) |
Definition at line 25 of file priorityDiscipline.h.
|
inline |
Definition at line 22 of file priorityDiscipline.h.
|
inlinevirtual |
Definition at line 23 of file priorityDiscipline.h.
|
protectedvirtual |
return a function pointer to a function that provides comparison of tasks' priorities
Reimplemented in Scheduler::RmsDiscipline, and Scheduler::EdfDiscipline.
Definition at line 62 of file priorityDiscipline.cpp.
|
pure virtual |
returns the name of that discipline
Implements Scheduler::SchedulingDiscipline.
Implemented in Scheduler::RmsDiscipline, Scheduler::EdfDiscipline, and Scheduler::FixedPriorityDiscipline.
|
virtual |
returns true if the argument is a scheduling trigger for this specific discipline
trigger | the type of the event that triggered the scheduling invokation |
Implements Scheduler::SchedulingDiscipline.
Definition at line 40 of file priorityDiscipline.cpp.
|
virtual |
select the best task to run at this point.
readyQueue | the ready queue |
running | the currently running task |
deadlineMisses |
Implements Scheduler::SchedulingDiscipline.
Definition at line 21 of file priorityDiscipline.cpp.
|
protectedvirtual |
sets the correct priorities to the tasks, especially if dynamic priorities are used.
Reimplemented in Scheduler::FixedPriorityDiscipline.
Definition at line 46 of file priorityDiscipline.cpp.