| The Pedigree Project
    0.1
    | 
#include <SchedulingAlgorithm.h>
 Inheritance diagram for SchedulingAlgorithm:
 Inheritance diagram for SchedulingAlgorithm: Collaboration diagram for SchedulingAlgorithm:
 Collaboration diagram for SchedulingAlgorithm:| 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().
 Here is the caller graph for this function:
 Here is the caller graph for this function: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().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | pure virtual | 
Removes a thread - this thread should no longer be scheduled.
Implemented in RoundRobin.
Referenced by PerProcessorScheduler::killCurrentThread().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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().
 Here is the caller graph for this function:
 Here is the caller graph for this function: 1.8.11
 1.8.11