In the
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
operating system, LinuxThreads was a partial implementation of
POSIX Threads
POSIX Threads, commonly known as pthreads, is an execution model that exists independently from a language, as well as a parallel execution model. It allows a program to control multiple different flows of work that overlap in time. Each flow o ...
introduced in 1996. The main developer of LinuxThreads was
Xavier Leroy
Xavier or Xabier may refer to:
Place
* Xavier, Spain
People
* Xavier (surname)
* Xavier (given name)
* Francis Xavier (1506–1552), Catholic saint
** St. Francis Xavier (disambiguation)
* St. Xavier (disambiguation)
* Xavier (footballer, born ...
. It has been superseded by the
Native POSIX Thread Library (NPTL).
LinuxThreads had a number of problems, mainly owing to the implementation, which used the
clone system call to create a new
process
A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic.
Things called a process include:
Business and management
*Business process, activities that produce a specific se ...
sharing the parent's
address space. For example, threads had distinct
process identifier
In computing, the process identifier (a.k.a. process ID or PID) is a number used by most operating system kernels—such as those of Unix, macOS and Windows—to uniquely identify an active process. This number may be used as a parameter in vario ...
s, causing problems for
signal
In signal processing, a signal is a function that conveys information about a phenomenon. Any quantity that can vary over space or time can be used as a signal to share messages between observers. The '' IEEE Transactions on Signal Processing' ...
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. , 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.
[LinuxThreads on FreeBS]
References
External links
The LinuxThreads library Xavier Leroy Home Page
Linux threading models compared: LinuxThreads and NPTL IBM 2006
{{DEFAULTSORT:Linuxthreads
Threads (computing)