OS

Process

Raccoon2125 2022. 6. 12. 03:52

[ 메모리 구조 ]

메모리 구조 도식화

1) Text

 - 프로그램 실행 코드 (ex. 제어문, 함수, 상수 등)의 저장 공간

 

2) Data

 - 정적(static) 변수, 전역 변수의 저장 공간

 - 초기화된 변수와 초기화되지 않은 변수. 두 가지 종류로 나뉨.

 - 프로그램 실행 ~ 종료까지 지워지지 않음.

 

3) Heap

 - 프로그램 실행 시 동적으로 할당되는 변수(사용자가 설정할 수 있는 메모리)의 저장 공간

 - 낮은 주소에서 높은 주소로 메모리에 적재

 

4) Stack

 - 함수 호출 시 임시 데이터(매개변수, 지역변수, 반환 주소)의 저장 공간

 - 높은 주소에서 낮은 주소로 메모리에 적재

 - FILO: Stack 형태로 데이터를 누적. 

 

Text 고정적 메모리 주소 사용
Data, Heap, Stack 가변적 메모리 주소 사용

1. 정의

 - "실행 중"인 프로그램

 - 실행 파일을 메모리에 적재시킬 때 프로세스가 동작함.

 

2. 프로세스 상태

프로세스 상태
프로세스 상태 설명
상태 전이 동작

3. 프로세스 제어 블록(Process Control Block; PCB)

 - 각 프로세스는 OS에서 PCB라는 자료 구조에 의해서 표현됨.

PCB는 중요한 정보를 포함하고 있는 자료구조로, 일반 사용자의 접근이 불가한 메모리 주소 내에 위치하고 있음.