티스토리 뷰
300x250

프로그램이 운영체제로 부터 할당받는 대표적인 메모리 공간은 4가지로 분류 된다.
1. 코드영역
- 실행할 프로그램의 코드가 저장되는 영역
- text영역이라고도 부른다.
- 프로그램이 시작되고 끝날때까지 메모리에 남는다.
- 컴파일 된 기계어가 들어가게 된다.
- CPU는 코드영역에 저장된 명령어들을 하나씩 가져가서 처리하게 된다.
2. 데이터 영역
- 프로그램의 전역변수와 정적(static)변수, 문자열, 상수가 저장되는 영역
- 프로그램이 시작되고 끝날때까지 메모리에 남는다.
3. stack 영역
- 함수의 호출과 관계된 지역변수와 매게변수가 저장되는 영역
- 함수의 호출과 함께 할당되며 함수호출이 완료되면 사라진다. 이렇게
스택영역에 저장되는 함수호출 정보를 스택 프레임이라고 한다.
- 프로그램이 자동으로 사용하는 임시 메모리 영역이다.
- 메모리의 높은 주소에서 낮은주소의 방향으로 할당된다.
- 컴파일시에 크기가 결정된다.
- 윈도우는 약 1mb크기, 리눅스는 약 8mb 크기이다.
4. heap 영역
- 힙 영역은 사용자에 의해 메모리 공간이 동적으로 할당되고 해제된다.
- 메모리의 낮은주소에서 높은주소 방향으로 할당된다.
- malloc() 이나 new 를 통해 할당되고 free() 또는 delete연산자를 통해서 해제가 가능하다.
- 런타임시에 크기가 결정 된다.
728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- json
- Query
- db
- SpringBoot
- Java
- JPA
- 코딩테스트
- 코테
- 비양도 후기
- RDBMS
- 배포
- SQL
- 청도 미나리 식당
- 알고리즘
- 비양도 리뷰
- JWT 완전정복
- 비양도 위치
- 청도 미나리
- CentOS
- 솔루션
- API
- 젠킨스
- SQLD
- 정규화
- Deadlock
- 배포자동화
- jenkins
- spring
- Oracle
- mysql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함