리눅스에서 PCB는 어디에 작업 구조 또는

PCB 또는 프로세스 제어 블록 은 Wikipedia에서 이와 같이 정의됩니다.

프로세스 제어 블록 (PCB, 작업 제어 블록, [1] 작업 구조 또는 스위치 프레임이라고도 함)은 특정 프로세스를 관리하는 데 필요한 정보가 포함 된 운영 체제 커널의 데이터 구조입니다. PCB는 “운영 체제에서 프로세스의 표현입니다”

그 의무는 다음과 같습니다.

Process identification data
Processor state data
Process control data

프로세스의 PCB는 어디에서 찾을 수 있습니까?



답변

Linux 커널에서 각 프로세스는 task_struct이중 연결 목록으로 표시되며 헤드는 init_task(pid 1이 아니라 pid 0)입니다. 이것을 프로세스 테이블 이라고 합니다 .

사용자 모드에서 프로세스 테이블은 아래 일반 사용자에게 표시됩니다 /proc. 귀하의 질문에 대한 제목을 복용 :

  • 프로세스 식별 데이터 는 프로세스 ID (경로에 있음 /proc/<process-id>/...), 명령 줄 ( cmd) 및 ‘식별’정의에 따라 다른 속성 일 수 있습니다.

  • 프로세스 상태 데이터 에는 스케줄링 데이터 ( sched, statschedstat), 프로세스가 현재 대기중인 것 ( wchan), 환경 ( environ) 등이 포함됩니다.

  • 프로세스 제어 데이터 는 자격 증명 ( uid_map) 및 리소스 제한 ( limits) 이라고 할 수 있습니다 .

따라서 용어 정의 방법에 따라 다릅니다. 그러나 일반적으로 프로세스에 대한 모든 데이터는에서 찾을 수 있습니다 /proc.