[CS][OS] Process Address Space

HyunDong Lee·2022년 4월 11일
1

짧은CS

목록 보기
2/6
post-thumbnail

프로세스는 실행중에 있는 프로그램의 주체이다.
실행중인 프로그램의 하나의 인스턴스인 것이다. 프로그램을 실행하기 위해서는 프로세스의 변수나 명령어를 메모리에 올려야합니다. 그렇기 때문에 각각의 process의 주소 공간이 필요한데, 메모리 관리를 통해서 하게 됩니다.

Process Control Block

프로세스를 관리하기 위해 프로세스 마다 유지하는 정보입니다.

  • PC값, 레지스터값
  • Code, data, Stack
  • file descripter

이 것들 중에서 지금 보려고 하는 부분은 바로 stack, data, code 영역입니다.
Stack
|
v

^
|
heap
static data(data segment)
code (text segment)

stack - function이 실행될 때 사용하는 메모리, 컴파일 타임에 지역, 매개변수 차지
heap - 프로그램 실행 시 동적 할당되는 메모리, 런타임에 크기 알려줘서 공간 확보
코드영역 - 코드 저장
데이터 영역 - global, static 변수
코드 영역 + 데이터 영역 in 실행파일
프로그램이 시작될 때 RAM에 올라가면서 할당된다.

0개의 댓글