WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Библиотека потоков 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 системе.

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

  • Linux версия Google Earth (клиент) декларирует необходимость NPTL для запуска.
  • Реализация OpenMP от Sun Microsystems базируется на библиотеке Solaris libpthread, являющейся, в свою очередь, реализацией NPTL. Начиная с Solaris 10, библиотека libpthread представляет собой фильтр, а реализация предоставляемых ею функций находится в библиотеке libc.

Примечания

  1. Robert Love. Introducing the 2.6 Kernel (англ.). Linux Journal. Belltown Media, Inc.. Архивировано 21 января 2012 года.
  2. Ulrich Drepper, Ingo Molnar. The Native POSIX Thread Library for Linux (англ.) (PDF). Red Hat, Inc. (21 February 2005). Архивировано 21 января 2012 года.

Ссылки

  • NPTL Trace Tool, утилита отладки программ, использующих NPTL  (англ.)

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии