运行时存储管理2025 年 7 月 7 日 | 阅读 4 分钟 引言在本文中,我们将详细解释运行时存储管理的概念,并提供一些优点、缺点和示例。 什么是运行时存储管理?运行时存储环境是目标计算机寄存器和内存的结构,用于管理内存并跟踪运行程序所需的信息。 它包括以下信息
在过程执行期间需要的信息保存在称为激活记录的存储块中。 激活记录包括过程本地名称的存储空间。 激活记录包含以下信息
我们可以使用以下方法来描述目标代码中的地址
在静态分配中,激活记录的位置在编译时在内存中是固定的。 在堆栈分配中,对于过程的每次执行,一个新的激活记录被压入堆栈。 当激活结束时,记录被弹出。 对于激活记录的运行时分配和解除分配,以下三地址语句相关联
我们假设运行时内存被划分为以下区域
静态分配1. 调用语句的实现需要以下代码来实现静态分配 其中, callee.static_area 显示激活记录的地址。 callee.code_area 显示被调用过程的第一条指令的地址。 #here + 20 字面量用于返回 GOTO 后面的指令的地址。 2. 返回语句的实现需要以下代码来实现从过程 callee 返回 它用于将控制权转移到保存在激活记录开始处的地址。 3. Action 语句的实现ACTION 指令用于实现 action 语句。 4. Halt 语句的实现HALT 语句是用于将控制权返回给操作系统的最终指令。 堆栈分配使用相对地址,静态分配可以变为堆栈分配,用于激活记录中的存储。 在堆栈分配中,寄存器用于存储激活记录的位置,因此可以作为此寄存器中值的偏移量来访问激活记录中的字。 需要以下代码来实现堆栈分配 1. 堆栈的初始化2. 调用语句的实现其中, caller.recordsize 是激活记录的大小 #here + 16 是 GOTO 指令之后的指令的地址 3. 返回语句的实现运行时存储管理的优点以下是运行时存储管理的各种优点的列表
运行时存储管理的缺点以下是运行时存储管理的各种缺点的列表
关于运行时存储管理的常见问题1. 列出与激活记录的分配和解除分配相关的不同地址语句? 答案
2. 你所说的存储分配是什么意思? 答案:这是将存储空间与变量关联的过程,以便可以将变量表示的数据项在内部记录下来。 3. 列出堆栈分配的一些缺点? 答案 以下是堆栈分配的各种缺点的列表。
下一主题基本块 |
我们请求您订阅我们的新闻通讯以获取最新更新。