„Native POSIX Thread Library“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
Inhalt gelöscht Inhalt hinzugefügt
(8 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 1:
Die '''Native POSIX Thread Library''' ('''NPTL''') ist eine moderne Implementierung einer [[Thread (Informatik)|Threading]]-[[Programmbibliothek|Bibliothek]] für das Betriebssystem [[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).
== Geschichte ==
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.
Folgende Probleme mit der existierenden ''LinuxThreads''-Implementation wurden identifiziert:
Zeile 11:
* Auf der wichtigen [[IA-32]]-Architektur waren nur maximal 8192 Threads möglich.
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:
Das NPTL-Team setzte sich folgende Ziele für seine neue Bibliothek:
Zeile 23:
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.
[[Red Hat Linux]] 9 war die erste Linux-Distribution, in der die NPTL in einem [[
== Konzept ==
<!-- Ich bin kein Informatiker. Die Chancen stehen gut, dass ich hier Blödsinn erzähle. -->
NPTL funktioniert ähnlich wie ''LinuxThreads''. Der Kernel verwaltet immer noch Prozesse und keine Threads, und neue Threads werden mit einem von der NPTL aufgerufenen
Die NPTL ist eine sogenannte 1:1-Threading-Bibliothek. Die vom Benutzer mit der
== Literatur ==
* [
[[Kategorie:Linux-Software]]
|