Nächste Seite: Blocking
Aufwärts: Ablaufsteuerung
Vorherige Seite: Ablaufsteuerung
  Inhalt
Ein mögliches Design für die Kernumgebung ist es, allen Nutzerprozessen nur
einen Kernstack zur Verfügung zu stellen. Tritt also der Fall ein, daß mehrere
Prozesse einen Systemruf durchführen, kann immer nur jeweils ein Prozeß den
Kern betreten (und auf Kerndaten zugreifen bzw. privilegierte Instruktionen
ausführen). Alle weiteren ,,Anwärter`` blockieren im User Mode, d.h. ihre
Ausführung wird solange unterbrochen bis der Kerneintritt erlaubt wird. Die
Bezeichnung non-blocking begründet sich auf der Tatsache, daß ein
Prozeßkontext, der im Kern blockiert, z.B. weil eine Ressource nicht
verfügbar ist, den gesamten Status verliert und den Systemruf neu starten muß.
Eine solche Kernumgebung ist nur in Systemen sinnvoll, die das Blockieren im
Kern allgemein vermeiden wollen und den Anspruch haben, Systemrufe stets
vollständig durchzuführen. Ein Beispiel ist der Exokernel.
Christian Helmuth
2001-12-11