Dispatcher-Ring
- Im Dispatcher-Ring sind alle Tasks prioritätssortiert
aufgenommen, die nicht den Taskzustand "schlafend" haben.
- Der Dispatcher teilt der höchstpriorisierten lauffähigen
Task den Prozessor zu.
- Im Dispatcher-Ring wird nicht zwischen "lauffähig" und
"laufend" unterschieden, da einfach die höchstpriorisierte
lauffähige Task den Prozessor zugeteilt bekommt.
- Es gibt eine systemweite Zelle, in der die Taskadresse der Task
steht, die gerade den Prozessor hat. Diese Zelle kann den Wert 0
haben, d.h. Inter-Task-State, es ist keine Task eingetragen.
- Die einzigen Traps, die Tasks in den Ring einketten dürfen,
sind die für sofortige oder verzögerte Aktivierungen.
Die einzigen Traps zum Ausklinken aus dem Ring sind die für
Terminierungen.
- Das Ändern der Priorität einer Task erfordert ein Umketten.
(Nur für bestimmte Traps erlaubt.)
- Hat bei einer Einkettung in den Dispatcher-Ring die
einzufügende Task die gleiche Priorität wie eine bereits
vorhandene, wird sie hinter der vorhandenen eingekettet.