Native POSIX Thread Library: Difference between revisions

Content deleted Content added
m Use Free and open-source software portal name (via WP:JWB)
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]].{{fact}} However, it did have a [[system call]] — <tt>[[clone (Linux system call)#Clone|clone]]</tt> — 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.