版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
内存管理基础
内存管理概述
存储管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及逻辑上扩充存储器。
功能:
内存的分配和回收地址变换扩充内存存储保护
应用程序的编译、链接与装入
应用程序从用户编写的源文件到内存中执行的进程,大致分为三个阶段:
经编译层序,将源代码编译为若干个目标模块通过丽娜姐程序将编译好的目标模块以及所需的库函数链接在一起,形成完整的装入模块通过装入程序将这些装入模块装入内存并执行。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
一些小笔记
名地址:对程序设计者来说,数据的存放地址由数据名称决定,因此称为名地址。
相对地址(虚拟地址、逻辑地址):源程序经过编译后得到目标代码,由于编译程序无法得知代码驻留在内存的实际位置(物理地址),一般总是从0号单元开始编址,并顺序分配所有地址单元,并不是真实的内存地址。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
重定位:通过地址转换将逻辑地址转换为物理地址的过程。
程序的链接有三种方式:
静态链接:在程序运行之前,先把各个目标模块及所需库连接为一个完整的可执行程序