Jump to content

LinuxThreads

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by FauxFaux (talk | contribs) at 10:20, 22 November 2019 (Capital at the start of a sentence). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In the Linux operating system, LinuxThreads was a partial implementation of POSIX Threads introduced in 1996. The main developer of LinuxThreads was Xavier Leroy. It has been superseded by the Native POSIX Thread Library (NPTL).[1]

LinuxThreads had a number of problems, mainly owing to the implementation, which used the clone system call to create a new process sharing the parent's address space. For example, threads had distinct process identifiers, causing problems for signal handling; LinuxThreads used the signals SIGUSR1 and SIGUSR2 for inter-thread coordination, meaning these signals could not be used by programs.

To improve the situation, two competing projects were started to develop a replacement; NGPT (Next Generation POSIX Threads) and NPTL. NPTL won out and is today shipped with the vast majority of Linux systems. As of 2006, LinuxThreads may still be seen on production systems, particularly those using version 2.4 or lower of the Linux kernel, as NPTL requires facilities which were specifically added into the 2.6 version of the kernel for its use.

LinuxThreads was also ported to and used on FreeBSD.[2]

References

  1. ^ Jones, M. Tim (2008). GNU/Linux application programming (2nd ed.). Hingham, Mass.: Charles River Media. p. 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.
  2. ^ LinuxThreads on FreeBSD [1]