Probably the most widely known multithreaded support has been provided by the SunOS OS by Sun Microsystems. The Light-Weight Processes (LWP) package is a user-level thread package. It can be briefly characterized by the following attributes:
-
The package delivers primitives for thread creation, destruction, blocking and resuming. The package is non-preemptive, with prioritized scheduling. The LWP default scheduler can be replaced by a scheduler supplied by an application.
-
Threads can be synchronized by monitors with conditional variables.
-
For each thread, it is possible to specify what kind of registers will be used (integer or/and floating point). Only registers which were defined as active are being saved and restored.
-
LWP provides a way to map asynchronous signals into thread invocations as well as traps into exceptions handled by threads.
|