运行时刻环境
存储组织

活动记录
使用一个连续的存储块来管理过程在一次执行中所需要的信息, 这个块叫活动记录
静态分配
编译器在编译时刻就可以做出存储分配决定, 不需要考虑程序运行时刻的情形
全局常量, 全局变量
名字在程序被编译时绑定到存储单元, 不需要运行时支持.
C语言的外部变量, 静态局部变量, 常量都可以静态分配
动态分配
- 在栈上分配
- 在堆上分配
栈式分配
活动树
- 过程调用在时间上总是嵌套的
- 后调用的先返回
- 因此用栈来分配过程活动所需的内存空间
- 程序运行的所有过程活动可以用树来表示
- 每个结点对应于一个过程活动
- 根结点对应于main过程的活动
- 过程p的某次活动对应的结点的所有子结点
- 表示此次活动所调用的各个过程活动
- 从左向右, 表示调用的先后顺序
- 又称为调用树(Call Tree)