Process management

LWP state transition

Applications that have strict fixed priority constraints may need to prevent processes and LWPs from being swapped or paged out to secondary memory. Here's a simplified overview of UNIX system LWP states and the transitions between states:

LWP state transition diagram

An active LWP is normally in one of the five states in the diagram. The arrows show how it changes states.

If a machine does not have enough primary memory to hold all its active processes and LWPs, it must page or swap some address space to secondary memory: Both paging and swapping, and especially swapping, introduce delay when a process or LWP is ready to run again. For processes and LWPs that have strict timing requirements, this delay can be unacceptable. To avoid swapping delays, fixed priority processes and LWPs are never swapped, though parts of them may be paged. An application can prevent paging and swapping by locking its text and data into primary memory. For more information see memcntl(2). Of course, how much can be locked is limited by how much memory is configured. Also, locking too much can cause intolerable delays to processes and LWPs that do not have their text and data locked into memory. Tradeoffs between performance of fixed priority processes and LWPs and performance of other processes and LWPs depend on local needs. On some systems, process locking may be required to guarantee the necessary fixed priority response.
Next topic: Software latencies
Previous topic: Scheduler performance

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 27 April 2004