Jump to content

Собственная библиотека потоков POSIX

(Перенаправлено с NPTL )

Собственная библиотека потоков POSIX ( NPTL ) — это реализация спецификации потоков POSIX для операционной системы Linux .

До версии ядра Linux 2.6 процессы были запланированными объектами, и для потоков не было специальных средств . [ 1 ] Однако у него был системный вызов клон — который создает копию вызывающего процесса, где копия разделяет адресное пространство вызывающего процесса. Проект LinuxThreads ) использовал этот системный вызов для обеспечения потоков уровня ядра (большинство предыдущих реализаций потоков в Linux работали полностью в пользовательской области . К сожалению, он лишь частично соответствовал POSIX, особенно в области обработки сигналов, планирования и примитивов межпроцессной синхронизации.

Было ясно, что для улучшения LinuxThreads потребуется некоторая поддержка ядра и новая библиотека потоков. Для удовлетворения этого требования были начаты два конкурирующих проекта: NGPT (Next Generation POSIX Threads), над которым работала команда, в которую входили разработчики из IBM , и NPTL, разработанный разработчиками из Red Hat . Команда NGPT тесно сотрудничала с командой NPTL и объединила лучшие функции обеих реализаций в NPTL. Впоследствии проект NGPT был заброшен в середине 2003 года после слияния его лучших функций с NPTL.

NPTL был впервые выпущен в Red Hat Linux 9. Потоки в старом стиле Linux POSIX известны тем, что иногда возникают проблемы с потоками, которые иногда отказываются подчиняться системе, поскольку не используют возможность вытеснить их, когда они возникают, что было в Windows. известно, что в то время дела шли лучше. Red Hat заявила, что NPTL исправила эту проблему в статье на веб-сайте Java о Java в Red Hat Linux 9. [ 2 ]

NPTL является частью Red Hat Enterprise Linux начиная с версии 3 и ядра Linux начиная с версии 2.6. Теперь это полностью интегрированная часть C. библиотеки GNU [ 3 ]

Существует инструмент трассировки NPTL, который называется POSIX Thread Trace Tool ( PTT ). И был написан Open POSIX Test Suite ( OPTS ) для тестирования библиотеки NPTL на соответствие стандарту POSIX.

Как и LinuxThreads, NPTL представляет собой библиотеку потоков 1:1. Потоки, созданные библиотекой (через pthread_create ), соответствуют один к одному с планируемыми объектами в ядре ( процессами в случае Linux). [ 4 ] : 226  Это самая простая из трех моделей резьбы (1:1, N:1 и M:N). [ 4 ] : 215–216  Новые потоки создаются с помощью системного вызова clone(), вызываемого через библиотеку NPTL. NPTL опирается на поддержку фьютексов ядром для более эффективной реализации блокировок пользовательского пространства. [ 4 ] : 182 

См. также

[ редактировать ]
  1. ^ pthreads(7) — страница руководства Linux
  2. ^ Red Hat Linux 9 и платформа Java 2, Standard Edition 1.4.2: выигрышная комбинация
  3. ^ Выпуск библиотеки GNU C версии 2.3.3.
  4. ^ Jump up to: а б с Роберт Лав (2013). Системное программирование Linux (2-е изд.). О'Рейли Медиа, Инкорпорейтед. ISBN  978-1449339531 .
[ редактировать ]
  • Инструмент трассировки NPTL Инструмент с открытым исходным кодом для отслеживания и отладки многопоточных приложений с использованием NPTL.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7ae8bcffc3b3450761a4bbb88f85097d__1718194560
URL1:https://arc.ask3.ru/arc/aa/7a/7d/7ae8bcffc3b3450761a4bbb88f85097d.html
Заголовок, (Title) документа по адресу, URL1:
Native POSIX Thread Library - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)