본문 바로가기
컴퓨터공학기초 개념/운영체제

16. 프로세스 구조(4) - BSS와 Data

by devraphy 2021. 4. 15.

1. BSS와 Data 영역

  • 프로세스 구조에서 Data 영역은 BSS와 Data 영역으로 나뉜다. 

 

a) BSS

- 초기화 값이 없는 전역변수를 의미한다.

 

b) Data

- 초기화 값이 있는 전역변수를 의미한다. 

 


2. 코드를 통해서 살펴보자

 

- 예제 코드

int global_data1; //초기화 값이 없는 변수
int global_data2 = 1; // 초기화 값이 있는 변수

int main()
{
    int *data;
    data = (int *) malloc(sizeof(int));
    *data = 1;
    printf("%d\n", *data);
    return 0;
}

 

 

- 프로세스

- 딱 두가지만 확인하자. 

  • main 함수 내부에 있는 변수(= 지역변수)는 Stack에 쌓인다. 
  • main 함수 밖에 있는 변수(= 전역변수)는 초기값의 유무에 따라서 BSS 또는 Data에 쌓인다. 

댓글