What is the basic difference between NPTL and POSIX threads? How have these two evolved?
"POSIX threads" is a 'standard', defining an API for threading. i.e. it states that functions such as pthread_exit ()
etc, should exist in the system, and describes how they should behave. All POSIX compliant operating systems implement POSIX threads in their own way.
NPTL is a bunch of features that enables "Linux" (the kernel) to efficiently implement "POSIX threads" (the standard).
You can read more about NPTL and how it came about here