内存与操作系统内存管理
一、内存的基础知识
内存是用于存放数据的硬件,程序执行前需要将数据放入内存中才能被CPU处理。内存通过对内部的存储单元编址来解决并发执行下各个程序的数据区分,根据计算机字长的不同,存储单元大小不同(如64位计算机每个字大小为64位,8个字节)。
内存存放的相对寻址:编译语言编译后的指令寻址,是通过相对地址实现的,实际存入内存时再根据进程在内存中的起始地值得到绝对地址。编译生成的机器语言中的地址实际都是逻辑地址,再通过链接(形成完整逻辑地址)后,通过装入模块装入内存运行,这时将逻辑地址转换成物理地址(主要使用动态重定位装入方法:CPU内有重定位寄存器保存了程序存放内存的起始位置,结合逻辑地址可以实现动态重定位)。
二、内存管理
操作系统是系统资源的管理者,也需要对内存进行管理。操作系统需要负责以下事情:
- 提供某种技术从逻辑上对内存空间进行扩充
- 内存空间的分配与回收