📜  连续内存管理技术的实现

📅  最后修改于: 2021-09-27 22:52:39             🧑  作者: Mango

内存管理技术是用于管理操作系统内存的基本技术。内存管理技术基本上分为两类:

(i) Contiguous
(ii) Non-contiguous 

连续内存管理技术:
在这种技术中,内存以连续的方式分配给进程。它有两种类型:

固定分区方案:
在固定分区方案中,内存被划分为固定数量的分区。 Fixed 表示内存中的分区数量是固定的。在固定分区中,每个分区只容纳一个进程。多道程序的程度受内存中分区数的限制。进程的最大大小受分区的最大大小限制。每个分区都与限制寄存器相关联。

  • 限制寄存器:它有两个限制:
  • 下限:分区的起始地址。
  • 上限:分区的结束地址。

在固定分区方案中发现内部碎片。
为了克服内部碎片的问题,使用可变分区方案代替固定分区方案。

可变分区方案:
在可变分区方案中,最初的内存将是单个连续的空闲块。每当进程的请求到达时,都会在内存中进行相应的分区。如果较小的进程继续进行,那么较大的分区将被分成较小的分区。

在可变分区方案中发现了外部碎片。
为了克服外部碎片的问题,使用压缩技术或使用非连续内存管理技术。

压实:
将所有进程移向顶部或底部以在单个连续位置释放可用内存称为压缩。压缩是不可取的,因为它会中断内存中所有正在运行的进程。