操作系统 固定分区
最早也是最简单的一种用于将多个进程加载到主存储器中的技术是固定分区或连续内存分配。
在这种技术中,主存储器被分为大小相等或不同的分区。操作系统始终驻留在第一个分区中,而其他分区可用于存储用户进程。内存被以连续的方式分配给进程。
在固定分区中,
- 分区不可以重叠。
- 进程必须连续地存在于分区中才能执行。
使用这种技术存在各种缺点。
1. 内部碎片
如果进程的大小小于分区的总大小,则会浪费分区的某些大小并保持未使用。这是内存的浪费,称为内部碎片。
如下图所示,4 MB 的分区用于加载只有 3 MB 的进程,剩余的1 MB 已经浪费。
2. 外部碎片
各个分区的未使用空间总和不能用来加载进程,即使有可用的空间,但不是连续的形式也不行。
如下图所示,每个分区的剩余1 MB 空间都不能作为一个单位来存储一个 4 MB 的进程。尽管有足够的空间来加载进程,但进程将不会加载。
3. 对进程大小的限制
如果进程大小大于最大分区的大小,则该进程不能加载到内存中。因此,可以对进程大小施加限制,即不能大于最大分区的大小。
4. 多编程程度较低
多编程程度,简单说就是可以同时加载到内存中的最大进程数量。在固定分区中,由于分区的大小无法根据进程的大小变化,因此多编程程度是固定的且较低。