LinuxThreads
LinuxThreads — частичная реализация библиотеки потоков POSIX Threads для операционной системы Linux[когда?] в составе glibc. С начала 2000-х он был заменен библиотекой потоков POSIX (англ. Native POSIX Thread Library, NPTL), появившейся в 2002 и работавшей с ядрами Linux 2.6 и более новыми.[1]. Основной разработчик — Ксавье Леруа.
У LinuxThreads был ряд проблем, в основном из-за реализации, использующей системный вызов clone() для создания нового процесса, который разделяет общее адресное пространство с исходным процессом. Например, потокам присваивались различные идентификаторы процесса (PID), что вызывало проблемы с обработкой сигналов; LinuxThreads использует сигналы SIGUSR1 и SIGUSR2 для координации потоков, что приводит к невозможности использования этих сигналов в программах.
Чтобы улучшить ситуацию, разработку замены начали два конкурирующих проекта: NGPT (Next Generation POSIX Threads) и NPTL[2]. NPTL победила, была включена в glibc[какую?], и поставляется с большинством систем Linux. На 2006 LinuxThreads можно было встретить на производственных системах, в частности, использующих версию ядра Linux 2.4 и ниже, так как NPTL требует программных интерфейсов, которые были добавлены для реализации потоков в версии ядра 2.6.
LinuxThreads также портировали и использовали на FreeBSD[3].
Примечания
- ↑ Jones, M. Tim. GNU/Linux application programming. — 2nd. — Hingham, Mass.: Charles River Media, 2008. — С. 253. — ISBN 978-1-58450-568-6.. — «The 2.6 kernel utilizes the new Native POSIX Thread Library, or NPTL (introduced in 2002), which is a higher performance implementation with numerous advantages over the older component.».
- ↑ [https://web.archive.org/web/20161220100748/https://lwn.net/Articles/10741/ Архивная копия от 20 декабря 2016 на Wayback Machine first NPT vs. NGPT vs. LinuxThreads benchmark results [LWN.net]]
- ↑ LinuxThreads on FreeBSD [1] Архивная копия от 8 августа 2014 на Wayback Machine
Ссылки
- The LinuxThreads library, Xavier Leroy Home Page (англ.)
- Linux threading models compared: LinuxThreads and NPTL, IBM 2006
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.