본문 바로가기
Knowledge/CS

[CS] 프로세스의 구조

by YoonJong 2022. 12. 6.
728x90

프로세스의 구조는 code, data , heap , stack 으로 나뉜다.

 

code 는 개발자가 작성한 컴파일 된 코드

 - 실행 명령을 포함하는 코드가 들어가는 영역

 - 읽기 전용 영역 ( 코드를 변경할 수 없다 )

data 는 전역변수 저장

 - 프로그램이 사용하는 데이터를 저장하는 공간

 - static (전역변수) 값을 참조한 코드는 컴파일이 완료되면 data 영역의 주소값을 가리킨다.

heap 은 동적으로 할당된 데이터가 저장

 - 런타임(프로그램 실행) 때 결정된다

 - 객체가 생성되는 영역이며, GC 에 의해 정리된다.

stack 은 함수 실행을 위한 지역변수 저장

 - 프로그램이 실행될 때 자동으로 사용하는 메모리영역

 - 함수 호출 시 생성되며 함수가 끝나면 반환된다.

 

 

 

 

 

 

 

 

728x90

댓글