10 #ifndef PRIORITYDISCIPLINE_H 11 #define PRIORITYDISCIPLINE_H 27 std::shared_ptr<Process>
selectNextTask(
Queue *readyQueue, std::shared_ptr<Process> running,
unsigned int);
29 virtual std::string
getName()=0;
PriorityDiscipline(std::shared_ptr< SchedulerConfiguration > c)
This class implements the ready queue and the wait queue. Those queues contain processes ready to run...
std::shared_ptr< Process > selectNextTask(Queue *readyQueue, std::shared_ptr< Process > running, unsigned int)
select the best task to run at this point.
virtual ~PriorityDiscipline()
virtual ComparatorPointer getComparator()
return a function pointer to a function that provides comparison of tasks' priorities ...
virtual void updatePriorities(Queue *readyQueue, std::shared_ptr< Process > running)
sets the correct priorities to the tasks, especially if dynamic priorities are used.
virtual std::string getName()=0
returns the name of that discipline
virtual bool preempts(TriggeringEvent trigger)
returns true if the argument is a scheduling trigger for this specific discipline ...
bool(* ComparatorPointer)(std::shared_ptr< Process >, std::shared_ptr< Process >)