Библиотека потоков POSIX

Библиотека потоков POSIX (англ. Native POSIX Thread Library, англ. NPTL) - набор программного кода, позволяющего ядру операционной системы GNU/Linux достаточно эффективно выполнять программы, использующие потоки POSIX.

По тестам, проведённым на 32-битной архитектуре (IA-32) NPTL успешно стартует 100 тысяч потоков примерно за 2 секунды. Для сравнения - ядру без поддержки NPTL требуется около 15 минут. [Источник?]

Содержание

История

В версиях ядра 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 системе.

Программы, использующие NPTL

  • Linux версия Google Earth (клиент) декларирует необходимость NPTL для запуска.

Ссылки

 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home