Scheduler
Public Member Functions | Protected Attributes | List of all members
Scheduler::SchedulingDiscipline Class Referenceabstract

#include <schedulingDiscipline.h>

Inheritance diagram for Scheduler::SchedulingDiscipline:
RlScheduler::RlDiscipline Scheduler::FcfsDiscipline Scheduler::PriorityDiscipline Scheduler::RoundRobinDiscipline Scheduler::EdfDiscipline Scheduler::FixedPriorityDiscipline Scheduler::RmsDiscipline

Public Member Functions

virtual ~SchedulingDiscipline ()
 
 SchedulingDiscipline (std::shared_ptr< SchedulerConfiguration > c)
 
virtual std::shared_ptr< ProcessselectNextTask (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< SchedulerConfigurationconf {nullptr}
 

Detailed Description

Definition at line 25 of file schedulingDiscipline.h.

Constructor & Destructor Documentation

virtual Scheduler::SchedulingDiscipline::~SchedulingDiscipline ( )
inlinevirtual

Definition at line 28 of file schedulingDiscipline.h.

Scheduler::SchedulingDiscipline::SchedulingDiscipline ( std::shared_ptr< SchedulerConfiguration c)
inline

Definition at line 29 of file schedulingDiscipline.h.

Member Function Documentation

virtual void Scheduler::SchedulingDiscipline::end ( )
inlinevirtual

Reimplemented in RlScheduler::RlDiscipline.

Definition at line 45 of file schedulingDiscipline.h.

virtual std::string Scheduler::SchedulingDiscipline::getName ( )
pure virtual
virtual bool Scheduler::SchedulingDiscipline::preempts ( TriggeringEvent  trigger)
pure virtual

returns true if the argument is a scheduling trigger for this specific discipline

Parameters
triggerthe type of the event that triggered the scheduling invokation

Implemented in RlScheduler::RlDiscipline, Scheduler::RoundRobinDiscipline, Scheduler::PriorityDiscipline, and Scheduler::FcfsDiscipline.

virtual std::shared_ptr<Process> Scheduler::SchedulingDiscipline::selectNextTask ( Queue readyQueue,
std::shared_ptr< Process running,
unsigned int  deadlineMisses 
)
pure virtual

select the best task to run at this point.

Parameters
readyQueuethe ready queue
runningthe currently running task
deadlineMisses
Returns
the next task to be run

Implemented in RlScheduler::RlDiscipline, Scheduler::RoundRobinDiscipline, Scheduler::PriorityDiscipline, and Scheduler::FcfsDiscipline.

Member Data Documentation

std::shared_ptr<SchedulerConfiguration> Scheduler::SchedulingDiscipline::conf {nullptr}
protected

Definition at line 47 of file schedulingDiscipline.h.


The documentation for this class was generated from the following file: