임의의 시스템 작업입니다. 사용자가 시스템을 부트하거나, 명령을 실행하거나, 응용 프로그램을 시작할 때마다 시스템에서 하나 이상의 프로세스가 활성화됩니다.
가상 CPU 또는 실행 리소스입니다. LWP는 예약 클래스 및 우선 순위를 기준으로 사용 가능한 CPU 리소스를 사용하도록 커널에 의해 예약됩니다. LWP에는 스왑 가능한 정보와 항상 메모리에 있어야 하는 정보가 포함된 커널 스레드가 들어 있습니다.
사용자의 주소 공간에서 개별적으로 실행할 수 있는 별도의 스택을 포함하는 일련의 명령어입니다. 응용 프로그램 스레드는 LWP를 기반으로 멀티플렉싱될 수 있습니다.
프로세스는 여러 개의 LWP와 여러 개의 응용 프로그램 스레드로 구성될 수 있습니다. 커널은 Oracle Solaris 환경의 예약 엔티티인 커널 스레드 구조를 예약합니다. 다양한 프로세스 구조는 다음과 같습니다.
전체 프로세스에 속하는 정보가 포함되어 있으며 항상 주 메모리에 있어야 합니다.
하나의 LWP에 속하는 정보가 포함되어 있으며 항상 주 메모리에 있어야 합니다.
스왑 가능한 "프로세스별" 정보가 포함되어 있습니다.
스왑 가능한 "LWP 프로세스별" 정보가 포함되어 있습니다.
다음 그림은 이러한 프로세스 구조 간의 관계를 보여줍니다.
그림 3-1 프로세스 구조 간의 관계
대부분의 프로세스 리소스는 프로세스의 모든 스레드에서 액세스할 수 있습니다. 거의 모든 프로세스 가상 메모리는 공유 메모리입니다. 한 스레드에 의해 공유 데이터가 변경되면 프로세스의 다른 스레드에서 이 변경 사항을 사용할 수 있습니다.