Betriebssysteme

4. Was sind die Unterschiede zwischen User-Level Threads und Kernel-Level-Threads?

  •   Ein weiterer Unterschied ist, dass für den Kernel die User Threads nicht sichtbar sind. Er sieht den User Process als ganze ausführbare Einheit und hat keine Kenntnis von der inneren Struktur. Hat man beispielsweise in Java ein Programm mit multi-threading geschrieben, wird es übersetzt in den Bytecode der JVM. Der Kernel-Thread der die JVM ausführt, weiß nichts von den User-Level Threads des Java-Programms.
  •   Die Verwaltung von Kernel-Threads ist aufwändiger als die von User-Level Threads, da sie in den komplexeren Datenstrukturen des Betriebssystems laufen.

  •   User-Level Threads sind immer mit einem User Process assoziiert. Kernel-Level Threads sind das nicht.

  •   Das Scheduling von User-level Threads geschieht im User Mode, das der Kernel-Level Threads im Kernel Mode.

Diskussion