노력과 삽질 퇴적물

프로세스의 정의와 이해 본문

프로그래밍note/미분류.

프로세스의 정의와 이해

MTG 2011. 12. 14. 09:35

관용적으로 실행중인 프로그램을 일컫으며 program의 code와 동일하다.
프로그램 그 자체는 프로세스가 아니다. 프로그램은 실행파일처럼 수동형(passive)이고, 프로세스는 실행할 명령어를 지정하는 프로그램 카운더와 연관된 자원의 집합을 가진 능동형(active)이다.

Process = 프로세스 스택 + 데이터 섹션 + 힙
= threads(2개 이상) + address space(1개)
= 프로그램이 실행되서 메모리에 적재될때

Process != program
!= code + (passive)data

참고.
스택,Stack = 함수의 매개변수, 복귀주소, 지역변수같은 일시적인 자료가 할당되는곳으로 함수 call, return등에 사용.
데이터 섹션 = 전역변수를 기록
힙, Heap = 프로세스 실행중에 동적으로 할당되는 메모리