Processes and System Performance

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 11–2 Process Structures

Structure

Description

proc

Contains information that pertains to the whole process and must be
in main memory all the time

kthread

Contains information that pertains to one LWP and must be in main memory
all the time

user

Contains the “per process” information that is swappable

klwp

Contains the “per LWP process” information that is swappable

The following figure illustrates the relationships among these process
structures.

Figure 11–1 Relationships Among
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.