The following table describes terms that are related to processes.
Table 18.1. Process Terminology
Term |
Description |
---|---|
Process |
Any system activity or job. Each time you boot a system, execute a command, or start an application, the system activates one or more processes. |
Lightweight process (LWP) |
A virtual CPU or execution resource. LWPs are scheduled by the kernel to use available CPU resources based on their scheduling class and priority. LWPs include a kernel thread and an LWP. A kernel thread contains information that has to be in memory all the time. An LWP contains information that is swappable. |
Application thread |
A series of instructions with a separate stack that can execute independently in a user's address space. Application threads can be multiplexed on top of LWPs. |
A process can consist of multiple LWPs and multiple application threads. The kernel schedules a kernel-thread structure, which is the scheduling entity in the SunOS environment. Various process structures are described in the following table.
Table 18.2. Process Structures
Structure |
Description |
---|---|
|
Contains information that pertains to the whole process and must be in main memory all the time |
|
Contains information that pertains to one LWP and must be in main memory all the time |
|
Contains the “per process” information that is swappable |
|
Contains the “per LWP process” information that is swappable |
The following figure illustrates the relationships among these process structures.
Most process resources are accessible to all the threads in the process. Almost all process virtual memory is shared. A change in shared data by one thread is available to the other threads in the process.