NPTL

NPTL (zkrácené anglické Native POSIX Thread Library, doslova knihovna nativních POSIXových vláken) je knihovna implementující POSIXová vlákna pro operační systém Linux. Je součástí GNU C Library od její verze 2.3.3, tedy od srpna 2004.

Dějiny a architektura

NPTL je podporována Linuxem od řady jádra 2.6, tedy od roku 2003. Předtím nabízel Linux omezeně kompatibilní podporu vláken v uživatelském prostoru v rámci projektu LinuxThreads, který je realizoval za pomoci systémového volání fork určeného pro vytváření procesů. Tento způsob přetrval i v NPTL, ale díky lepší podpoře v jádře umožňuje i jaderná vlákna a podporuje potřebná synchronizační primitiva. Je v něm také podporován symetrický multiprocesing a NUMA. Přitom zachovává zpětnou kompatibilitu pro programy napsané pro LinuxThreads.

Na vytvoření lepšího řešení vláken pro Linux řady 2.6 vznikly původně dva projekty, NGPT (anglicky Next Generation POSIX ThreadsPOSIXová vlákna nové generace) vyvíjený mimo jiné vývojáři z IBM, a NPTL vyvíjený zejména vývojáři z RedHatu. Oba projekty spolupracovaly a následně se sloučily do NPTL.

Reference

V tomto článku byl použit překlad textu z článku Native POSIX Thread Library na anglické Wikipedii.