关于最佳拟合和第一拟合的门问题图解

本文概述

  • 使用第一拟合算法
  • 使用最佳拟合算法
从门的角度来看, 最适合和最适合的数值经常被问到一个标记。让我们看一下下面给出的那个。
问:线程要求为:
25 K, 50 K, 100 K, 75 K
关于最佳拟合和第一拟合的门问题图解

文章图片
确定最能满足此要求的算法。
  1. 第一拟合算法
  2. 最佳拟合算法
  3. 两者都不
  4. 两个都
在问题中, 内存中有五个分区。 3个分区内部有进程, 两个分区是孔。
我们的任务是检查可以最佳满足要求的算法。
使用第一拟合算法 让我们看看” 首次拟合” 算法如何解决这个问题。
1. 25 K要求
该算法扫描列表, 直到获得第一个孔, 该孔应足够大以满足25 K的请求。它获得第二个分区中的可用空间, 因此它将75 K中的25 K分配给该进程, 其余50 K作为孔产生。
关于最佳拟合和第一拟合的门问题图解

文章图片
2. 50 K要求
通过为该进程分配大小为50 K的第三个分区, 可以满足50 K的要求。没有自由空间会作为自由空间产生。
关于最佳拟合和第一拟合的门问题图解

文章图片
3. 100 K要求
使用175 K大小的第五个分区可以满足100 K的要求。在175 K中, 将分配100 K, 其余的75 K将作为孔。
关于最佳拟合和第一拟合的门问题图解

文章图片
4. 75 K要求
由于我们有75 K的可用分区, 因此我们可以为仅需要75 K空间的进程分配那么多空间。
关于最佳拟合和第一拟合的门问题图解

文章图片
使用首次拟合算法, 我们可以最佳地满足整个请求, 并且不会剩余无用的空间。
让我们看看, 最佳拟合算法是如何解决此问题的。
使用最佳拟合算法 1. 25 K要求
要使用最佳拟合方法分配25 K空间, 需要扫描整个列表, 然后我们发现75 K分区是空闲的, 并且是所有分区中最小的, 这可以满足该线程的需要。
因此, 在这75 K的空闲分区中, 有25 K被分配给该线程, 剩下的5o K作为孔产生。
关于最佳拟合和第一拟合的门问题图解

文章图片
2. 50 K要求
为了满足此需求, 我们将再次扫描整个列表, 然后找到与需求完全匹配的50 K空间可用。因此, 它将分配给该线程。
关于最佳拟合和第一拟合的门问题图解

文章图片
3. 100 K要求
100 K的需求足够接近175 K的空间。该算法扫描整个列表, 然后从第5个空闲分区中分配175 K中的100K。
关于最佳拟合和第一拟合的门问题图解

文章图片
4. 75 K要求
75 K需求将从第6个自由分区中获得75 K的空间, 但算法将在做出此决定的线程中扫描整个列表。
关于最佳拟合和第一拟合的门问题图解

文章图片
通过遵循这两种算法, 我们已经注意到, 在这种情况下, 两种算法的性能均与大多数现有技术相似。
两者都可以满足线程的需要, 但是, 最佳拟合算法会一次又一次地扫描列表, 这会花费很多时间。
因此, 如果你问我哪种算法以最佳方式执行, 那么肯定会是第一拟合算法。
【关于最佳拟合和第一拟合的门问题图解】因此, 这种情况下的答案是A。

    推荐阅读