Interested Article - LinuxThreads

LinuxThreads — частичная реализация библиотеки потоков POSIX Threads для операционной системы Linux [ когда? ] в составе glibc . С начала 2000-х он был заменен библиотекой потоков POSIX ( англ. Native POSIX Thread Library , NPTL ), появившейся в 2002 и работавшей с ядрами Linux 2.6 и более новыми. . Основной разработчик — Ксавье Леруа .

У LinuxThreads был ряд проблем, в основном из-за реализации, использующей системный вызов clone() для создания нового процесса , который разделяет общее адресное пространство с исходным процессом. Например, потокам присваивались различные идентификаторы процесса (PID), что вызывало проблемы с обработкой сигналов; LinuxThreads использует сигналы SIGUSR1 и SIGUSR2 для координации потоков, что приводит к невозможности использования этих сигналов в программах.

Чтобы улучшить ситуацию, разработку замены начали два конкурирующих проекта: NGPT ( Next Generation POSIX Threads ) и NPTL . NPTL победила, была включена в glibc [ какую? ] , и поставляется с большинством систем Linux. На 2006 LinuxThreads можно было встретить на производственных системах, в частности, использующих версию ядра Linux 2.4 и ниже, так как NPTL требует программных интерфейсов, которые были добавлены для реализации потоков в версии ядра 2.6.

LinuxThreads также портировали и использовали на FreeBSD .

Примечания

  1. Jones, M. Tim. . — 2nd. — Hingham, Mass.: Charles River Media, 2008. — С. . — ISBN 978-1-58450-568-6 . . — « The 2.6 kernel utilizes the new Native POSIX Thread Library, or NPTL (introduced in 2002), which is a higher performance implementation with numerous advantages over the older component. ».
  2. от 20 декабря 2016 на Wayback Machine first NPT vs. NGPT vs. LinuxThreads benchmark results [LWN.net]]
  3. LinuxThreads on FreeBSD от 8 августа 2014 на Wayback Machine

Ссылки

  • , Xavier Leroy Home Page (англ.)
  • , IBM 2006
Источник —

Same as LinuxThreads