줘이리의 인생적기

프로세스 구조 본문

공부/운영체제

프로세스 구조

줘이리 2021. 11. 12. 23:00
728x90

프로세스는 아래사진과 같이 구성되어 있다.

stack : 임시 데이터(함수 호출, 지역 변수 등)

함수를 실행하게 되면 결과가 리턴될 주소가 stack에 쌓이고, 차례로 함수의 지역변수들이 stack에 쌓인다.

함수가 다 실행되면 stack에 쌓여있던 데이터들이 차례로 삭제되고, 리턴될 주소가 마지막으로 지워지며 그 주소로 이동한다.

 

heap : 동적으로 만들어지는 데이터

C언어를 예로 들었을 때 malloc함수로 지정되는 동적인 요소를 지원하는 공간이다.

 

bss : 초기화 되지 않은 전역 변수

data내에서 분리되는 공간인데, 초기화되지 않은 전역변수가 담기는 공간이다.

 

data : 초기화된 전역 변수

data내에서 분리되는 공간인데, 초기화된 전역 변수가 담기는 공간이다.

 

text(code) : 코드

컴파일된 소스코드가 저장되는 공간이다.

 

 

PC(Program Counter) : 코드를 한줄 한줄 가리키는 주소 레지스터

SP(Stack Pointer) : 함수가 실행될 때 stack의 최상단 주소를 가리키는 레지스터

 

'공부 > 운영체제' 카테고리의 다른 글

Thread  (0) 2021.11.17
PCB(Process Context Block), Context switching  (0) 2021.11.15
인터럽트  (0) 2021.11.10
프로세스 상태, 선점형 & 비선점형 스케쥴러  (0) 2021.11.08
프로세스 스케쥴링 알고리즘  (0) 2021.11.05