01801 Betriebssysteme KE 2 Prüfungsvorbereitung

#3 Threads

Was ist ein Benutzer-Thread?

Sie sind dem Betriebssystem nicht bekannt. Der Prozess muss sich um das Scheduling seiner Threads kümmern. Wenn ein Thread blockiert, dann blockiert der ganze Prozess. Von einem Prozess kann immer nur gerade ein Thread rechnend sein.
 
 
***********************************************************************
 
Benutzer-Threads werden mit Hilfe von Bibliothektsprozeduren auf Benutzerebene implementiert. Ein LWP ruft bei einem Systemaufruf eine Bibliotheksprozedur auf. Diese entscheidet, ob der aufrufende LWP suspendiert werden soll (Scheduling) und tauscht ggf. die Registerinhalte mit denen eines anderen LWPs (Dispatching), ohne das Betriebssystem zu involvieren.
  
Benutzer-Threads haben sehr kurze Umschaltzeiten und das Scheduling lässt sich flexibel vom Benutzer steuern. Allerdings kann ein LWP mit einem Systemaufruf den gesamten Task blockieren, anders, als beim Kernel-Thread.

Diskussion