집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux 프로세스에는 어떤 세 부분이 포함됩니까?
Linux 프로세스의 세 부분: 1. 다중 프로그램 환경에서 독립적으로 실행할 수 없는 프로그램(데이터 포함)을 독립적으로 실행할 수 있는 기본 단위로 만드는 프로세스 제어 블록과 동시에 실행될 수 있는 프로그램 2. 프로그램 세그먼트는 CPU의 프로세스 스케줄러에 의해 실행될 수 있는 프로세스의 프로그램 코드 세그먼트입니다. 3. 데이터 세그먼트는 프로세스의 데이터 세그먼트입니다. 프로세스에 해당하는 프로그램이거나 프로그램이 실행된 후 생성되는 중간 또는 최종 데이터입니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
프로세스는 특정 데이터 수집에 따라 컴퓨터에서 프로그램을 실행하는 활동입니다. 시스템의 자원 할당의 기본 단위이자 운영 체제 구조의 기초입니다. .
간단히 말하면 프로그램의 실행 과정입니다.
프로세스는 실행 중인 프로그램의 인스턴스, 즉 실행 중인 작업입니다.
프로세스에는 수명주기가 있습니다. 프로그램이 실행될 때 생성되고 프로그램이 끝나면 종료됩니다.
프로세스는 리소스를 할당하는 가장 작은 단위입니다. 프로세스가 생성되는 동안 [0-3G]의 사용자 공간이 할당됩니다.
사용자가 프로그램을 실행하는 한 커널은 현재 프로세스를 나타내는 task_struct(PCB) 구조를 생성합니다.
프로세스 내에서 자체 파일 설명자 및 버퍼 세트를 유지합니다. 프로세스 실행이 종료되자마자 운영 체제는 프로세스의 모든 리소스를 회수합니다.
Time Slice Polling은 동시성을 실현합니다
프로세스의 본질은 다중 프로그래밍 시스템에서 프로그램의 실행 프로세스입니다. 프로세스는 동적으로 생성되고 동적으로 종료됩니다.
동시성: 모든 프로세스는 다른 프로세스와 동시에 실행될 수 있습니다.
독립성: 프로세스는 독립적으로 실행될 수 있는 기본 단위이며 시스템 할당 및 리소스 예약을 위한 독립적인 단위이기도 합니다.
비동기 특성: 프로세스 간 상호 제약으로 인해 프로세스가 간헐적으로 실행됩니다. 즉, 프로세스가 독립적이고 예측할 수 없는 속도로 진행됩니다.프로그램 세그먼트: 프로세스 스케줄러에 의해 CPU에서 실행될 수 있는 프로세스의 프로그램 코드 세그먼트입니다.
데이터 세그먼트: 프로세스의 데이터 세그먼트는 해당 프로세스에 해당하는 프로그램에서 처리된 원본 데이터일 수도 있고, 프로그램 실행 후 생성된 중간 또는 최종 데이터일 수도 있습니다.4.1 프로세스 제어 블록 정의 제어 프로세스의 동작을 설명하기 위해 프로세스의 관리 및 제어 정보를 저장하는 데이터 구조입니다. 시스템에서는 프로세스 제어 블록(PCB 프로세스 제어 블록)이라고 하며 이는 프로세스 엔터티의 일부이자 운영 체제에서 가장 중요한 기록 유지 데이터 구조입니다. 프로세스 관리 및 제어를 위한 가장 중요한 데이터 구조로, 각 프로세스에는 PCB가 존재하며, 프로세스가 생성되면 해당 프로세스가 취소될 때까지 프로세스를 실행하는 전체 프로세스를 동반합니다.
PCB의 본질은 구조입니다. PCB의 이름은 운영 체제에 따라 다릅니다. Linux에서는 PCB를 task_struct라고 하며 PCB는 프로세스를 제어하는 유일한 수단입니다.
각 프로세스에는 프로세스 설명자가 있습니다. 이 "프로세스 설명자"는 task_struct에 프로세스 제어에 대한 많은 정보가 저장됩니다.
4.2 task_struct의 내용각 프로세스는 task_struct 데이터 구조에 해당 정보를 저장하며 task_struct에는 다음 내용이 포함됩니다.
Identifier(pid): 프로세스를 설명하는 데 사용되는 고유 식별자 다른 프로세스.메모리 포인터: 프로그램 코드 및 프로세스 관련 데이터에 대한 포인터는 물론 다른 프로세스와 공유되는 메모리 블록에 대한 포인터도 포함됩니다.
컨텍스트 저장은 CPU 레지스터의 값을 메모리에 저장하는 것이며, 컨텍스트를 복원하는 것은 메모리의 레지스터 값을 CPU에 복원하는 것입니다. 표시된 I/O 요청, 프로세스에 할당된 I/O 장치 목록 및 프로세스에서 사용 중인 파일입니다.
계정 정보: 총 프로세서 시간, 사용된 총 시계 수, 시간 제한, 회계 계정 등이 포함될 수 있습니다.
기타 정보
프로그램은 정적이며 수명 주기가 없습니다. 디스크에 저장된 프로그램은 실행 파일입니다.
프로세스는 동시성을 더 현실적으로 설명할 수 있지만 프로그램은 그렇지 않습니다.
프로세스에는 다른 프로세스를 생성할 수 있는 능력이 있지만 프로그램에는 그렇지 않습니다.
동일한 프로그램이 여러 프로세스에 해당할 수 있습니다.
대화형 프로세스: 대화형 프로세스는 셸에 의해 유지되며 다음을 통해 사용자와 상호 작용합니다. 껍데기 .
예를 들어 텍스트 편집기는 대화형 프로세스입니다.
일괄 프로세스: 일괄 프로세스는 커널의 대기열에 배치되고 대기열이 실행될 때 실행됩니다.
데몬 프로세스: 데몬 프로세스는 시스템이 시작될 때 시작되고 시스템이 종료될 때 종료됩니다.
관련 추천: "
위 내용은 Linux 프로세스에는 어떤 세 부분이 포함됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!