【问题标题】:Average wait time for pre-emptive priority scheduling抢占式优先级调度的平均等待时间
【发布时间】:2015-03-06 09:11:48
【问题描述】:

给出下表,用于计算基于优先级的抢占式调度的进程的平均等待时间

Process     Burst Time       Priority          
P1             10               3  
P2             1                1  
P3             2                4
P4             1                5
P5             5                2

甘特图如下:

| P2 | P5 | P1 | P3 | P4  |
0    1    6    16   18   19

我有以下问题:

1) 周转时间 = 19 个单位吗?

2) 我如何计算平均等待时间?有公式吗?

3) 如果少数进程具有相同的优先级怎么办?

我是操作系统新手。我已经查看了其他一些类似的问题,但我不知道该怎么做。

【问题讨论】:

  • 99% 概率。家庭作业问题。
  • 如果所有进程/线程都被阻塞,平均等待时间是永远。

标签: process operating-system scheduling


【解决方案1】:

给定数据,在你必须实现基于优先级的抢占式调度之前,你应该知道以下事实:-

  1. 优先级通常是一个范围内的数字
  2. 高数字可能表示低优先级(取决于系统)
  3. 为每个进程关联一个优先级,将CPU分配给优先级最高的进程
  4. 任何 2 个具有相同优先级的进程都被 FCFS 处理

继续了解这么多知识,所需的甘特图将与您绘制的相同:-

| P2 | P5 | P1 | P3 | P4  |
0    1    6    16   18   19

1) 周转时间 = 19 个单位吗?

不,周转时间为 16 + 1 + 18 + 19 + 6 = 60。 平均周转时间 = 60 / 5 = 12。

2) 我如何计算平均等待时间?有公式吗?

平均等待时间定义为进程启动前等待的总时间除以进程总数。

这里,平均等待时间 = (6 + 0 + 16 + 18 + 1) / 5 = 41 / 5 = 8.2。

3) 如果少数进程具有相同的优先级怎么办?

如果少数进程具有相同的优先级,则调度将使用 First-Come First-Serve (FCFS) 进行处理,如上面第 4 点所述。因此,在包括甘特图在内的任何地方,先来的流程将首先被安排,而另一个类似优先级的流程将在到达较晚时被安排在较晚的时间。

我希望我的步骤很清楚,不需要任何进一步的解释。

【讨论】:

  • 感谢您的深入解释。您能否告诉我这些问题除了相同的优先级之外还有哪些变化?添加了另一列“到达时间”。我该如何解决?
  • 唯一要做的改变是要排列的进程应该按照它们的传入顺序排列。一切都将保持不变。如果您遇到新问题,我鼓励您发布一个新问题。我一定会提供帮助的。
猜你喜欢
  • 2015-07-09
  • 2013-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-22
  • 1970-01-01
  • 2021-07-19
  • 1970-01-01
相关资源
最近更新 更多