OS - 프로세스의 주소 공간

choko's avatar
Jun 29, 2024
OS - 프로세스의 주소 공간

프로세스의 주소 공간

  • 프로그램이 CPU에 의해 실행되면, 프로세스가 생성되고 메모리에 프로세스 주소 공간이 할당된다.
  • 프로세스 주소 공간에는 코드, 데이터, 스택, 힙 영역으로 이루어져 있다.
    • 코드 영역
      • 프로그램 코드를 기계어 상태로 저장
    • 데이터 영역
      • 전역 변수, static 변수 등 저장
      • 프로그램 시작과 함께 할당되며, 프로그램이 종료되면 소멸한다.
    • 스택(stack) 영역
      • 함수, 지역 변수 저장
      • 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸한다.
      • stack overflow : 재귀함수 등이 너무 깊게 호출되어 함수가 지역변수를 너무 많이 가지고 있어 발생하는 에러
    • 힙(heap) 영역
      • 런타임에 크기가 결정되는 영역
      • 사용자에 의해 공간이 동적으로 할당 및 해제됨(C)
      • 가비지가 쌓이고 가비지 컬랙터가 처리함
       
  • 구역을 나눈 이유?
    • 최대한 데이터를 공유하여, 메모리 사용량을 줄이기 위함
    • 스레드는 자신만의 스택 영역을 가진고 나머진 공유한다.
    •  
Share article

Tom의 TIL 정리방