In computer operating systems, a light-weight process (LWP) is a means of achieving multitasking.
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 address space and system resources with other LWPs within the same process.
[3][4] Similarly, in SunOS version 4 onwards (prior to Solaris) "light weight process" referred to user threads.
LWPs (in systems where they are a separate layer) bind to kernel threads and provide a user-level context.
This provides a significant performance improvement in thread creation time and context switches.
Prior to version 9, Solaris allowed a many-to-many mapping between LWPs and user threads.
However, this was retired due to the complexities it introduced and performance improvements to the kernel scheduler.
[1][6] UNIX System V and its modern derivatives IRIX, SCO OpenServer, HP-UX and IBM AIX allow a many-to-many mapping between user threads and LWPs.