Native POSIX Thread Library: Difference between revisions

Content deleted Content added
Blowfish (talk | contribs)
Weasel word in the first sentence -> removed
mNo edit summary
Line 5:
== History ==
 
Before the 2.6 version of the [[Linux kernel]], processes were the schedulable entities, and there was no real support for [[Thread (computer science)|threads]]. However, it did support a [[system call]] — - <tt>[[clone (Linux system call)|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 thread support (most of the previous pthread implementations in Linux worked entirely in [[Userland (computing)|userland]]). Unfortunately, it had a number of issues with true POSIX compliance, 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 re-written threads 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]]. NGPT was abandoned in mid-2003, at about the same time when NPTL was released.