This article is from the Threads Programming FAQ, by Bryan O'Sullivan bos@serpentine.com with numerous contributions by others.
A lightweight process (also known in some implementations,
confusingly, as a "kernel thread") is a schedulable entity that the
kernel is aware of. On most systems, it consists of some execution
context and some accounting information (i.e. much less than a
full-blown process).
Several operating systems allow lightweight processes to be "bound" to
particular CPUs; this guarantees that those threads will only execute
on the specified CPUs.
 
Continue to: