Just do IT
article thumbnail

프로그램, 프로세스, 스레드

   * 프로그램 : 바이너리, 코드 이미지, 응용 프로그램, Application, 또는 실행 파일

   * 프로세스 : 실행 중인 프로그램 (메모리 적재 + 프로세스 상태 정보 포함)

   * 스레드

      - 리눅스 프로세스는 기본 스레드 포함

      - 싱글스레드 프로세스 : 기본 프로세스

      - 멀티스레드 프로세스 : 여러 스레드 존재

 

프로세스 ID

   * pid(process id), 프로세스는 해당 시점에 unique pid 가짐

   * pid 최대 값은 32768

   * 부호형(signed) 16비트 정수값 사용

   * 최근 할당된 pid 200이라면, 이후는 201, 202… 식으로 할당된다

 

프로세스 계층

   * 최초 프로세스 : init 프로세스, pid 1

   * init 프로세스는 운영체제가 생성

   * 다른 프로세스는 다른 프로세스로부터 생성 : 부모 프로세스, 자식 프로세스

   * ppid 값이 부모 프로세스틔 pid 뜻함

 

프로세스와 소유자(owner) 관리

   * 리눅스 내부에서는 프로세스의 소유자(사용자) 그룹을 UID/GID (정수) 관리

   * 사용자에 보여줄때에만 UID 사용자이름 매핑 정보를 기반으로 사용자 이름으로 제공

 

출처 : 제로베이스

profile

Just do IT

@AmyG

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!