Go to main content

Managing System Information, Processes, and Performance in Oracle® Solaris 11.4

Exit Print View

Updated: October 2019

About Processes and System Activities

    The following terms are related to processes:

  • 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. An LWP contains information that is swappable and a kernel thread that contains information that has to be in memory all the time.

  • Application thread – A series of instructions with a separate stack that can execute independently in the address space of a user. 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 Oracle Solaris environment.

    Various process structures are as follows:

  • klwp – Contains the "per LWP process" information that is swappable.

  • kthread – Contains information that pertains to one LWP and must always be in main memory.

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

  • user – Contains the "per process" information that is swappable.

The following figure illustrates the relationships among these process structures.

Figure 1  Relationships Among Process Structures

image:Graphic shows grid x= per process to per LWP, y= swappable to non-swappable,             x1y1=user, x1y2=proc, x2y1=klwp, x2y2=thread.

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.