1. 计算机体系结构和内存层次
重定位,分段,分页,虚拟存储
重定位:改段寄存器的地址。
分段:程序分为数据、代码、堆栈。
分页:把内存分为最基本的单位
虚拟存储:逻辑地址空间大于物理内存空间
2.地址空间和地址生成
物理地址:硬件支持的地址空间。
逻辑地址:在cpu运行进程看到的地址。
程序加载到内存中,变成进程。
源代码编译,变成指令的汇编指令(汇编的源代码),再次编译,变成二进制代码(机器能认识的指令)。
3.连续内存分配
给进程分配一块不小于指定大小的连续的物理内存区域。
内存碎片:外碎片(两块之间的)、内碎片(分配给进程的无法利用的区域)
动态分区分配:加载执行进程时,为其分配指定的内存。进程结束之后,就会释放内存空间。再次使用这些内存碎片的时候,就进行动态分配:最先匹配、最佳匹配、最差匹配。
最先分配:简单、高地址空间有大块空闲分区;
但外部碎片多,分配大块时较慢。尤其是后面搜索时间会很长,开销变大。
最佳匹配:比他大但大的最少;
简单,外碎片小,但剩余的外碎片基本没用了,