关于【完成时间、周转时间、平均周转时间、带权周转时间和平均带权周转时间】的公式和计算

摘要:微信搜索【三桥君

本文介绍了计算“完成时间、周转时间、平均周转时间、带权周转时间和平均带权周转时间”的公式,并且用先来先服务(FCFS)、短作业优先(SJF)两种调度算法来分析一个例题。

 一、前言


这里要补充一些说明,方便大家理解。

我们做这类题目时,一般都需要画表,完整的表格方式可以是如图:


一般来说,表的所有列名就8个了,但是实际题目中,列名的个数会缺少,甚至列名的名称也会不一样。但是他们不管名称怎么变,都必须对应上原先的列名,因为每个对应的列名都是有固定的作用和含义的。

这里举例下经常会变动的列名名称,如作业号改为“进程号”,提交时刻改为“提交时间”、“到达时间”,运行时间改为“服务时间”等等,这样子会导致一开始没看出来题目意思,或者导致混淆题意等。

因此,这里我强调下,其实他们名称虽然变了,但是要表达的意思和作用是一样的,而且我们公式还要用到这些对应的列名。

 

二、公式


周转时间=完成时间-提交时刻
平均周转时间=周转总时间/作业总个数
带权周转时间=周转时间/运行时间
平均带权周转时间=带权周转总时间/作业总个数

说明:

这类题目一般有先来先服务(FCFS)、短作业优先(SJF)两种调度算法,只有在作业的完成时间计算上有一些区别,其他时间的计算公式都是相同的。

三、例题


(一)题目


假设有三道作业,它们的提交时间及运行时间由下表给出,

作业提交时刻(时)运行时间(小时)
1107
2113
3131

采用非多道程序设计,并且采用“先来先服务”作业调度算法。指出它们的调度顺序,并分别计算平均周转时间和平均带权周转时间。


(二)答案

作业提交时刻运行时间完成时间周转时间平均周转时间带权周转时间平均带权周转时间
1107177814
21132093
31312188

(三)分析

因为题目是采用“先来先服务”作业调度算法,所以服务顺序根据提交时刻来排序。

计算步骤:

1、找出最先到达的作业(该进程的完成时间=提交时间+运行时间);

2、根据给出的提交时刻,找出下一个到达的作业(该作业的完成时间=上一作业的完成时间+该作业的提交时刻);

3、重复2,直至完成所有作业的计算。

 

作业服务顺序:1->2->3。

作业提交时刻运行时间完成时间周转时间平均周转时间带权周转时间平均带权周转时间
110710+7=1717-10=7(7+9+8)/3=87/7=1(1+3+8)/3=4
211317+3=2020-11=99/3=3
313120+1=2121-13=88/1=8

四、举一反三

那么问题来了,如果例题题目要求改为“短作业优先(SJF)”作业调度算法的话,该怎么做呢?

(一)分析

因为题目是采用“先来先服务”作业调度算法,所以服务顺序就不是根据提交时刻来排序了,但是第一个服务的作业还是以第一个提交时刻来的。

计算步骤:

1、找出最先到达的作业(该进程的完成时间=提交时刻+运行时间);

2、根据上一作业的完成时间,找到提交时刻在这个完成时间内的作业,并找到这些作业中运行时间最短的那个,然后计算它的完成时间(该作业的完成时间=上一作业的完成时间+该作业运行时间);

3、重复2,直至完成所有作业的计算。

 

作业服务顺序:1->3->2。

作业提交时刻运行时间完成时间周转时间平均周转时间带权周转时间平均带权周转时间
110710+7=1717-10=7(7+10+5)/3=7.37/7=1(1+3.3+5)/3=3.1
211318+3=2121-11=1010/3=3.3
313117+1=1818-13=55/1=5

 

《参考文章》

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

2、周转时间,平均周转时间,带权周转时间

3、操作系统进程完成时间,周转时间,带权周转时间, 平均周转时间, 带权平均周转时间计算


文章整理不易,有帮助请点赞关注支持,谢谢!微信搜索【三桥君 】,回复【关注】有我准备的一份资源大礼包。后续持续更新~~~

  • 66
    点赞
  • 420
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
短作业优先(Shortest Job First,简称SJF)是一种调度算法,根据作业的运行时间来确定执行顺序。短作业优先算法的目标是使平均周转时间最小化。 平均周转时间是指作业从提交到完成所经过的时间计算平均周转时间公式如下: 平均周转时间 = (作业完成时间 - 作业提交时间) / 作业数量 平均带权周转时间是指每个作业的平均周转时间与其运行时间的比例。计算平均带权周转时间公式如下: 平均带权周转时间 = Σ(作业的周转时间 / 作业的运行时间) / 作业数量 下面是计算平均周转时间平均带权周转时间的步骤: 1. 按照作业的运行时间对作业进行排序,从最短运行时间到最长运行时间。 2. 计算每个作业的完成时间,即前一个作业的完成时间加上当前作业的运行时间。 3. 计算每个作业的周转时间,即完成时间减去提交时间。 4. 计算所有作业的总周转时间和总带权周转时间。 5. 计算平均周转时间平均带权周转时间。 根据你提供的作业的估计运算时间,我们可以按照从最短到最长的顺序进行排序: 作业C:运算时间 2分钟 作业D:运算时间 4分钟 作业B:运算时间 6分钟 作业E:运算时间 8分钟 作业A:运算时间 10分钟 接下来,根据上述步骤计算平均周转时间平均带权周转时间。请提供作业的提交时间或者完成时间,以便我能够继续计算
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三桥君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值