完成时间,周转时间,平均周转时间以及带权周转时间和平均带权周转时间

这里仅对先来先服务(FCFS)以及短作业优先(SJF)两种调度算法的相关计算做一个说明和比较

首先我们必须明确:FCFS和SJF两种调度算法,只有在进程的完成时间计算上有一些区别,其他时间(周转时间等)的计算都是相同的。 周转时间

周转时间 = 完成时间 - 到达时间
带权周转时间 = 周转时间 / 服务时间
平均周转时间 = 周转时间 / 进程数
平均带权周转时间 = 带权周转时间 / 进程数


1. FCFS的完成时间计算步骤:

step1:找出最先到达的进程(该进程的完成时间=到达时间+服务时间);

step2 : 根据给出的到达时间,找出下一个到达的进程(当前进程的完成时间=上一进程的完成时间 + 当前进程的服务时间);

step3 :重复step2直至完成所有进程的计算;

举个例子:

进程名ABCDE
到达时间01346
服务时间57382
完成时间512152325
step1. 根据例子中给出的进程到达时间,确定A进程是最先到达的。计算出进程A的完成时间为:A的到达时间+A的服务时间=5+0=5;

step2. 根据到达时间,确定下一到达进程为B。计算出进程B的完成时间为:进程A的完成时间+进程B服务时间=5+7=12;

step3. 重复step2。根据到达时间,确定下一到达进程为C。计算出C的完成时间为:进程B的完成时间+进程C的服务时间=12+3=15...依次类推计算D和E进程的完成时间

2. SJF的完成时间计算步骤:

step1:找出最先到达的进程(当前进程的完成时间=到达时间+服务时间);

step2:根据上一进程的完成时间,找到在这个完成时间内所有到达的进程,并找到这些进程中服务时间最短的那个,然后计算它的完成时间(当前进程的完成时间=上一进程的完成时间 + 当前进程服务时间);

step3:重复step2,直至完成所有进程的计算。

还是上面的那个例子:

进程名ABCDE
到达时间01346
服务时间57382
完成时间51782510
step1. 根据例子中给出的进程到达时间,确定A进程是最先到达的。计算出进程A的完成时间为:A的到达时间+A的服务时间=5+0=5;

step2.根据上一进程A的完成时间5,可确定已经到达的进程为A、B、C、D(进程E的到达时间为6,所以时间为5时进程E还没到达);其中由于C的服务时间最短,所以下一进程确定为C,C的完成时间为:A的完成时间+C的服务时间=3+5=8;

step3. 重复step2。根据上一进程C的完成时间8,可确定,已经到达的进程有A、B、C、D、E;其中由于E的服务时间最短,所以下一进程确定为E,E的完成时间为:C的完成时间+E的服务时间=8+2=10...依次可计算出其他进程的完成时间。

以上就是两种调度算法下的完成时间具体计算步骤。

  • 126
    点赞
  • 444
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值