运行时存储空间组织
第九章 运行时存储空 间组织 内容线索 n目标程序运行时的活动 n运行时存储器的划分 n静态存储分配 n简单的栈式存储分配 n嵌套过程语言的栈式实现 过程的活动 n过程定义。过程名+过程体 n过程调用。n过程的活动。n活动的生存期。包括该过 程调用其它过程花费的时间。
运行时存储空间组织Tag内容描述:<p>1、第六章 运行时存储空间的组织和管理 术语 过程的活动 过程的一次执行称为过程的一次活动 活动记录 过程的活动需要可执行代码和存放所需信息的存 储空间,后者称为活动记录 本章内容 讨论一个活动记录中的数据布局 程序执行过程中,所有活动记录的组织方式 第六章 运行时存储空间的组织和管理 影响存储分配策略的语言特征 过程能否递归 当控制从过程的活动返回时,局部变量的值是否 要保留 过程能否访问非局部变量 过程调用的参数传递方式 过程能否作为参数被传递 过程能否作为结果值传递 存储块能否在程序控制下动态地分配 存储块是否必须。</p><p>2、第九章 运行时存储空 间组织 内容线索 n目标程序运行时的活动 n运行时存储器的划分 n静态存储分配 n简单的栈式存储分配 n嵌套过程语言的栈式实现 过程的活动 n过程定义:过程名过程体 n过程调用:过程名出现在可执行语句中。 n过程的活动:过程的一次执行。 n活动的生存期:执行过程体第一步操作到 最后一步操作之间的操作序列,包括该过 程调用其它过程花费的时间。 (1) program sort(input, output) (2) var a: array010 of integer; (3) procedure readarray; (4) var i: integer; (5) begin (6) for i:=1 to 9 do read(ai。</p><p>3、第九章 运行时存储空间的组织 本章内容 讨论一个活动记录中的数据安排 程序执行过程中,所有活动记录的组织方式 存储器的组织与存储分配的策略 名字存储单元 状态 值 环境 9.1 目标程序运行时的活动 9.1.1 过程的活动 活动 过程的一次执行称为过程的一次活动。 活动记录 过程的活动需要可执行代码和存放所需信息 的存储空间,后者称为活动记录(Activation Record) 活动的生存期 过程P一个活动的生存期,指的是从执行该过程体 第一步操作到最后一步操作之间的操作序,包括执 行P时调用其它过程花费的时间。 9.1 目标程序运行时的活动 9.1.2 。</p><p>4、运行时存储空间组织知识结构:存储器组织和分配概述基本概念 语言中的参数形式参数传递方法运行时存储器的划分运行时存储器的划分 活动记录运行时存储 存储分配策略空间组织 对语言的要求静态存储分配 实现方法实现方法动态存储分配 过程的活动记录DISPLAY表的作用和生成第一节 目标程序运行时的活动编译程序最终目的是将源程序翻译成等价的目标代码。了解目标代码在运行时,用户在源程序中定义各种信息(如变量)的存放和访问.存储组织和管理是一个复杂而又十分重要的问题,主要讨论:活动记录的建立和管理;存储组织和分配的策略;全局。</p><p>5、第六章 运行时存储空间的组织和管理,术语 过程的活动 过程的一次执行称为过程的一次活动 活动记录 过程的活动需要可执行代码和存放所需信息的存储空间,后者称为活动记录 本章内容 讨论一个活动记录中的数据布局 程序执行过程中,所有活动记录的组织方式,第六章 运行时存储空间的组织和管理,影响存储分配策略的语言特征 过程能否递归 当控制从过程的活动返回时,局部变量的值是否要保留 过程能否访问非局部变量 过程调用的参数传递方式 过程能否作为参数被传递 过程能否作为结果值传递 存储块能否在程序控制下动态地分配 存储块是否必须显。</p><p>6、第九章 运行时存储空间组织,概述,任务:编译程序对目标程序运行时的数据空间的组织和管理(设计运行环境和分配存储) 如 通常栈式存储分配布局可为:,目标代码区 静态数据区 Stack heap,运行环境和存储分配设计分析,逻辑阶段:在目标代码生成前,作准备 实质: 关联(Binding) 将源程序的文本 程序运行动作的实现 源文件中的名字N 运行时的存储S 在语义学中,使用术语en。</p><p>7、第九章运行时存储空间组织,在程序的执行过程中,程序中数据 的存取是通过与之对应的存储单元来进 行的。 程序中使用的存储单元都由标识符 来表示。 标识符对应的内存地址都是由编译 程序在编译时或由其生成的目标程序运行时进行分配。,第九章运行时存储空间组织,9.1 目标程序运行时的活动 9.2 运行时存储器的划分 9.3 静态存储分配 9.4 简单的栈式存储分配 9.5 嵌套过程语言的栈式实现 9.6。</p>