날마다 새롭게 또 날마다 새롭게

실행중인 프로그램의 메모리 공간 본문

프로그래밍/C / C++

실행중인 프로그램의 메모리 공간

아무유 2012. 8. 26. 20:31

메모리는 데이터와 명령어를 저장하는 공간을 말한다.

프로그램 실행 시 사용하는 메모리 공간은 Hard Disk, Ram, Cache, Register 4개 영역이 있다. 이 4개의 영역을 운영체제가 단순화하여 하나의 메모리 공간으로 만드는데 이를 가상 메모리 공간이라고 한다.

Hard Disk + Ram + Cache + Register = 가상메모리

가상 메모리는 역할에 따라서 코드 영역, 데이터 영역, 힙 영역, 스택 영역 이렇게 4개의 공간으로 나뉩니다.

코드 영역 : 코드를 저장하는 공간으로 프로그램 실행 시, CPU가 이 곳에서 명령어를 하나씩 가져가서 처리한다.

데이터 영역 : 프로그램이 종료될 때까지 지워지지 않는 데이터를 저장하는 공간으로 전역변수, const 상수, static 변수 등이 있다.

힙 영역 : 프로그래머가 임의의 크기의 데이터를 할당하는 공간으로 malloc, new 등의 명령어를 사용하여 메로리를 할당한다. 

스택 영역 : 프로그램 실행 중 잠깐동안만 사용하고 지워지는 데이터가 저장되는 공간으로 지역변수, 매개변수 등이 있다.


출처 : http://blog.naver.com/0bloodwind0?Redirect=Log&logNo=20127908176

Comments