那么我们现在就有了R1、R2、R3的资源分别为:4、2、1;我们再观察一下看哪个进程需要资源符合我们的释放的资源的:
那只能是P4了,因为需要的资源为:0、0、1;而我们现在有的资源为:4、2、1,完全能满足这个进程P4的要求;我们看图:
那么这两个进程就完成了,接下来我们还继续对比着来看:
我们剩下的资源5、4、1。这时候我们发现了P5和P1都能满足他们所需的资源:所以P5和P1就可以随心所欲了,那我们不如就从需要资源小的开始分配试试;
这时候我们发现我们剩余的资源又能满足到P3和P1进程了。所以我们的答案就不止一种了:
我们要是先分配P1,再分配P5,再到P3.结果就是:
虽然进程的这个顺序有很多种,在都满足不造成死锁的情况下,是否有最优的排序呢?我觉得应该是有的,就是在不发生死锁的情况下,我们应该是优先给予需要资源少的进程。