728x90
프로세스의 구조는 code, data , heap , stack 으로 나뉜다.
code 는 개발자가 작성한 컴파일 된 코드
- 실행 명령을 포함하는 코드가 들어가는 영역
- 읽기 전용 영역 ( 코드를 변경할 수 없다 )
data 는 전역변수 저장
- 프로그램이 사용하는 데이터를 저장하는 공간
- static (전역변수) 값을 참조한 코드는 컴파일이 완료되면 data 영역의 주소값을 가리킨다.
heap 은 동적으로 할당된 데이터가 저장
- 런타임(프로그램 실행) 때 결정된다
- 객체가 생성되는 영역이며, GC 에 의해 정리된다.
stack 은 함수 실행을 위한 지역변수 저장
- 프로그램이 실행될 때 자동으로 사용하는 메모리영역
- 함수 호출 시 생성되며 함수가 끝나면 반환된다.
728x90
'Knowledge > CS' 카테고리의 다른 글
[CS] Overriding 과 Overloading의 차이점 (0) | 2022.12.09 |
---|---|
기술면접 주요질문 - 공개X (0) | 2022.12.09 |
[CS] 인덱스(Index) 란? (0) | 2022.12.04 |
[CS] 객체지향 프로그래밍이란? (0) | 2022.12.03 |
[CS] 뮤텍스(Mutex) 세마포어(Semaphore) 란? (0) | 2022.12.02 |
댓글