Nächste Seite: Preemptive Scheduling
Aufwärts: Ablaufsteuerung
Vorherige Seite: Non-blocking
  Inhalt
Die zweite (und häufigere) Möglichkeit ist, jeder Nutzeraktivität neben dem
Nutzerstack einen Kernstack zur Verfügung zu stellen. Blockiert ein
Prozeßkontext im Kern, wird sein Status auf dem dedizierten Kernstack
gespeichert. Eine Fortsetzung des Prozesses ist nun mit den Informationen auf
dem Stack ohne Probleme möglich. Blocking Betriebssysteme sind z.B. Windows NT und die meisten UNIX Varianten incl. Linux.
Ich werde mich bei den weiteren Ausführungen mit Betriebssystemen
auseinandersetzen, welche die zweite Variante nutzen, da sie, wie erwähnt,
weitaus häufiger anzutreffen ist. Wenn es mehreren Ausführungspfaden erlaubt
ist, ,,gleichzeitig`` den Kern zu betreten -- Reentrance, muß auch das
Scheduling von Aktivitäten im Kern genauer betrachtet und geklärt
werden, wie die Verdrängung (Preemption) von Prozessen, d.h. die
Freigabe der CPU, erfolgt.
Christian Helmuth
2001-12-11