[CS 스터디] 1. 운영체제 - 프로세스 주소 공간

채채·2023년 12월 7일
0

CS 스터디

목록 보기
3/21

프로그램이 CPU에 의해 실행됨 -> 프로세스가 생성되고 메모리에 프로세스 주소 공간이 할당됨

프로세스 주소 공간: 코드, 데이터, 스택

  • 코드 Segment: 프로그램 소스 코드 저장
  • 데이터 Segment: 전역 변수 저장
  • 스택 Segment: 함수, 지역 변수 저장

구역을 나눈 이유?

  • 최대한 데이터를 공유하여 메모리 사용량을 줄이기 위해
  1. Code는 같은 프로그램 자체에서는 모두 같은 내용이기 때문에, 따로 관리하여 공유
  2. Stack 과 data를 나눈 이유는, 스택 구조의 특성과 전역 변수의 활용성을 위해

프로그램의 함수와 지역 변수는 LIFO(Last In First Out, 나중에 들어간게 먼저 나옴) 특성을 가진 스택에서 실행된다
따라서 이 함수들 안에서 공통으로 사용하는 '전역 변수'는 따로 지정해주면 메모리를 아낄 수 있다.

출처

gyoogle님의 Tech Interview

profile
성장하는 사람

0개의 댓글