📅  最后修改于: 2020-12-14 09:34:19             🧑  作者: Mango
操作系统实现了各种算法,以便找出链表中的漏洞并将其分配给进程。
下面给出有关每种算法的说明。
1.首次拟合算法
First Fit算法将扫描链表,并在找到第一个足够大的漏洞以存储进程时停止扫描并将进程加载到该漏洞中。此过程将产生两个分区。其中一个分区将是一个洞,而另一个分区将存储该过程。
First Fit算法根据起始索引的升序维护链表。这是所有算法中最简单的实现方法,与其他算法相比,它会产生更大的漏洞。
2.下一个拟合算法
Next Fit算法类似于First Fit算法,不同之处在于Next Fit从先前为其分配孔的节点扫描链表。
下次试穿不会扫描整个列表,它会从下一个节点开始扫描列表。下一次拟合的想法是,列表已被扫描一次,因此在列表的其余部分中发现孔的可能性更大。
对算法的实验表明,下一个拟合比第一个拟合更好。因此,在大多数情况下,这些天都没有使用它。
3.最佳拟合算法
“最佳拟合”算法尝试在列表中找出可以满足过程尺寸要求的最小孔。
使用“最适合”有一些缺点。
4.最差拟合算法
最差拟合算法每次都会扫描整个列表,并尝试找出列表中能够满足过程要求的最大漏洞。
尽管该算法会产生较大的漏洞来加载其他进程,但由于速度较慢,因为它会一次又一次地搜索整个列表,因此它并不是更好的方法。
5.快速拟合算法
快速拟合算法建议维护常用尺寸的不同列表。尽管这实际上不建议使用,因为该过程需要花费大量时间来创建不同的列表,然后浪费大量时间来加载过程。
首先适合的算法是最好的算法,因为