The Pedigree Project
0.1
|
#include <SchedulingAlgorithm.h>
Public Member Functions | |
virtual | ~SchedulingAlgorithm () |
virtual void | addThread (Thread *pThread)=0 |
virtual void | removeThread (Thread *pThread)=0 |
virtual Thread * | getNext (Thread *pCurrentThread)=0 |
virtual void | threadStatusChanged (Thread *pThread)=0 |
Class providing an abstraction of a long term scheduling algorithm.
Definition at line 31 of file SchedulingAlgorithm.h.
|
virtualdefault |
Destructor
|
pure virtual |
Adds a new thread to be scheduled.
Implemented in RoundRobin.
Referenced by PerProcessorScheduler::addThread(), and PerProcessorScheduler::initialise().
Return the next thread that should be scheduled for the given Processor.
pProcessor | The Processor for which the scheduling should take place - this is provided for heuristic purposes (core affinity etc). |
Implemented in RoundRobin.
Referenced by PerProcessorScheduler::killCurrentThread(), and PerProcessorScheduler::schedule().
|
pure virtual |
Removes a thread - this thread should no longer be scheduled.
Implemented in RoundRobin.
Referenced by PerProcessorScheduler::killCurrentThread().
|
pure virtual |
Notifies us that the status of a thread has changed, and that we may need to take action.
Implemented in RoundRobin.
Referenced by PerProcessorScheduler::timer().