next up previous contents
Nächste Seite: Preemptive Scheduling Aufwärts: Ablaufsteuerung Vorherige Seite: Non-blocking   Inhalt

Blocking

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