(1) 프로세스 식별자

○ 하나의 프로세스가 실행되려면 CPU를 할당 받아야 한다. UNIX 시스템의 CPU가 1개라면 특정 시점에서 실행중인 프로세스는 오직 하나이다. 즉, CPU 개수는 특정 시점에서 실행 가능한 개수와 같다. 

○ 커널은 CPU(자원)을 골고루 나눠 쓸 수 있도록 스케줄링을 한다.

○ 프로세스들은 필연적으로 상태 전이가 일어나야 한다.
- CPU 사용권을 할당 받아 실행중인 상태
- CPU 사용권을 반납하고 대기 중인 상태

○ 메모리에 로딩되어 실행중인 프로세스는 누구나 정보를 확인할 수 있다. 하지만 종료는 수퍼유저(root) 또는 프로세스를 실행한 사용자로 제한된다.

=> 커널은 메모리에 로딩된 많은 프로세스들을 관리 및 제어하기 위해 구분할 수 있는 이름이 필요한데, 이것을 프로세스 식별자인 PID가 한다.


(2) 프로세스 정보 확인 : ps
: 시스템에 상주하는 프로세스에 대한 정보를 출력해 준다.

○ 명령 형식 : $ ps [option]
○ 옵션
  -f : 프로세스 정보를 한 줄씩 출력
  -l : f 옵션보다 더 많은 정보를 출력
  -e : 현재 시스템에서 실행중인 모든 프로세스의 정보를 출력

(Exsample)
$ ps -ef

- UID : 사용자 ID
- PID : 프로세스 식별자
- PPID :  부모 프로세스 식별자

- STIME : 프로세스 실행 시작 시간
- TTY : 표준 입출력을 담당하는 터미널
- TIME : 프로세스의 CPU 점유 시간
- CMD : 실행 명령어

○ -l 옵션을 사용하면 좀더 많은 정보를 확인할 수 있다.
- S : 프로세스의 상태 (O:실행 / S:외부요청대기 / R:CPU점유대기 / Z:좀비 / T:정지)
- PRI : 프로세스의 우선순위
- ADDR : 프로세스의 메모리 주소
- SZ : 프로세스가 차지하는 메모리의 양


by 민트앤라떼 2013. 1. 31. 20:41