In the
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
operating system, LinuxThreads was a partial implementation of
POSIX Threads
In computing, POSIX Threads, commonly known as pthreads, is an execution model that exists independently from a programming language, as well as a parallel execution model. It allows a program to control multiple different flows of work that ov ...
introduced in 1996. The main developer of LinuxThreads was
Xavier Leroy. It has been superseded by the
Native POSIX Thread Library (NPTL).
Implementation
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 s ...
sharing the parent's
address space
In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity.
For software programs to save and retrieve ...
. 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 kernel (operating system), kernels—such as those of Unix, macOS and Windows—to uniquely identify an active Process (computing), process. ...
s, causing problems for
signal
A signal is both the process and the result of transmission of data over some media accomplished by embedding some variation. Signals are important in multiple subject fields including signal processing, information theory and biology.
In ...
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
The Linux kernel is a Free and open-source software, free and open source Unix-like kernel (operating system), kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the k ...
, 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)