Scheduler
|
#include <schedulingDiscipline.h>
Public Member Functions | |
virtual | ~SchedulingDiscipline () |
SchedulingDiscipline (std::shared_ptr< SchedulerConfiguration > c) | |
virtual std::shared_ptr< Process > | selectNextTask (Queue *readyQueue, std::shared_ptr< Process > running, unsigned int deadlineMisses)=0 |
select the best task to run at this point. More... | |
virtual bool | preempts (TriggeringEvent trigger)=0 |
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 void | end () |
Protected Attributes | |
std::shared_ptr< SchedulerConfiguration > | conf {nullptr} |
Definition at line 25 of file schedulingDiscipline.h.
|
inlinevirtual |
Definition at line 28 of file schedulingDiscipline.h.
|
inline |
Definition at line 29 of file schedulingDiscipline.h.
|
inlinevirtual |
Reimplemented in RlScheduler::RlDiscipline.
Definition at line 45 of file schedulingDiscipline.h.
|
pure virtual |
returns the name of that discipline
Implemented in RlScheduler::RlDiscipline, Scheduler::RoundRobinDiscipline, Scheduler::PriorityDiscipline, Scheduler::RmsDiscipline, Scheduler::EdfDiscipline, Scheduler::FcfsDiscipline, and Scheduler::FixedPriorityDiscipline.
|
pure 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 |
Implemented in RlScheduler::RlDiscipline, Scheduler::RoundRobinDiscipline, Scheduler::PriorityDiscipline, and Scheduler::FcfsDiscipline.
|
pure virtual |
select the best task to run at this point.
readyQueue | the ready queue |
running | the currently running task |
deadlineMisses |
Implemented in RlScheduler::RlDiscipline, Scheduler::RoundRobinDiscipline, Scheduler::PriorityDiscipline, and Scheduler::FcfsDiscipline.
|
protected |
Definition at line 47 of file schedulingDiscipline.h.