Remove ads
Из Википедии, свободной энциклопедии
Библиотека потоков POSIX (англ. Native POSIX Thread Library, англ. NPTL) — набор программного кода, позволяющего ядру операционной системы Linux достаточно эффективно выполнять программы, использующие потоки POSIX. В настоящее время интегрирована в библиотеку glibc.
По тестам, проведённым на 32-битной архитектуре (IA-32), NPTL успешно стартует 100 тысяч потоков примерно за 2 секунды. Для сравнения — ядру без поддержки NPTL требуется около 15 минут.[1][2]
В версиях Linux до 2.6 не существовало реальной потоковой архитектуры, хотя поддерживался, например, системный вызов clone(), создававший копию вызвавшего его процесса в том же адресном пространстве памяти, что и сам процесс. В частности, проект LinuxThreads использовал этот системный вызов для организации поддержки потоков в рамках одного адресного пространства. Эта библиотека имела проблемы с совместимостью со стандартом POSIX, в том числе по обработке сигналов реального времени, диспетчеризации и межпроцессных синхронизирующих примитивов.
Для исправления ситуации были начаты два проекта — NGPT (Next Generation POSIX Threads, Потоки POSIX следующего поколения), разрабатывавшийся в том числе разработчиками IBM, и NPTL, разрабатываемого сотрудниками Red Hat. NGPT был закрыт в середине 2003 года, спустя некоторое время после выпуска NPTL.
NPTL имеет некоторые сходства с LinuxThreads, такие как первичная абстракция ядра — тоже процесс, или новые потоки создаются вызовом clone(). Для синхронизации потоков NPTL использует поддержку со стороны ядра (системный вызов futex).
NPTL включена в дистрибутив Red Hat Enterprise Linux с версии 3 и является частью glibc.
Версию можно узнать следующей командной строкой:
getconf GNU_LIBPTHREAD_VERSION
Команда выдаст версию установленной по умолчанию библиотеки потоков на любой Linux-системе.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.