취미와 밥줄사이
[ C ] 메모리의 구조 본문
메모리의 구조
- 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드 되어야함
- 프로그램에서 사용되는 변수들을 저장할 메모리도 필요함
- 컴퓨터의 운영체제는 프로그램읠 실행을 위해 다양한 메모리 공간을 제공
- 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간
- code 영역
- data 영역
- stack 영역
- heap 영역

코드 영역
- 코드를 실행하기 위해 저장되어있는 영역
- 프로그램을 실행시키기 위해 구성되는 것들이 저장되는 영역
- 명령문, 제어문, 함수, 상수들이 이 영역에 저장됨
- 작성한 소스코드가 들어가는 부분
- 텍스트 영역
데이터 영역
- 우리가 작성한 코드에서 전역변수, 정적변수 등이 저장되는 공간
- 프로그램의 시작과 동시에 할당되고, 프로그램이 종료되어야 메모리가 소멸되는 영역
힙 영역
- 사용자에 의해 관리되는 영역
- 동적으로 할당 할 변수들이 여기에 저장
- 동적할당 영역
- 프로그래머가 할당/해제하는 메모리 공간
스택 영역
- 함수를 호출할 때 지역변수, 매개변수들이 저장되는 공간
- 함수가 종료되면 해당 함수에 할당된 변수들은 메모리에서 해제됨
- 프로그램이 자동으로 사용하는 임시 메모리 영역
- 함수 호출이 완료되면 사라짐
32bit 운영체제 vs 64bit 운영체제
- 둘의 차이점은 비트의 너비(폭)
- 고속도로에 32개의 차선 vs 64개의 차선
- 데이터 처리 단위
- 2^32 경우수 vs 2^64의 경우의 수
- 43억 vs 1844경
- 메모리 한 칸은 1byte의 크기를 가짐
- 64비트 운영체제는 메모리 한 칸의 주소를 64비트로 표현 = 8바이트
- 32비트 운영체제는 메모리 한 칸의 주소를 32비트로 표현 = 4바이트
프로그램 실행 순서
- 프로그램이 실행하게 되면 OS는 메모리(RAM)을 공간을 할당
- 할당해주는 메모리 공간은 4가지( Code, Data, Stack, Heap)

REFERENCE
http://www.tcpschool.com/c/c_memory_structure
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
메모리 구조 [Memory Structure]
안녕하세요. 오늘은 제목에서 밝혔듯 메모리 구조에 대해 알아보려 합니다. 흔히 메모리라고 하면 RAM을 지칭하는데요, 보통 컴퓨터 구조에 대해 학습하시거나 배우셨던 분들은 알겠지만 메모리
st-lab.tistory.com
[컴퓨터 기초] 메모리구조(Memory Structure) - jinShine
프로그램 실행 순서 메모리 영역에 관해 이야기하기 전에 어떤식으로 프러그램이 실행되는지 과정을 살펴 보겠습니다. 프로그램의 정보를 읽어 메모리에 로드되는 과정을 보실 수 있으실텐데,
jinshine.github.io
https://all-young.tistory.com/17
메모리의 구조 (코드, 데이터, 힙, 스택 영역)
목차 메모리 코드(code) 영역 데이터(data) 영역 힙(heap) 영역 스택(stack) 영역 오버 플로우 메모리 위 그림과 같이, 프로그램이 실행되기 위해서는 운영체제(OS)가 프로그램의 정보를 메모리에 로드
all-young.tistory.com
'C' 카테고리의 다른 글
[ C ] 정적변수란? (0) | 2022.02.08 |
---|---|
[ C ] 포인터의 개념 (0) | 2022.02.07 |
[Selenium] PermissionError: [Errno 13] Permission denied (0) | 2021.05.29 |
[Data Analysis] seaborn figure 사이즈 조절하는 법 (0) | 2021.05.13 |
[Data_Analysis] 공공데이터 분석 - 인천에 어떤 커피 브랜드가 많을까? (0) | 2021.05.13 |