📜  操作系统中的最差分配

📅  最后修改于: 2021-09-28 10:01:27             🧑  作者: Mango

对于固定和动态内存分配方案,操作系统必须保留每个内存位置的列表,注意哪些是空闲的,哪些是忙的。然后,当新作业进入系统时,必须分配空闲分区。

这些分区可以通过 4 种方式分配:

1. First-Fit Memory Allocation
2. Best-Fit Memory Allocation
3. Worst-Fit Memory Allocation
4. Next-Fit Memory Allocation 

这些是连续内存分配技术。

最差内存分配
在这种分配技术中,进程遍历整个内存并始终搜索最大的孔/分区,然后将进程放置在该孔/分区中。这是一个缓慢的过程,因为它必须遍历整个内存来搜索最大的洞。

这是一个理解最坏拟合分配的例子——

这里进程P1=30K是用Worst Fit-Allocation技术分配的,所以它遍历整个内存并选择最大的内存大小400K,因此有370K的内部碎片,非常大,因此许多其他进程可以也利用这个剩余的空间。

最差分配的优点:
由于这个过程选择了最大的孔/分区,因此会有很大的内部碎片。现在,这个内部碎片会很大,以便其他小进程也可以放在那个剩余的分区中。

最差分配的缺点:
这是一个缓慢的过程,因为它遍历内存中的所有分区,然后在所有分区中选择最大的分区,这是一个耗时的过程。