본문 바로가기
🗂 Study/운영체제

[OS] 프로세스의 주소 공간

by 뿌맘 2021. 8. 20.
반응형

📍 프로세스

프로세스란 실행되고 있는 프로그램으로, 각 메모리 공간을 시스템으로부터 할당받습니다.

프로세스의 주소 공간은 코드, 데이터, 스택, 힙 네 가지 영역으로 구성됩니다. 이러한 주소 공간을 가상 메모리라고 부릅니다.

 

 

﹥ 코드(Code)

코드 영역은 실행 파일을 구성하는 명령어들이 올라가는 메모리 영역으로 함수, 제어문, 상수 등이 지정됩니다.

컴파일 시에 결정되며 Read-Only 영역이기 때문에 코드를 함부로 변경할 수 없고 변경 시 오류를 발생시킵니다.

 

데이터(Data)

프로그램이 구동되는 동안 항상 접근 가능한 변수가 저장되는 영역입니다. 데이터 영역은 프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸합니다. 실행 중에 전역 변수가 변경될 수 있기 때문에 Read-Write로 지정되어있습니다.

 

﹥ 스택(Stack)

함수의 호출과 관계되는 지역 변수와 매개변수가 저장되는 영역입니다.

함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸합니다.

컴파일 시에 크기가 결정되기 때문에 무한히 할당할 수 없으며, 재귀 함수가 너무 깊게 호출되거나 함수가 지역변수를 많이 가지고 있으면 stack overflow가 발생할 수 있습니다.

 

﹥ 힙(Heap)

런타임 시 크기가 결정되며, 사용자에 의해 메모리 공간이 동적으로 할당되고 해제됩니다. 메모리 주소 값에 의해서만 참조되고 사용됩니다.

 

 


References

 

[운영체제] 프로세스 메모리 구조

시스템은 프로그램을 실행할 때 해당 프로그램을 메모리에 로드합니다. 그 메모리 구조에 대해 알아보겠습니다!실행되고 있는 프로그램으로, 프로세스는 각 메모리 공간을 시스템으로부터 할

velog.io

 

OS - 프로세스 메모리 구조 - kwon | kwon's Blog

프로세스란? 프로세스란 운영체제 입장에서 하나의 작업 단위이며, 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 프로그램과 프로세스 프로그램은 일반적으로 하드 디스크

kyu9341.github.io

 

프로세스 주소 공간

메모리영역 1) Code(Text) 우리가 작성한 소스코드가 들어 가는 부분. 즉, 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code)영역 이라고도 부른다. 코드영역은 실행 파일을 구성하는 명령어

gona.tistory.com

반응형

'🗂 Study > 운영체제' 카테고리의 다른 글

[OS] 시스템 콜 🔔  (0) 2021.09.07
[OS] 인터럽트 (Interrupt) 🚨  (0) 2021.08.25
[OS] 프로세스(Process) 와 쓰레드(Thread)  (0) 2021.08.13

댓글