1. 참조 환경(Reference Environment), 프로그램 환경(Program Environment)
ㅇ 프로그램 내 특정 부분에서, 참조 가능한 모든 데이터,변수,함수들의 집합에 대한 정보
ㅇ 그러나, 프로그램 수행 중에 이러한 환경이 하나 만 있는 것이 아님
- 프로그램 수행중에 서로다른 환경들이 나타남
. 예를들면, 어떤 값에 변수 이름을 붙여두고 (이름-값 쌍),
. 후에 그 이름으로부터 필요한 값을 얻기 위해,
. 서로다른 기억 공간이 필요하게 되는 등
- 이러한 환경들은, 프로그램 수행의 문맥(Context)을 결정짓게되는 중요 사항 임
2. 활성 레코드 (Activation Record), 환경 레코드 (Environment Record)
ㅇ 호출된 함수가 필요로 하는 수행 참조 환경에 대한 정보가 실제 저장되는 영역
- 즉, 함수의 호출과 복귀, 매개변수의 전달 등에 필수적인 정보들이 이에 담겨짐
- 例) `반환값`, 호출 함수의 `매개변수`, 함수 내의 `지역 변수`, `반환 주소`,
수행 환경 간의 관계 등
ㅇ 호출과 복귀 동작에 필요한 정보들 例)
- 복귀 주소, 새로이 만들어지는 지역 변수에 대한 정보,
이전 활성 레코드의 주소, 현재 블록의 활성 레코드 주소 등
ㅇ 활성 레코드의 저장 및 처리
- 활성 레코드는, 스택이라는 자료구조 처리가 기본 임
- 스택의 최상위에는, 현재 수행중인 활성 레코드가 존재하게 됨