ξ第七章运行时存储空间管理 第一节变量及存储分配 程序投入运行的必要条件: 一组可运行的代码 个运行环境:分配空间、提供运行信
第七章 运行时存储空间管理 第一节 变量及存储分配 程序投入运行的必要条件: 一组可运行的代码 一个运行环境:分配空间、提供运行信 息
程序的存储空间 1.代码空间:线性存放着目标指令序列 在GAM中,当前执行的指令位置由指 令指针ip指示。 2.数据空间 (1)内容:变量、常数、控制和管理信 、描述符等
一. 程序的存储空间 1. 代码空间: 线性存放着目标指令序列 在GAM中, 当前执行的指令位置由指 令指针ip指示。 2. 数据空间 (1)内容: 变量、常数、控制和管理信 息、描述符等
(2)静态分配:在运行前就可确定数据 空间的大小,在编译时刻就能进行的存储 分配 (3)动态分配运行时才能进行的存储 分配 栈分配:因变量生存期的嵌套性 堆分配:因生存期的随机交叉特性
(2)静态分配: 在运行前就可确定数据 空间的大小, 在编译时刻就能进行的存储 分配 (3)动态分配: 运行时才能进行的存储 分配 栈分配: 因变量生存期的嵌套性 堆分配: 因生存期的随机交叉特性
活动记录 一个程序单元的一次激活所需的信息管 理是通过相应的活动记录来实施的 个单元的每次激活,都应建立相应的活 动记录,它是单元实例的一部分
二. 活动记录 一个程序单元的一次激活所需的信息管 理是通过相应的活动记录来实施的。一 个单元的每次激活,都应建立相应的活 动记录,它是单元实例的一部分
返回地址 1.活动记录的内容 动态链 (1)返回地址 静态链 (2)动态链和静态链 形式单元 (3)形式单元 变量存储区 (4)局部变量或其描述符,以及临时变 量
1. 活动记录的内容 (1)返回地址 (2)动态链和静态链 (3)形式单元 (4)局部变量或其描述符,以及临时变 量 返回地址 动态链 静态链 变量存储区 形式单元