https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Native_POSIX_Thread_Library Native POSIX Thread Library - Versionsgeschichte 2025-06-10T21:38:34Z Versionsgeschichte dieser Seite in Wikipedia MediaWiki 1.45.0-wmf.4 https://de.wikipedia.org/w/index.php?title=Native_POSIX_Thread_Library&diff=253189956&oldid=prev Jellofi: /* growthexperiments-addlink-summary-summary:2|0|0 */ 2025-02-10T12:13:39Z <p>Linkvorschlag-Funktion: 2 Links hinzugefügt.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 10. Februar 2025, 14:13 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 23:</td> <td colspan="2" class="diff-lineno">Zeile 23:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Unter diesen Voraussetzungen begann Mitte 2002 die Arbeit an der neuen Native POSIX Thread Library. Im August/September 2002 wurde der Linux-Kernel 2.5 für die NPTL vorbereitet. Dazu war es notwendig, einige neue Systemaufrufe einzuführen und vorhandene zu optimieren. In ersten Benchmarks konnten nun auf einem IA-32-System innerhalb von 2 Sekunden 100.000 parallele Threads erzeugt werden; ohne NPTL dauerte allein die Erzeugung der Threads fast 15 Minuten. Trotz dieser Last blieb das Testsystem mit annähernd gleicher Geschwindigkeit benutzbar.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Unter diesen Voraussetzungen begann Mitte 2002 die Arbeit an der neuen Native POSIX Thread Library. Im August/September 2002 wurde der Linux-Kernel 2.5 für die NPTL vorbereitet. Dazu war es notwendig, einige neue Systemaufrufe einzuführen und vorhandene zu optimieren. In ersten Benchmarks konnten nun auf einem IA-32-System innerhalb von 2 Sekunden 100.000 parallele Threads erzeugt werden; ohne NPTL dauerte allein die Erzeugung der Threads fast 15 Minuten. Trotz dieser Last blieb das Testsystem mit annähernd gleicher Geschwindigkeit benutzbar.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Red Hat Linux]] 9 war die erste Linux-Distribution, in der die NPTL in einem [[Patch (Software)|gepatchten]] 2.4er-Kernel verwendet wurde (und deren Benutzer dadurch bisweilen zu unfreiwilligen [[Entwicklungsstadium (Software)#Beta-Version|Betatestern]] wurden). Inzwischen benutzen alle modernen Distributionen die NPTL, wenn sie einen Kernel der Version 2.6 oder höher verwenden.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Red Hat Linux]] 9 war die erste <ins style="font-weight: bold; text-decoration: none;">[[</ins>Linux-Distribution<ins style="font-weight: bold; text-decoration: none;">]]</ins>, in der die NPTL in einem [[Patch (Software)|gepatchten]] 2.4er-Kernel verwendet wurde (und deren Benutzer dadurch bisweilen zu unfreiwilligen [[Entwicklungsstadium (Software)#Beta-Version|Betatestern]] wurden). Inzwischen benutzen alle modernen Distributionen die NPTL, wenn sie einen Kernel der Version 2.6 oder höher verwenden.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Konzept ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Konzept ==</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 29:</td> <td colspan="2" class="diff-lineno">Zeile 29:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>NPTL funktioniert ähnlich wie ''LinuxThreads''. Der Kernel verwaltet immer noch Prozesse und keine Threads, und neue Threads werden mit einem von der NPTL aufgerufenen &lt;code&gt;clone()&lt;/code&gt; erzeugt. Die NPTL benötigt allerdings spezielle Kernelunterstützung und implementiert damit Synchronisationsmechanismen, bei denen Threads schlafen gelegt und wieder aufgeweckt werden. Dazu werden [[Futex]]es verwendet.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>NPTL funktioniert ähnlich wie ''LinuxThreads''. Der Kernel verwaltet immer noch Prozesse und keine Threads, und neue Threads werden mit einem von der NPTL aufgerufenen &lt;code&gt;clone()&lt;/code&gt; erzeugt. Die NPTL benötigt allerdings spezielle Kernelunterstützung und implementiert damit Synchronisationsmechanismen, bei denen Threads schlafen gelegt und wieder aufgeweckt werden. Dazu werden [[Futex]]es verwendet.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die NPTL ist eine sogenannte 1:1-Threading-Bibliothek. Die vom Benutzer mit der &lt;code&gt;pthread_create()&lt;/code&gt;-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-Implementierung. 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 [[Kontextwechsel]] möglich, da die Anzahl der notwendigen Systemaufrufe minimiert wird, andererseits würde aber die Komplexität erhöht, und es könnte leichter zu [[Prioritätsinversion]] kommen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die NPTL ist eine sogenannte 1:1-Threading-Bibliothek. Die vom Benutzer mit der &lt;code&gt;pthread_create()&lt;/code&gt;-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-Implementierung. 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 <ins style="font-weight: bold; text-decoration: none;">[[</ins>Prozessorzeit<ins style="font-weight: bold; text-decoration: none;">]]</ins> auf die einzelnen Threads im Prozess zu verteilen. Mit diesem Konzept wären sehr schnelle [[Kontextwechsel]] möglich, da die Anzahl der notwendigen Systemaufrufe minimiert wird, andererseits würde aber die Komplexität erhöht, und es könnte leichter zu [[Prioritätsinversion]] kommen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> </tr> </table> Jellofi https://de.wikipedia.org/w/index.php?title=Native_POSIX_Thread_Library&diff=239454606&oldid=prev Georg Hügler: vgl. WP:Allgemeinverständlichkeit 2023-11-25T15:46:25Z <p>vgl. <a href="/wiki/Wikipedia:Allgemeinverst%C3%A4ndlichkeit" title="Wikipedia:Allgemeinverständlichkeit">WP:Allgemeinverständlichkeit</a></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 25. November 2023, 17:46 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die '''Native POSIX Thread Library''' ('''NPTL''') ist eine moderne Implementierung einer [[Thread (Informatik)|Threading]]-[[Programmbibliothek|Bibliothek]] für [[Linux]]. Sie wird in Verbindung mit der [[Glibc|GNU C Library]] (glibc) verwendet und erlaubt Linux-Programmen die Verwendung von [[Portable Operating System Interface|POSIX]]-Threads (pthreads).</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die '''Native POSIX Thread Library''' ('''NPTL''') ist eine moderne Implementierung einer [[Thread (Informatik)|Threading]]-[[Programmbibliothek|Bibliothek]] für<ins style="font-weight: bold; text-decoration: none;"> das Betriebssystem</ins> [[Linux]]. Sie wird in Verbindung mit der [[Glibc|GNU C Library]] (glibc) verwendet und erlaubt Linux-Programmen die Verwendung von [[Portable Operating System Interface|POSIX]]-Threads (pthreads).</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Geschichte ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Geschichte ==</div></td> </tr> </table> Georg Hügler https://de.wikipedia.org/w/index.php?title=Native_POSIX_Thread_Library&diff=207742406&oldid=prev Aka: https, Links normiert, Kleinkram 2021-01-17T08:07:25Z <p>https, Links normiert, Kleinkram</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 17. Januar 2021, 10:07 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 2:</td> <td colspan="2" class="diff-lineno">Zeile 2:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Geschichte ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Geschichte ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Seit der Kernel-Version 2.0 existierte für Linux die Threading-Bibliothek ''[[LinuxThreads]]'', deren grundlegende Design-Prinzipien unter Einfluss der 1996 vorhandenen Beschränkungen des [[Linux (Kernel)|Linux-Kernels]] und der libc5 zustande gekommen waren. Linux hatte keine echte Unterstützung für Threads im Kernel, kannte aber den ''clone()''-Systemaufruf, der eine Kopie des aufrufenden Prozesses mit identischem Adressraum erzeugte. LinuxThreads benutzte diesen [[Systemaufruf]], um Thread-Unterstützung im [[Ring (CPU)|Userspace]] zu simulieren. Die Bibliothek wurde zwar kontinuierlich verbessert, war aber konzeptionell veraltet und eingeschränkt.<del style="font-weight: bold; text-decoration: none;"> </del></div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Seit der Kernel-Version 2.0 existierte für Linux die Threading-Bibliothek ''[[LinuxThreads]]'', deren grundlegende Design-Prinzipien unter Einfluss der 1996 vorhandenen Beschränkungen des [[Linux (Kernel)|Linux-Kernels]] und der libc5 zustande gekommen waren. Linux hatte keine echte Unterstützung für Threads im Kernel, kannte aber den ''clone()''-Systemaufruf, der eine Kopie des aufrufenden Prozesses mit identischem Adressraum erzeugte. LinuxThreads benutzte diesen [[Systemaufruf]], um Thread-Unterstützung im [[Ring (CPU)|Userspace]] zu simulieren. Die Bibliothek wurde zwar kontinuierlich verbessert, war aber konzeptionell veraltet und eingeschränkt.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Folgende Probleme mit der existierenden ''LinuxThreads''-Implementation wurden identifiziert:</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Folgende Probleme mit der existierenden ''LinuxThreads''-Implementation wurden identifiziert:</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 23:</td> <td colspan="2" class="diff-lineno">Zeile 23:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Unter diesen Voraussetzungen begann Mitte 2002 die Arbeit an der neuen Native POSIX Thread Library. Im August/September 2002 wurde der Linux-Kernel 2.5 für die NPTL vorbereitet. Dazu war es notwendig, einige neue Systemaufrufe einzuführen und vorhandene zu optimieren. In ersten Benchmarks konnten nun auf einem IA-32-System innerhalb von 2 Sekunden 100.000 parallele Threads erzeugt werden; ohne NPTL dauerte allein die Erzeugung der Threads fast 15 Minuten. Trotz dieser Last blieb das Testsystem mit annähernd gleicher Geschwindigkeit benutzbar.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Unter diesen Voraussetzungen begann Mitte 2002 die Arbeit an der neuen Native POSIX Thread Library. Im August/September 2002 wurde der Linux-Kernel 2.5 für die NPTL vorbereitet. Dazu war es notwendig, einige neue Systemaufrufe einzuführen und vorhandene zu optimieren. In ersten Benchmarks konnten nun auf einem IA-32-System innerhalb von 2 Sekunden 100.000 parallele Threads erzeugt werden; ohne NPTL dauerte allein die Erzeugung der Threads fast 15 Minuten. Trotz dieser Last blieb das Testsystem mit annähernd gleicher Geschwindigkeit benutzbar.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Red Hat Linux]] 9 war die erste Linux-Distribution, in der die NPTL in einem [[<del style="font-weight: bold; text-decoration: none;">Patch_</del>(Software)|gepatchten]] 2.4er-Kernel verwendet wurde (und deren Benutzer dadurch bisweilen zu unfreiwilligen [[Entwicklungsstadium (Software)#Beta-Version|Betatestern]] wurden). Inzwischen benutzen alle modernen Distributionen die NPTL, wenn sie einen Kernel der Version 2.6 oder höher verwenden.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Red Hat Linux]] 9 war die erste Linux-Distribution, in der die NPTL in einem [[<ins style="font-weight: bold; text-decoration: none;">Patch </ins>(Software)|gepatchten]] 2.4er-Kernel verwendet wurde (und deren Benutzer dadurch bisweilen zu unfreiwilligen [[Entwicklungsstadium (Software)#Beta-Version|Betatestern]] wurden). Inzwischen benutzen alle modernen Distributionen die NPTL, wenn sie einen Kernel der Version 2.6 oder höher verwenden.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Konzept ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Konzept ==</div></td> </tr> <tr> <td colspan="2" class="diff-lineno">Zeile 32:</td> <td colspan="2" class="diff-lineno">Zeile 32:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [<del style="font-weight: bold; text-decoration: none;">http</del>://<del style="font-weight: bold; text-decoration: none;">www</del>.redhat.com/whitepapers/developer/POSIX_Linux_Threading.pdf The Native POSIX Thread Library for Linux] (PDF; 535&amp;nbsp;kB)</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [<ins style="font-weight: bold; text-decoration: none;">https</ins>://<ins style="font-weight: bold; text-decoration: none;">static</ins>.redhat.com<ins style="font-weight: bold; text-decoration: none;">/legacy</ins>/whitepapers/developer/POSIX_Linux_Threading.pdf The Native POSIX Thread Library for Linux] (PDF; 535&amp;nbsp;kB)</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Linux-Software]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Linux-Software]]</div></td> </tr> </table> Aka https://de.wikipedia.org/w/index.php?title=Native_POSIX_Thread_Library&diff=204130008&oldid=prev 92.219.204.162: /* Geschichte */ 2020-09-30T15:52:04Z <p><span class="autocomment">Geschichte</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 30. September 2020, 17:52 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 23:</td> <td colspan="2" class="diff-lineno">Zeile 23:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Unter diesen Voraussetzungen begann Mitte 2002 die Arbeit an der neuen Native POSIX Thread Library. Im August/September 2002 wurde der Linux-Kernel 2.5 für die NPTL vorbereitet. Dazu war es notwendig, einige neue Systemaufrufe einzuführen und vorhandene zu optimieren. In ersten Benchmarks konnten nun auf einem IA-32-System innerhalb von 2 Sekunden 100.000 parallele Threads erzeugt werden; ohne NPTL dauerte allein die Erzeugung der Threads fast 15 Minuten. Trotz dieser Last blieb das Testsystem mit annähernd gleicher Geschwindigkeit benutzbar.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Unter diesen Voraussetzungen begann Mitte 2002 die Arbeit an der neuen Native POSIX Thread Library. Im August/September 2002 wurde der Linux-Kernel 2.5 für die NPTL vorbereitet. Dazu war es notwendig, einige neue Systemaufrufe einzuführen und vorhandene zu optimieren. In ersten Benchmarks konnten nun auf einem IA-32-System innerhalb von 2 Sekunden 100.000 parallele Threads erzeugt werden; ohne NPTL dauerte allein die Erzeugung der Threads fast 15 Minuten. Trotz dieser Last blieb das Testsystem mit annähernd gleicher Geschwindigkeit benutzbar.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Red Hat Linux]] 9 war die erste Linux-Distribution, in der die NPTL in einem [[Patch_(Software)|gepatchten]] 2.4er-Kernel verwendet wurde (und deren Benutzer dadurch bisweilen zu unfreiwilligen [[Entwicklungsstadium (Software)#Beta-Version|Betatestern]] wurden). Inzwischen benutzen<del style="font-weight: bold; text-decoration: none;"> praktisch</del> alle modernen Distributionen die NPTL, wenn sie einen Kernel der Version 2.6 oder höher verwenden.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Red Hat Linux]] 9 war die erste Linux-Distribution, in der die NPTL in einem [[Patch_(Software)|gepatchten]] 2.4er-Kernel verwendet wurde (und deren Benutzer dadurch bisweilen zu unfreiwilligen [[Entwicklungsstadium (Software)#Beta-Version|Betatestern]] wurden). Inzwischen benutzen alle modernen Distributionen die NPTL, wenn sie einen Kernel der Version 2.6 oder höher verwenden.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Konzept ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Konzept ==</div></td> </tr> </table> 92.219.204.162 https://de.wikipedia.org/w/index.php?title=Native_POSIX_Thread_Library&diff=204129961&oldid=prev 92.219.204.162: entlinkt da nicht relevant 2020-09-30T15:49:48Z <p>entlinkt da nicht relevant</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 30. September 2020, 17:49 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 11:</td> <td colspan="2" class="diff-lineno">Zeile 11:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Auf der wichtigen [[IA-32]]-Architektur waren nur maximal 8192 Threads möglich.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Auf der wichtigen [[IA-32]]-Architektur waren nur maximal 8192 Threads möglich.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Um die bestehenden Probleme zu lösen, wurden zusätzliche Infrastruktur im Kernel und eine neu geschriebene Threading-Bibliothek benötigt. Es wurden zwei konkurrierende Projekte gestartet: <del style="font-weight: bold; text-decoration: none;">[[</del>Next Generation POSIX Threads<del style="font-weight: bold; text-decoration: none;">]]</del> (NGPT) unter Leitung von [[IBM]] und NPTL unter Federführung der bei [[Red Hat]] angestellten Kernel- und glibc-Programmierer [[Ingo Molnár]] und [[Ulrich Drepper]]. Weil sich abzeichnete, dass sich in der Praxis die NPTL durchsetzen würde, wurde das NGPT-Projekt Mitte 2003 eingestellt.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Um die bestehenden Probleme zu lösen, wurden zusätzliche Infrastruktur im Kernel und eine neu geschriebene Threading-Bibliothek benötigt. Es wurden zwei konkurrierende Projekte gestartet: Next Generation POSIX Threads (NGPT) unter Leitung von [[IBM]] und NPTL unter Federführung der bei [[Red Hat]] angestellten Kernel- und glibc-Programmierer [[Ingo Molnár]] und [[Ulrich Drepper]]. Weil sich abzeichnete, dass sich in der Praxis die NPTL durchsetzen würde, wurde das NGPT-Projekt Mitte 2003 eingestellt.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das NPTL-Team setzte sich folgende Ziele für seine neue Bibliothek:</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das NPTL-Team setzte sich folgende Ziele für seine neue Bibliothek:</div></td> </tr> </table> 92.219.204.162 https://de.wikipedia.org/w/index.php?title=Native_POSIX_Thread_Library&diff=189957469&oldid=prev Wruedt: Abschnittlink korrigiert 2019-06-29T07:12:10Z <p>Abschnittlink korrigiert</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 29. Juni 2019, 09:12 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 23:</td> <td colspan="2" class="diff-lineno">Zeile 23:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Unter diesen Voraussetzungen begann Mitte 2002 die Arbeit an der neuen Native POSIX Thread Library. Im August/September 2002 wurde der Linux-Kernel 2.5 für die NPTL vorbereitet. Dazu war es notwendig, einige neue Systemaufrufe einzuführen und vorhandene zu optimieren. In ersten Benchmarks konnten nun auf einem IA-32-System innerhalb von 2 Sekunden 100.000 parallele Threads erzeugt werden; ohne NPTL dauerte allein die Erzeugung der Threads fast 15 Minuten. Trotz dieser Last blieb das Testsystem mit annähernd gleicher Geschwindigkeit benutzbar.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Unter diesen Voraussetzungen begann Mitte 2002 die Arbeit an der neuen Native POSIX Thread Library. Im August/September 2002 wurde der Linux-Kernel 2.5 für die NPTL vorbereitet. Dazu war es notwendig, einige neue Systemaufrufe einzuführen und vorhandene zu optimieren. In ersten Benchmarks konnten nun auf einem IA-32-System innerhalb von 2 Sekunden 100.000 parallele Threads erzeugt werden; ohne NPTL dauerte allein die Erzeugung der Threads fast 15 Minuten. Trotz dieser Last blieb das Testsystem mit annähernd gleicher Geschwindigkeit benutzbar.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Red Hat Linux]] 9 war die erste Linux-Distribution, in der die NPTL in einem [[Patch_(Software)|gepatchten]] 2.4er-Kernel verwendet wurde (und deren Benutzer dadurch bisweilen zu unfreiwilligen [[Entwicklungsstadium (Software)#<del style="font-weight: bold; text-decoration: none;">Betatester</del>|Betatestern]] wurden). Inzwischen benutzen praktisch alle modernen Distributionen die NPTL, wenn sie einen Kernel der Version 2.6 oder höher verwenden.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Red Hat Linux]] 9 war die erste Linux-Distribution, in der die NPTL in einem [[Patch_(Software)|gepatchten]] 2.4er-Kernel verwendet wurde (und deren Benutzer dadurch bisweilen zu unfreiwilligen [[Entwicklungsstadium (Software)#<ins style="font-weight: bold; text-decoration: none;">Beta-Version</ins>|Betatestern]] wurden). Inzwischen benutzen praktisch alle modernen Distributionen die NPTL, wenn sie einen Kernel der Version 2.6 oder höher verwenden.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Konzept ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Konzept ==</div></td> </tr> </table> Wruedt https://de.wikipedia.org/w/index.php?title=Native_POSIX_Thread_Library&diff=147321292&oldid=prev 77.56.53.183: /* Literatur */ 2015-10-24T00:55:52Z <p><span class="autocomment">Literatur</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 24. Oktober 2015, 02:55 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 32:</td> <td colspan="2" class="diff-lineno">Zeile 32:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>*[http://www.redhat.com/whitepapers/developer/POSIX_Linux_Threading.pdf The Native POSIX Thread Library for Linux (PDF; 535&amp;nbsp;kB)<del style="font-weight: bold; text-decoration: none;">]</del></div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>*<ins style="font-weight: bold; text-decoration: none;"> </ins>[http://www.redhat.com/whitepapers/developer/POSIX_Linux_Threading.pdf The Native POSIX Thread Library for Linux<ins style="font-weight: bold; text-decoration: none;">]</ins> (PDF; 535&amp;nbsp;kB)</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Linux-Software]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Linux-Software]]</div></td> </tr> </table> 77.56.53.183 https://de.wikipedia.org/w/index.php?title=Native_POSIX_Thread_Library&diff=147321266&oldid=prev 77.56.53.183: /* Konzept */ 2015-10-24T00:50:53Z <p><span class="autocomment">Konzept</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 24. Oktober 2015, 02:50 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 27:</td> <td colspan="2" class="diff-lineno">Zeile 27:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Konzept ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Konzept ==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;!-- Ich bin kein Informatiker. Die Chancen stehen gut, dass ich hier Blödsinn erzähle. --&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;!-- Ich bin kein Informatiker. Die Chancen stehen gut, dass ich hier Blödsinn erzähle. --&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>NPTL funktioniert ähnlich wie ''LinuxThreads''. Der Kernel verwaltet immer noch Prozesse und keine Threads, und neue Threads werden mit einem von der NPTL aufgerufenen <del style="font-weight: bold; text-decoration: none;">''</del>clone()<del style="font-weight: bold; text-decoration: none;">''</del> erzeugt. Die NPTL benötigt allerdings spezielle Kernelunterstützung und implementiert damit Synchronisationsmechanismen, bei denen Threads schlafen gelegt und wieder aufgeweckt werden. Dazu werden [[Futex]]es verwendet.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>NPTL funktioniert ähnlich wie ''LinuxThreads''. Der Kernel verwaltet immer noch Prozesse und keine Threads, und neue Threads werden mit einem von der NPTL aufgerufenen <ins style="font-weight: bold; text-decoration: none;">&lt;code&gt;</ins>clone()<ins style="font-weight: bold; text-decoration: none;">&lt;/code&gt;</ins> erzeugt. Die NPTL benötigt allerdings spezielle Kernelunterstützung und implementiert damit Synchronisationsmechanismen, bei denen Threads schlafen gelegt und wieder aufgeweckt werden. Dazu werden [[Futex]]es verwendet.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die NPTL ist eine sogenannte 1:1-Threading-Bibliothek. Die vom Benutzer mit der <del style="font-weight: bold; text-decoration: none;">''</del>pthread_create()<del style="font-weight: bold; text-decoration: none;">''</del>-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-Implementierung. 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 [[Kontextwechsel]] möglich, da die Anzahl der notwendigen Systemaufrufe minimiert wird, andererseits würde aber die Komplexität erhöht, und es könnte leichter zu [[Prioritätsinversion]] kommen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die NPTL ist eine sogenannte 1:1-Threading-Bibliothek. Die vom Benutzer mit der <ins style="font-weight: bold; text-decoration: none;">&lt;code&gt;</ins>pthread_create()<ins style="font-weight: bold; text-decoration: none;">&lt;/code&gt;</ins>-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-Implementierung. 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 [[Kontextwechsel]] möglich, da die Anzahl der notwendigen Systemaufrufe minimiert wird, andererseits würde aber die Komplexität erhöht, und es könnte leichter zu [[Prioritätsinversion]] kommen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> </tr> </table> 77.56.53.183 https://de.wikipedia.org/w/index.php?title=Native_POSIX_Thread_Library&diff=145484234&oldid=prev Echoray: Die letzte Textänderung von 80.153.175.242 wurde verworfen und die Version 137641055 von Zero Thrust wiederhergestellt. 2015-08-28T09:35:52Z <p>Die letzte Textänderung von <a href="/wiki/Spezial:Beitr%C3%A4ge/80.153.175.242" title="Spezial:Beiträge/80.153.175.242">80.153.175.242</a> wurde verworfen und die Version 137641055 von Zero Thrust wiederhergestellt.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 28. August 2015, 11:35 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die '''Native POSIX Thread Library''' ('''NPTL<del style="font-weight: bold; text-decoration: none;">/Native Instruments</del>''') ist eine moderne Implementierung einer [[Thread (Informatik)|Threading]]-[[Programmbibliothek|Bibliothek]] für [[Linux]]. Sie wird in Verbindung mit der [[Glibc|GNU C Library]] (glibc) verwendet und erlaubt Linux-Programmen die Verwendung von [[Portable Operating System Interface|POSIX]]-Threads (pthreads).</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die '''Native POSIX Thread Library''' ('''NPTL''') ist eine moderne Implementierung einer [[Thread (Informatik)|Threading]]-[[Programmbibliothek|Bibliothek]] für [[Linux]]. Sie wird in Verbindung mit der [[Glibc|GNU C Library]] (glibc) verwendet und erlaubt Linux-Programmen die Verwendung von [[Portable Operating System Interface|POSIX]]-Threads (pthreads).</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Geschichte ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Geschichte ==</div></td> </tr> </table> Echoray https://de.wikipedia.org/w/index.php?title=Native_POSIX_Thread_Library&diff=145483130&oldid=prev 80.153.175.242 am 28. August 2015 um 08:57 Uhr 2015-08-28T08:57:37Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 28. August 2015, 10:57 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die '''Native POSIX Thread Library''' ('''NPTL''') ist eine moderne Implementierung einer [[Thread (Informatik)|Threading]]-[[Programmbibliothek|Bibliothek]] für [[Linux]]. Sie wird in Verbindung mit der [[Glibc|GNU C Library]] (glibc) verwendet und erlaubt Linux-Programmen die Verwendung von [[Portable Operating System Interface|POSIX]]-Threads (pthreads).</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die '''Native POSIX Thread Library''' ('''NPTL<ins style="font-weight: bold; text-decoration: none;">/Native Instruments</ins>''') ist eine moderne Implementierung einer [[Thread (Informatik)|Threading]]-[[Programmbibliothek|Bibliothek]] für [[Linux]]. Sie wird in Verbindung mit der [[Glibc|GNU C Library]] (glibc) verwendet und erlaubt Linux-Programmen die Verwendung von [[Portable Operating System Interface|POSIX]]-Threads (pthreads).</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Geschichte ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Geschichte ==</div></td> </tr> </table> 80.153.175.242