본문 바로가기
IT 개인학습/Memo

프로세스 메모리 구조

by kiimy 2022. 8. 15.
728x90

프로세스 메모리 구조

프로그램이 실행되기 위해서는 먼저 프로그램이 운영체제로부터 메모리 공간을 할당받아야 한다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하는데, 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간에는 4가지 영역이 존재한다.

 

코드 영역과 데이터 영역은 프로세스가 실행되기 직전에 위치와 크기가 결정되고 실행되는 동안 변하지 않으므로 정적 할당 영역이라고 부른다.

1. 코드(code) 영역: 실행할 프로그램의 코드가 저장되는 영역

2. 데이터(data) 영역: 프로그램이 사용하려고 미리 정의한 변수와 데이터가 저장되는 영역

 

스택 영역과 힙 영역은 스레드가 작업하면서 값이 바뀌거나 새로 만들 만들어지거나 사라지는 동적 할당 영역이다.

3. 스택(stack) 영역: 프로세스 실행을 위한 함수의 호출과 관계되는 지역 변수 및 매개변수가 저장되는 임시 메모리 영역

4. 힙(heap) 영역: 프로그램이 실행되는 동안 사용자가 직접 메모리를 관리할 수 있는 메모리 영역

 

https://bentist.tistory.com/57

 

재귀(Recursion)와 스택(stack)영역

다른 알고리즘과는 다르게 제목에 재귀와 함께 스택 영역을 적어놓은 이유가 있다. 재귀 함수를 호출하는 것과 메모리 스택 영역의 연관성은 마지막 부분에 정리하겠다. 1.1 재귀(Recursion) * 위키

bentist.tistory.com

 

728x90

'IT 개인학습 > Memo' 카테고리의 다른 글

Python 함수 주석  (0) 2022.08.29
if not 문  (0) 2022.08.15
README template  (0) 2022.06.08
Big O 표기법  (0) 2022.06.04
Pillow image mode  (0) 2022.05.07

댓글