目标程序运行时的存储组织概述_第1页
目标程序运行时的存储组织概述_第2页
目标程序运行时的存储组织概述_第3页
目标程序运行时的存储组织概述_第4页
目标程序运行时的存储组织概述_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 目标代码区目标代码区 静态数据区静态数据区 Stack heap静静态态文文本本中中 运运行行时时动动作作及及为为实实现现其其动动作作的的准准备备 (与与运运行行时时数数据据对对象象的的表表示示有有关关)过过程程定定义义 过过程程名名执执行行过过程程体体 过过程程体体 控控制制数数据据对对象象的的分分配配,为为执执行行过过程程体体使使用用源源文文本本中中同同样样的的名名字字 目目标标程程序序中中不不同同的的数数据据空空间间因因为为一一个个过过程程可可以以是是递递归归的的,这这时时同同一一个个名名字字在在不不同同的的时时间间可可能能代代表表不不同同的的存存储储单单元元决决定定存存储储管管理理复

2、复杂杂程程度度的的因因素素源源语语言言本本身身1. 允允许许的的数数据据类类型型的的多多少少2语语言言中中允允许许的的数数据据项项是是 静静态态确确定定 动动态态确确定定3程程序序结结构构 决决定定名名字字的的作作用用域域的的规规则则和和结结构构A 段段结结构构B 过过程程定定义义不不嵌嵌套套,只只允允许许过过程程递递归归调调用用C 分分程程序序结结构构分分程程序序嵌嵌套套过过程程定定义义嵌嵌套套存存储储分分配配方方案案策策略略: 静静态态存存储储分分配配 动动态态存存储储分分配配栈栈式式 堆堆式式 数数组组内内情情向向量量: 编编译译中中,将将数数组组的的有有关关信信息息记记录录在在一一些些

3、单单元元中中,称称为为“内内情情向向量量”,确确定定数数组组,放放在在符符号号表表中中;可可变变数数组组,运运行行时时建建立立相相应应的的内内情情向向量量。Al 1:u 1,l 2:u 2, ,l ln n : : u un n l1 u1 l2 u2 : : type a(首首地地址址) n C 过程活动记录过程活动记录 AR:为说明方便,假定程序是由过程组成,过程区分为源文本,为说明方便,假定程序是由过程组成,过程区分为源文本,运行时称作过程的激活。运行时称作过程的激活。一个过程的一次执行所需要的信息使用一个连续的存储区来一个过程的一次执行所需要的信息使用一个连续的存储区来管理,这个区管理

4、,这个区 (块)叫做一个活动记录或(块)叫做一个活动记录或 frame(帧帧)一般这个段要记录:一般这个段要记录: 临时值,如计算表达式时的中间工作单元。临时值,如计算表达式时的中间工作单元。 局部变量局部变量(数据)(数据) 保存运行过程前的状态保存运行过程前的状态(返回地址,寄存器值)(返回地址,寄存器值) 存取链存取链(可选)(可选) 对于非局部量的引用。对于非局部量的引用。 控制链控制链(可选)(可选) 指向调用者的活动记录,释放栈。指向调用者的活动记录,释放栈。 实参实参(形式单元)(形式单元) 返回值返回值(对函数)(对函数)(有时可使用寄存器存放返回值)(有时可使用寄存器存放返回

5、值)Main-Q-R Main-Q-Q TOP- R 的活动记录的活动记录 Q 的活动记录的活动记录 SP- Q 的活动记录的活动记录 Q 的活动记录的活动记录 主程序全局主程序全局 主程序全局主程序全局 数据区数据区 数据区数据区TOP- 临时工作单元临时工作单元 局部简单变量局部简单变量 局部数组的内情向量局部数组的内情向量 保存运保存运 行过程前的状态行过程前的状态(返回地址,寄存器值)(返回地址,寄存器值) 实参实参(形式单元)和参数个数(形式单元)和参数个数 SP- 控制链控制链(老(老 SP) TOP R 的数组区的数组区 SP R 的活动记录的活动记录 Q 的活动记录的活动记录

6、主程序全局主程序全局 数据区数据区例:例:program main(i,0); 程序结构图程序结构图 proc R(c,d); R end /*R*/ proc P (a); 主主 proc Q (b); P Q call R R(x,y); end /*Q*/ call Q Q(z); call P end /*P*/ call R P(W);); R(U,V);); end /*main*/ . P 的的活动记录活动记录主程序的主程序的活动记录活动记录 d1d0displaysptop主程序的主程序的活动记录活动记录 d0spdisplaytop(1)(2)R 的的活动记录活动记录 Q 的

7、的活动记录活动记录 P 的的活动记录活动记录主程序的主程序的活动记录活动记录Q 的的活动记录活动记录 P 的的活动记录活动记录主程序的主程序的活动记录活动记录 displayd2d1d0 d1d0 displaysptoptopsp(3)(4) 当过程的层次为当过程的层次为n,它的它的 display为为n+1个个值。值。 一个过程被调用时,一个过程被调用时,从调用过程的从调用过程的DISPLAY表中自下向表中自下向上抄录上抄录n个个SP值,再加值,再加上本层的上本层的SP值。值。全局全局DISPLAY地址地址Display作为活动记录的一部分 变 量 e B5 的 T O P 数 组 C 的

8、 内 情 向 量 变 量 e 和 d B4 的 T O PB2的 TOP 数 组 B 的 内 情 向 量 变 量 zKB1 的 T O PDD I S P L A Y6形 式 单 元 m,n5参 数 个 数:24调 用 时 的 栈 顶 地 址(老 T O P)3全 局 D I S P L A Y 地 址2返 回 地 址1老 S P0过 程 的 T O P,指 向 活 动 记 录 之 顶B的 内 情 向 量 Z B1的 T O PD I S P L A YD I S P L A Y 形 式 单 元 m , n 2 形 式 单 元 m , n 2连 接 数 据连 接 数 据 A 的 T O PA的

9、 T O P (a) (b)(a) 到 达 标 号 B1处 ; (b)进 入 分 程 序 B1;B Z B1T O 数 组 B 数 组 B e dB22的 T O PB 的 内 情 向 量B 的 内 情 向 量 z zB1 的 T O PB1的 T O PD I S P L A YD I S P L A Y 形式单元 m,n 2 形式单元 m,n 2连 接 数 据连接 数 据A 的 T O PA 的 T O P (c) (d)(c )数组 B 分配之后; (d)进入分程序 B22; 数 组C 数 组 C 数 组B 数 组 B C的 向 量 内 情 eB5的T O PC 的 内 情 向 量B4的T O PB4的T O PB 的 内 情 向 量B的 内 情 向 量 z ZB1的T O PB1 的T O PD I S P L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论