LinuxThreads
Эта статья нуждается в дополнительных цитатах для проверки . ( август 2012 г. ) |
В Linux операционной системе LinuxThreads представлял собой частичную реализацию POSIX Threads , представленную в 1996 году. Основным разработчиком LinuxThreads был Ксавье Лерой . Она была заменена собственной библиотекой потоков POSIX (NPTL). [1]
Выполнение
[ редактировать ]У LinuxThreads был ряд проблем, в основном из-за реализации, которая использовала системный вызов clone для создания нового процесса, разделяющего родительское адресное пространство . Например, потоки имели разные идентификаторы процессов , что вызывало проблемы с обработкой сигналов ; LinuxThreads использовал сигналы SIGUSR1 и SIGUSR2 для координации между потоками, то есть эти сигналы не могли использоваться программами.
Чтобы улучшить ситуацию, были начаты два конкурирующих проекта по разработке замены; NGPT (потоки POSIX следующего поколения) и NPTL . NPTL победил и сегодня поставляется с подавляющим большинством систем Linux. По состоянию на 2006 год [update]LinuxThreads все еще можно увидеть в производственных системах, особенно в тех, где используется ядро Linux версии 2.4 или ниже , поскольку для использования NPTL требуются средства, которые были специально добавлены в версию ядра 2.6.
LinuxThreads также был портирован и использовался во FreeBSD. [2]
Ссылки
[ редактировать ]- ^ Джонс, М. Тим (2008). Программирование приложений GNU/Linux (2-е изд.). Хингем, Массачусетс: Charles River Media. п. 253. ИСБН 978-1-58450-568-6 .
Ядро 2.6 использует новую собственную библиотеку потоков POSIX, или NPTL (представленную в 2002 году), которая представляет собой реализацию с более высокой производительностью и многочисленными преимуществами по сравнению со старым компонентом.
- ^ LinuxThreads на FreeBSD [1]. Архивировано 8 августа 2014 г. на Wayback Machine.
Внешние ссылки
[ редактировать ]- Библиотека LinuxThreads , домашняя страница Ксавье Лероя
- Сравнение моделей потоков Linux: LinuxThreads и NPTL , IBM 2006.