Introduction: When one starts running the program then some data is only available at run time, so we must relate the static source text of a program to the actions that must occur at run time to implement the program. We need to understand the relationship between names and data objects (address and value).
Allocation & de-allocation is managed by run time support package which consists of routines loaded with the generated target code. Each execution of a procedure is referred to as an activation of the procedure. If the procedure is recursive, several of its activations may be alive at the same time. We will be dealing with activations of two procedures whose lifetimes are either non overlapping or nested. That is, if a and b are procedure activations and b is entered before a is left, then control must leave b before leaves a. We will not be dealing with partially overlapping activations (threads). A procedure is recursive if a new activation can begin before an earlier activation of the same procedure has ended.