操作系统中的可变(或动态)分区

2021年3月11日17:19:10 发表评论 607 次浏览

在操作系统中, 内存管理是负责分配和管理计算机主内存的功能。内存管理功能可跟踪分配或释放的每个内存位置的状态, 以确保有效, 高效地使用主内存。

有两种内存管理技术:连续的和非连续。在连续技术中, 执行过程必须完全加载到主存储器中。连续技术可以分为:

  1. 固定(或静态)分区
  2. 可变(或动态)分区

可变分区

它是连续分配技术的一部分。它用于缓解固定分区所面临的问题。与固定分区相反, 在执行之前或系统配置期间不会进行分区。各种

特征

与变量分区相关联

最初, RAM是空的, 并且在运行时根据进程的需要进行分区, 而不是在系统配置期间进行分区。

分区的大小将等于传入进程。

分区大小根据过程的需要而变化, 因此可以避免内部碎片, 以确保有效利用RAM。

RAM中的分区数量不是固定的, 它取决于传入进程的数量和主内存的大小。

操作系统中的可变(或动态)分区1

可变分区与固定分区相比有以下优点和缺点。

可变分区的优势–

无内部碎片:

在可变分区中, 主存储器中的空间严格根据进程的需要进行分配, 因此不存在内部碎片的情况。分区中将没有未使用的空间。

对多重编程的程度没有限制:

由于没有内部碎片, 因此可以容纳更多数量的进程。可以加载一个进程, 直到内存为空。

流程大小不受限制:

在固定分区中, 大小大于最大分区大小的进程无法加载, 并且进程无法划分, 因为它在连续分配技术中无效。此处, 在可变分区中, 由于分区大小是根据进程大小确定的, 因此无法限制进程大小。

可变分区的缺点–

实施困难:

与固定分区相比, 实现变量分区比较困难, 因为它涉及在运行时而不是在系统配置期间分配内存。

外部碎片:

尽管没有内部碎片, 但仍将有外部碎片。

例如, 假设在上面的示例中, 进程P1(2MB)和进程P3(1MB)完成了它们的执行。因此, 剩下两个空间, 即2MB和1MB。假设进程P5的大小为3MB。内存中的空白空间无法分配, 因为连续分配中不允许跨越。该规则说, 进程必须连续存在于主内存中才能执行。因此, 这导致外部碎片。

操作系统中的可变(或动态)分区2

现在, 尽管需要可用空间, 但仍无法容纳大小为3 MB的P5, 因为在连续情况下, 不允许跨越。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: