티스토리 뷰

Hardware/메모리

메모리 구조

prime9999 2023. 5. 30. 21:38
300x250

프로그램이 운영체제로 부터 할당받는 대표적인 메모리 공간은 4가지로 분류 된다.

1. 코드영역

- 실행할 프로그램의 코드가 저장되는 영역

- text영역이라고도 부른다.

- 프로그램이 시작되고 끝날때까지 메모리에 남는다.

- 컴파일 된 기계어가 들어가게 된다.

- CPU는 코드영역에 저장된 명령어들을 하나씩 가져가서 처리하게 된다.

2. 데이터 영역

- 프로그램의 전역변수와 정적(static)변수, 문자열, 상수가 저장되는 영역

- 프로그램이 시작되고 끝날때까지 메모리에 남는다.

 

3. stack 영역

- 함수의 호출과 관계된 지역변수와 매게변수가 저장되는 영역

- 함수의 호출과 함께 할당되며 함수호출이 완료되면 사라진다. 이렇게

스택영역에 저장되는 함수호출 정보를 스택 프레임이라고 한다.

- 프로그램이 자동으로 사용하는 임시 메모리 영역이다.

- 메모리의 높은 주소에서 낮은주소의 방향으로 할당된다.

- 컴파일시에 크기가 결정된다.

- 윈도우는 약 1mb크기, 리눅스는 약 8mb 크기이다.

4. heap 영역

- 힙 영역은 사용자에 의해 메모리 공간이 동적으로 할당되고 해제된다.

- 메모리의 낮은주소에서 높은주소 방향으로 할당된다.

- malloc() 이나 new 를 통해 할당되고 free() 또는 delete연산자를 통해서 해제가 가능하다.

- 런타임시에 크기가 결정 된다.

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함