1. 프로세스 (Process)
ㅇ 실행중인 프로그램
ㅇ 시분할시스템에서 작업의 단위
ㅇ 하나의 프로그램이 여러 프로세스를 만들 수 있음
ㅇ 병행 실행이 가능
ㅇ 자원이 할당된 추상적인 존재
2. [Unix/Linux] 프로세스 특징
ㅇ 부모 프로세스가 있게됨
- 자식 프로세스가 종료되면, 그 사실이 부모 프로세스에게 알려지게됨
- 한편, 커널도 스스로가 자신의 부모 프로세스임
ㅇ 소유자가 있음
- 특정 사용자 권한으로 실행되고,
- 취급 파일에 대한 퍼미션(접근권한)에 따라 읽기,쓰기 등을 함
ㅇ 커널에 의해 관리됨
3. [Unix/Linux] 프로세스의 메모리 구성
ㅇ 텍스트 섹션
- 적재된 프로그램 코드
- 여러 프로세스가 동일 프로그램으로 실행 가능하므로,
텍스트 섹션은 공유될 수 있음
ㅇ 데이터 섹션
- 전역 변수, 정적 변수
ㅇ 프로세스 힙 섹션
- 함수 매개변수, 복귀 주소, 지역변수와 같은 임시 자료
ㅇ 프로세스 스택 섹션
- 동적인 메모리 할당영역
※ 한편, 각 프로세스가 자신 만의 주소공간을 갖음
- 따라서, 그에 상응하는 메모리를 필요로 함 ☞ 가상 메모리 참조
4. [Unix/Linux] 프로세스 ID (PID)
ㅇ 프로세스 식별용 ID
ㅇ 양의 정수
. 1 ~ 32,767 (기본 상한, 조정 가능)
ㅇ 시스템호출 문에서 인자, 리턴값으로 사용
5. [Unix/Linux] 프로세스의 복제 (시스템콜)
ㅇ fork
ㅇ exec
ㅇ spawn