Jump to content

LinuxThreads: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
GreenC bot (talk | contribs)
m Rescued 1 archive link; reformat 1 link. Wayback Medic 2.1
FauxFaux (talk | contribs)
m Capital at the start of a sentence
Line 1: Line 1:
{{morerefs|date=August 2012}}
{{morerefs|date=August 2012}}
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).<ref>{{cite book|last=Jones|first=M. Tim|title=GNU/Linux application programming|year=2008|publisher=Charles River Media|location=Hingham, Mass.|isbn=978-1-58450-568-6|edition=2nd|page=253|quote=''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.''}}</ref>
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).<ref>{{cite book|last=Jones|first=M. Tim|title=GNU/Linux application programming|year=2008|publisher=Charles River Media|location=Hingham, Mass.|isbn=978-1-58450-568-6|edition=2nd|page=253|quote=''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.''}}</ref>


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

Revision as of 10:20, 22 November 2019

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]