What is the technical difference between a process and a thread?
I get the feeling a word like \'process\' is overused and there are also hardware and software threa
The best answer I've found so far is Michael Kerrisk's 'The Linux Programming Interface':
In modern UNIX implementations, each process can have multiple threads of execution. One way of envisaging threads is as a set of processes that share the same virtual memory, as well as a range of other attributes. Each thread is executing the same program code and shares the same data area and heap. However, each thread has it own stack containing local variables and function call linkage information. [LPI 2.12]
This book is a source of great clarity; Julia Evans mentioned its help in clearing up how Linux groups really work in this article.