内存管理跟踪每个内存位置的状态,无论是已分配还是空闲。它根据请求将内存动态分配给程序,并在不再需要时将其释放以供重用。内存管理旨在满足以下一些要求。
这些内存管理要求是:
1.重定位(Relocation)
可用内存通常在一个多程序系统中的多个进程之间共享,因此在执行程序时无法事先知道哪些其他程序将驻留在主存储器中。 在主内存中交换活动进程可以使操作系统拥有更大的准备执行进程池。
当程序被换出到磁盘存储器中时,由于它仍然可能被另一个进程占用,因此当它被换回到主存储器中时,它并不总是占据先前的存储位置。我们可能需要将进程重新定位到不同的内存区域。因此,有可能由于交换而使程序在主存储器中移动。
该图描绘了一个过程映像。过程映像占用主存储器的连续区域。操作系统将需要了解许多内容,包括过程控制信息的位置,执行堆栈和代码输入。在程序中,各种指令中都有内存引用,这些引用称为逻辑地址。
将程序加载到主存储器中后,处理器和操作系统必须能够将逻辑地址转换为物理地址。分支指令包含要执行的下一条指令的地址。数据引用指令包含引用数据的字