[Computer Science]/[운영체제(OS)]

[운영체제(OS)] 9-5) 메모리 내 프로세스 구조 (Process Address Space)

극꼼 2022. 10. 17. 20:18
반응형


프로세스 메모리 구조를 알아보기 전에, 프로세스가 무엇이냐에 대해 간단하게 짚고 넘어갈겁니다.

프로그램이 실행 파일이라면, 프로그램 안에서 실행되고 있는 주체를 프로세스라 합니다. 

각각의 프로세스는 ID를 가지며, 이를 줄여서 PID(Process ID)라 하는데요, 윈도우의 작업관리자, 맥의 활성상태보기 앱에서도 다음과 같이 실행중인 프로세스들을 확인할 수 있습니다.

 


<Process Address Space>

프로그램이 실행되면 메모리에 process address space가 할당됨.

 

이를 더 자세히 살펴보면 다음과 같습니다.

 

메모리 영역에 대해 잘 모르신다면 아래 포스팅을 잠깐 보고 오셔야 합니다.

 

[C#] 메모리(+ 가비지)

1. C# 메모리 구조 2. C# 메모리 관리 1. C# 메모리 구조 메모리의 영역에는 4가지가 있습니다. Stack 영역 지역 변수, 매개 변수를 저장. 컴파일 시점에 크기를 할당하는 정적 할당을 사용 Heap 영역 사

geukggom.tistory.com

 

 

text segment(text 영역), data segment(data 영역)는 실행파일에 존재하며 프로그램을 시작했을 때 RAM에 할당됩니다. 

반면 Heap과 Stack은 프로그램을 실행하면서 할당되었다 사라졌다 합니다. 

* Stack : 컴파일 타임에 지역변수, 매개변수가 차지하는 공간

* Heap : 프로세스가 돌아가는 런타임에 할당되는 공간

 

 

 

반응형