文章目录
连续内存分配
- 连续内存分配
-
-
- 固定分区分配方案
- 可变分区分配方案
-
- 内存碎片
通常,我们需要将多个进程同时放在内存中。因此我们需要考虑,如何为输入队列中需要调入内存的进程分配内存空间。这里分享连续内存分配方案。
固定分区分配方案采用连续内存分配时,每个进程位于一个连续的内存区域,与包含下一个进程的内存相连。最简单的连续内存分配方法之一就是将内存分为多个固定大小的分区,每个分区只能容纳一个进程。如此,多道程序的程度取决于分区数量。
如果使用这种固定分区分配方案,那么当一个分区空闲时,可以从输人队列中选择一个进程,以调入空闲分区。当该进程终止时,它的分区可以用于其他进程。
可变分区分配方案可变分区分配方案更适用于批处理环境,操作系统有一个表用于记录哪些内存可用和哪些内存已用。
一开始,所有内存都可用于用户进程,因此能够作为一个大块可用内存,称为孔(hole)。通常,一组不同大小的孔分散在内存中。
随着进程进入系统,它们将被加人输入队列。操作系统根据所有进程的内存需求和现有可用内存的情况,决定哪些进程可分配内存。当进程分配到空间时,它就加载到内存,并开始竞争CPU。当进程终止时,它将释放内存,该内存可以被操作系统分配给输入队列