内存基础知识
内存是一个高速的存储硬件。程序执行前需要先放到内存中才能被CPU处理。
1.进程的运行原理-指令
指令会告诉CPU应该去内存中哪个地址去存取数据以及做什么样的处理。
2.逻辑地址和物理地址
-
逻辑地址就是一个相对地址
-
物理地址就是绝对地址
-
编译时的指令只关心相对地址,指令进入内存中时再根据起始位置得到绝对地址。
3.从写程序到程序运行
-
编译:把高级语言翻译成机器语言
-
链接:形成模块
-
装入:将模块装入内存运行(逻辑地址到物理地址的转换)
4.装入
-
绝对装入:已知绝对地址,直接装入
-
静态重定位:故居内存当前情况对装入地址进行重定位。要求必须分配其要求的全部内存空间。装入后地址不可改变
-
动态重定位:把地址转换推迟到程序真正执行时才进行。需要重定位寄存器的支持。
5.链接
-
静态
-
动态
-
运行时动态
内存管理的概念(了解)
1)内存空间的分配与回收
2)空间扩充,虚拟技术
3)地址转换,三种装入方式
4)内存保护
总结: