在操作系统中, 内存管理是负责分配和管理计算机主内存的功能。内存管理功能可跟踪分配或释放的每个内存位置的状态, 以确保有效, 高效地使用主内存。
有两种内存管理技术:连续的和非连续。在连续技术中, 执行过程必须完全加载到主存储器中。连续技术可以分为:
- 固定(或静态)分区
- 可变(或动态)分区
可变分区–
它是连续分配技术的一部分。它用于缓解固定分区所面临的问题。与固定分区相反, 在执行之前或系统配置期间不会进行分区。各种
特征
与变量分区相关联
最初, RAM是空的, 并且在运行时根据进程的需要进行分区, 而不是在系统配置期间进行分区。
分区的大小将等于传入进程。
分区大小根据过程的需要而变化, 因此可以避免内部碎片, 以确保有效利用RAM。
RAM中的分区数量不是固定的, 它取决于传入进程的数量和主内存的大小。
可变分区与固定分区相比有以下优点和缺点。
可变分区的优势–
无内部碎片:
在可变分区中, 主存储器中的空间严格根据进程的需要进行分配, 因此不存在内部碎片的情况。分区中将没有未使用的空间。
对多重编程的程度没有限制:
由于没有内部碎片, 因此可以容纳更多数量的进程。可以加载一个进程, 直到内存为空。
流程大小不受限制:
在固定分区中, 大小大于最大分区大小的进程无法加载, 并且进程无法划分, 因为它在连续分配技术中无效。此处, 在可变分区中, 由于分区大小是根据进程大小确定的, 因此无法限制进程大小。
可变分区的缺点–
实施困难:
与固定分区相比, 实现变量分区比较困难, 因为它涉及在运行时而不是在系统配置期间分配内存。
外部碎片:
尽管没有内部碎片, 但仍将有外部碎片。
例如, 假设在上面的示例中, 进程P1(2MB)和进程P3(1MB)完成了它们的执行。因此, 剩下两个空间, 即2MB和1MB。假设进程P5的大小为3MB。内存中的空白空间无法分配, 因为连续分配中不允许跨越。该规则说, 进程必须连续存在于主内存中才能执行。因此, 这导致外部碎片。
现在, 尽管需要可用空间, 但仍无法容纳大小为3 MB的P5, 因为在连续情况下, 不允许跨越。