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

摘要:微信搜索【三桥君

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

 一、前言


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

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


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

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

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

二、公式


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

说明:

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

三、例题


(一)题目


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

作业 提交时刻(时) 运行时间(小时)
1 10 7
2 11 3
3 13 1

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


(二)答案

作业 提交时刻 运行时间 完成时间 周转时间 平均周转时间 带权周转时间 平均带权周转时间
1 10 7 17 7 8 1 4
2 11 3 20 9 3
3 13 1 21 8 8

(三)分析

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

计算步骤:

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

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

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

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

作业 提交时刻 运行时间 完成时间 周转时间 平均周转时间 带权周转时间 平均带权周转时间
1 10 7 10+7=17 17-10=7 (7+9+8)/3=8 7/7=1 (1+3+8)/3=4
2 11 3 17+3=20 20-11=9 9/3=3
3 13 1 20+1=21 21-13=8 8/1=8

四、举一反三

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

(一)分析

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

计算步骤:

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

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

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

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

作业 提交时刻 运行时间 完成时间 周转时间 平均周转时间 带权周转时间 平均带权周转时间
1 10 7 10+7=17 17-10=7 (7+10+5)/3=7.3 7/7=1 (1+3.3+5)/3=3.1
2 11 3 18+3=21 21-11=10 10/3=3.3
3 13 1 17+1=18 18-13=5 5/1=5

《参考文章》

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

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

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


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

猜你喜欢

转载自blog.csdn.net/weixin_46218781/article/details/107085386