【例题】系统中原有三类资源A、B、C和五个进程P1、P2、P3、P4、P5,A资源17,B资源5,C资源20。当前(TO时刻)系统资源分配和进程最大需求如下表。

【例题】系统中原有三类资源A、B、C和五个进程P1、P2、P3、P4、P5,A资源17,B资源5,C资源20。当前(TO时刻)系统资源分配和进程最大需求如下表。
在这里插入图片描述
第一个是找安全序列:先要求Need表。work初始化,找Need<=work. 释放掉当前占有量Allocation,work=work+Allocation,FLASH=true。新的work放到表格最前面重新找Need. 找到一个安全序列为止。
在这里插入图片描述
在这里插入图片描述

  • 6
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,下面给出一个动态规划资源分配问题的例题,并给出相应的详细答案步骤。 假有3个任务需要在2个机器上完成,每个任务需要的时间和所需的机器如下所示: | 任务 | 时间 | 所需机器 | | --- | --- | --- | | A | 5 | 1 | | B | 3 | 1 | | C | 2 | 2 | 我们需要确定每个任务分配给哪个机器,以最小化所有任务的完成时间。 解题步骤如下: 1. 构建状态转移方程 定义状态 $f_{i,j}$ 示前 $i$ 个任务分配到前 $j$ 台机器上所需的最小时间。 对于第 $i$ 个任务,有两种情况:分配到第 $j$ 台机器上或者不分配到第 $j$ 台机器上。 如果第 $i$ 个任务分配到第 $j$ 台机器上,那么前 $i$ 个任务分配到前 $j$ 台机器上所需的最小时间为 $f_{i-1,j-1}$ 加上第 $i$ 个任务在第 $j$ 台机器上完成所需的时间。 如果第 $i$ 个任务不分配到第 $j$ 台机器上,那么前 $i$ 个任务分配到前 $j$ 台机器上所需的最小时间为 $f_{i,j-1}$。 因此,状态转移方程为: $$f_{i,j}=\min\{f_{i-1,j-1}+t_{i,j},f_{i,j-1}\}$$ 其中,$t_{i,j}$ 示第 $i$ 个任务在第 $j$ 台机器上完成所需的时间。 2. 初始化状态 对于 $f_{i,j}$ 中的第一行和第一列,可以初始化为 $f_{i,1}=t_{i,1}$ 和 $f_{1,j}=t_{1,j}$。 3. 计算状态 根据状态转移方程,可以计算出所有状态 $f_{i,j}$。 $$\begin{matrix} & 1 & 2 \\ A & 5 & 10 \\ B & 8 & 11 \\ C & 10 & 9 \\ \end{matrix}$$ 4. 确定任务分配方案 根据状态矩阵,我们可以确定任务分配方案。从最后一个状态 $f_{3,2}$ 开始,如果 $f_{i,j}$ 等于 $f_{i-1,j-1}+t_{i,j}$,则说明第 $i$ 个任务分配到第 $j$ 台机器上;否则,第 $i$ 个任务不分配到第 $j$ 台机器上。 在本例中,任务 A 和任务 B 分配到机器 1 上,任务 C 分配到机器 2 上。 因此,最小完成时间为 11,即任务 A 和任务 B 在第 1 台机器上完成,总时间为 8+3=11,任务 C 在第 2 台机器上完成,总时间为 11。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值