„Native POSIX Thread Library“ – Versionsunterschied

[ungesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
-LA
Siehe auch
Zeile 28:
NPTL funktioniert ähnlich wie LinuxThreads. Der Kernel verwaltet immer noch Prozesse und keine Threads, und neue Threads werden mit einem von der NPTL aufgerufenen clone() erzeugt. Die NPTL benötigt allerdings spezielle Kernelunterstützung, und implementiert damit Synchronisationsmechanismen, bei denen Threads schlafengelegt und wieder aufgeweckt werden. Dazu werden [[Futex]]es verwendet.
 
Die NPTL ist eine so genannte 1×1-Threading-Bibliothek. Die vom Benutzer mit der [http://www.opengroup.org/onlinepubs/009695399/functions/pthread_create.html pthread_create()]-Funktion erzeugten Threads stehen dabei in einer 1-zu-1-Beziehung mit Prozessen in den Scheduler-Queues des Kernels. Dies ist die einfachste denkbare Threading-Implementation. Die Alternative wäre m×n. Dabei existieren typischerweise mehr Threads im [[Userspace]], als es Prozesse im Kernel gibt. Die Threading-Bibliothek wäre dann dafür verantwortlich, die Prozessorzeit auf die einzelnen Threads im Prozess zu verteilen. Mit diesem Konzept wären sehr schnelle Kontextumschaltungen möglich, da die Anzahl der notwendigen Systemaufrufe minimiert wird, andererseits würde aber die Komplexität erhöht werden, und es könnte leichter zu [[Prioritätsinversion]] kommen.
 
==Siehe auch==
*[[Pthreads]]
 
[[en:Native POSIX Thread Library]]