Navigation



Dispatcher-Ring

  1. Im Dispatcher-Ring sind alle Tasks prioritätssortiert aufgenommen, die nicht den Taskzustand "schlafend" haben.
  2. Der Dispatcher teilt der höchstpriorisierten lauffähigen Task den Prozessor zu.
  3. Im Dispatcher-Ring wird nicht zwischen "lauffähig" und "laufend" unterschieden, da einfach die höchstpriorisierte lauffähige Task den Prozessor zugeteilt bekommt.
  4. 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.
  5. 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.
  6. Das Ändern der Priorität einer Task erfordert ein Umketten. (Nur für bestimmte Traps erlaubt.)
  7. 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.