目录:
定义-连续内存分配是什么意思?
连续内存分配是一种经典的内存分配模型,它为进程分配连续的内存块(即具有连续地址的内存块)。
连续内存分配是最古老的内存分配方案之一。 当需要执行某个进程时,该进程会请求内存。 将进程的大小与可用于执行该进程的连续主内存的数量进行比较。 如果找到足够的连续内存,则会为该进程分配内存以开始执行。 否则,它将被添加到等待进程的队列中,直到有足够的可用连续内存可用为止。
Techopedia解释了连续内存分配
可以在操作系统中借助两个寄存器(称为基址和限制寄存器)来实现连续内存分配方案。 当进程在主存储器中执行时,其基址寄存器包含进程正在执行的存储位置的起始地址,而进程所消耗的字节数则存储在限制寄存器中。 进程不会直接引用对应存储位置的实际地址。 相反,它使用相对于其基址寄存器的相对地址。 程序引用的所有地址均视为虚拟地址。 CPU生成逻辑或虚拟地址,借助存储器管理单元(MMU)将其转换为实际地址。 基址寄存器由MMU用于地址转换。 因此,物理地址的计算如下:
-
物理地址=基址寄存器地址+逻辑地址/虚拟地址
检查进程引用的任何内存位置的地址,以确保其不引用相邻进程的地址。 此处理安全性由底层操作系统处理。
连续内存分配的一个缺点是,由于等待空闲内存的进程,降低了多编程的程度。