임베디드

[메모리] 메모리구조 : text data bss stack heap

히똔 2022. 4. 17. 16:25
728x90
반응형

시스템 프로그래밍의 꽃인 멀티 스레딩을 배우기 전 메모리 구조를 잘 알아야
임계영역과 뮤텍스를 좀 더 쉽게 이해할 수 있다..!!

stack 과 heap 공간의 차이를 알면 코딩테스트를 준비할 때에도 도움이 될 수 있다.
(stack / heap 의 메모리 공간 제한이 있는 경우가 있다)

 

 

메모리

메모리

0과 1로된 CPU 명령어를 저장한다.
메모리 공간을 각 프로세스마다 나누어서 사용하고, 프로세스마다 세부적인 공간을 가진다.

각 프로세스는 세부적인 공간을 가진다.

 

 

프로세스 구성

하나의 프로세스는 text / data / bss / stack / heap 으로 구성되어있다.

한 프로세스 세그먼트 구성

 

text 코드 영역
data 초기화된 전역변수
bss 초기화 안된 전역변수
heap malloc으로 만든 변수
stack 지역변수

 

위와 같이 세그먼트가 구성되어있다.

int data = 32; //초기화된 전역변수
int bss; // 초기화 안된 전역변수

int main(){

	int stack = 31; //지역변수
	int *heap = (int *)malloc(4); //malloc으로 만든 변수
	
	return 0;
}

 

 

728x90
반응형