LinuxThreads

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 26. března 2020; kontroly vyžadují 5 úprav .

LinuxThreads  je částečná implementace knihovny vláken POSIX Threads pro operační systém Linux .[ kdy? ] v glibc . Od počátku roku 2000 byla nahrazena POSIX Thread Library ( Native POSIX Thread Library , NPTL ), která se objevila v roce 2002 a pracovala s Linuxem 2.6 a novějšími jádry .  [1] Hlavním vývojářem LinuxThreads byl Xavier Leroy .

LinuxThreads měl řadu problémů, většinou kvůli implementaci pomocí systémového volání clone() k vytvoření nového procesu , který sdílí společný adresní prostor s původním procesem. Například vláknům byla přiřazena různá ID procesu (PID), což způsobovalo problémy se zpracováním signálů; LinuxThreads používá signály SIGUSR1 a SIGUSR2 pro koordinaci vláken, což znemožňuje programům tyto signály používat.

Pro zlepšení situace začaly dva konkurenční projekty vyvíjet náhradu: NGPT ( Next Generation POSIX Threads ) a NPTL [2] . NPTL vyhrál, byl zařazen do glibc[ co? ] a dodává se s většinou systémů Linux. Od roku 2006 lze LinuxThreads vidět na produkčních systémech, zejména na těch, které používají jádro Linux verze 2.4 a nižší, protože NPTL vyžaduje API, která byla přidána k implementaci vláken v jádře verze 2.6.

LinuxThreads byl také portován a používán na FreeBSD . [3]

Poznámky

  1. Jones, M. Tim. Programování aplikací GNU/Linux . — 2. - Hingham, Mass.: Charles River Media, 2008. - s  . 253 . - ISBN 978-1-58450-568-6 . . — « Jádro 2.6 využívá novou Native POSIX Thread Library neboli NPTL (zavedenou v roce 2002), což je výkonnější implementace s četnými výhodami oproti starší komponentě. ".
  2. [https://web.archive.org/web/20161220100748/https://lwn.net/Articles/10741/ Archivováno 20. prosince 2016 na Wayback Machine první NPT vs. NGPT vs. Výsledky benchmarků LinuxThreads [LWN.net]]
  3. LinuxThreads na FreeBSD [1] Archivováno 8. srpna 2014 na Wayback Machine

Odkazy