Light-Weight Process (LWP
) is a method of achieving Concurrency
In the traditional meaning of the term, as used in Unix System V and Solaris, a LWP runs in user space on top of a single kernel thread and shares its memory address space and system resources with other LWPs within the same process.
Multiple user level threads, managed by a thread library, can be placed on top of one or many LWPs - allowing Concurrency to be done at the user level, which can have some performance benefits.
In some Operating Systems there is no separate Light-Weight Process layer between kernel threads and user threads. This means that user threads are implemented directly on top of kernel threads. In those contexts, the term "light-weight process" typically refers to kernel threads and the term "threads" can refer to user threads.
On Linux, user threads are implemented by allowing certain processes to share resources, which sometimes leads to these processes to be called "Light-Weight Process".
Similarly, in SunOS version 4 onwards (prior to Solaris) "Light-Weight Process" referred to user threads.
There might be more information for this subject on one of the following: