Content deleted Content added
m Replaces obsolete tag. |
→History: Provided citation Tags: Mobile edit Mobile web edit |
||
Line 2:
==History==
Before the 2.6 version of the [[Linux kernel]], processes were the schedulable entities, and there were no special facilities for [[Thread (computer science)|threads]].
However, it did have a [[system call]] — {{mono|[[clone (Linux system call)#Clone|clone]]}} — which creates a copy of the calling process where the copy shares the address space of the caller. The [[LinuxThreads]] project used this system call to provide kernel-level threads (most of the previous thread implementations in Linux worked entirely in [[Userland (computing)|userland]]). Unfortunately, it only partially complied with POSIX, particularly in the areas of signal handling, scheduling, and inter-process synchronization primitives. To improve upon LinuxThreads, it was clear that some kernel support and a new threading library would be required. Two competing projects were started to address the requirement: [[NGPT]] (Next Generation POSIX Threads) worked on by a team which included developers from [[IBM]], and NPTL by developers at [[Red Hat]]. The NGPT team collaborated closely with the NPTL team and combined the best features of both implementations into NPTL. The NGPT project was subsequently abandoned in mid-2003 after merging its best features into NPTL.
|