OS #14 프로세스 구조1

underlier12·2020년 3월 16일
0

OS

목록 보기
14/35

14. 프로세스 구조

프로세스의 일반적 구성

프로세스는 다음과 같이 4가지 영역으로 나눌 수 있다.

  • text(code) : 일반 코드가 존재
  • data : 변수/초기화된 데이터가 존재
  • stack : 임시 데이터(함수 호출, 로컬 변수 등)이 존재
  • heap : 코드에서 동적으로 생성되는 데이터

프로세스와 프로그램의 동작

위에서 언급한 바와 같이 프로그램이 실행되면 프로세스의 text 영역에 코드들이 전달이 된다.

이후 PC(Program Counter)가 코드가 존재하는 주소(옆에 적힌 메모리 주소)를 하나하나 가리키며 실행이 되고 실행 중 필요시 stack, heap, data 영역에 read/write를 실시한다.

중간에 return address가 있는 이유는 함수 내에 함수가 존재하는 경우도 있으므로 그런 경우 return address를 지정하여 다시 돌아가 작업이 이어지도록 하기 위함이다.

일련의 연산과정이 끝나면 stack에서 차례대로 다시 제거가 되며 이후 모든 작업이 완료되었을 경우 다음과 같은 상태가 되고 프로그램이 종료된다.

profile
logos and alogos

0개의 댓글