给定下表,用于计算基于优先级的抢占式调度的流程和平均等待时间。
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)如果很少有进程具有相同的优先级,该怎么办?
我是操作系统的新手。我看过其他一些类似的问题,但我不知道该怎么做。
给定数据,在您必须实现基于优先级的抢占式调度之前,您应该了解以下事实:-
根据这些知识,所需的甘特图应该和你画的一样
| 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) 如果很少有进程具有相同的优先级怎么办?
如果少数进程具有相同的优先级,则将使用上文第4点中提到的先到先服务(FCFS)来处理调度。因此,在包括甘特图在内的任何地方,首先到来的流程都会被安排在第一位,而其他类似的优先流程会被安排得很晚,因为它来得很晚。
我希望它从我的步骤中清晰可见,不需要任何进一步的解释。
在非先占优先级调度中,进程根据分配给它们的优先级编号进行调度。 一旦进程被安排好了,它就会运行直到完成。 通常,优先级数越低,进程的优先级越高。 人们可能会对优先级数字感到困惑,因此在GATE中,明确提到哪一个是最高优先级,哪一个是最低优先级。 示例 在例子中,有7个进程:,,,,,和。 它们的优先级,到达时间和爆发时间在表中给出。 进程ID 优先级 到达时间 爆发时间 1 2 0 3 2 6 2
我的目标是计算抢占最短作业优先调度算法的平均等待时间。 假设作业的到达时间以2个单位为间隔,如0,2,4,6……即,第一个作业以0个单位进入,第二个作业在2个单位的时间后进入,以此类推。 我为我的程序测试了 3 个测试用例并得到了正确答案: 测试用例1: 作业:8,4,9,5 平均时间:6.5 测试用例2: 作业:7,4,1,4 平均时间:3 但是当我把一个有1000个作业的文件作为输入时,我得到
在抢占式优先级调度中,在进程到达就绪队列时,其优先级与就绪队列中存在的其他进程的优先级以及CPU在该点执行的优先级进行比较。 在所有可用的进程中具有最高优先级的那个将被赋予CPU。 抢先优先级调度和非抢占优先级调度之间的区别在于,在抢先优先级调度中,正在执行的作业可以在更高优先级作业到达时停止。 一旦所有作业在就绪队列中可用,算法将表现为非抢占式优先级调度,这意味着计划的作业将运行直至完成并且不会
SJF =最短的工作第一,标题不会让我适合它 抢占式SJF调度是否会使进程的平均等待时间大于在非抢占式SJF调度算法中简单执行的进程?毕竟,您不断地切换上下文并迫使进程等待更长时间才能完成。 我似乎不明白为什么是先发制人的SJF(又名。最短剩余时间优先,或STRF)优于非抢占式SJF(就进程的平均等待时间而言)。 有人能给我解释一下吗? 非常感谢。
我们知道优先级调度可以是抢占式的或非抢占式的。这两个中的哪一个通常平均等待时间最少??它们的性能会根据测试用例而变化吗??
嗨,伙计们。我们被分配了一个关于抢占优先调度的任务,我真的不知道如何做到这一点,因为两个或多个进程具有相同的优先级编号。 我必须做一个甘特图,计算周转时间和平均等待时间。 如果可能的话,你们能否发布一个关于如何做到这一点的分步解决方案,以便我可以研究它是如何完成的。 谢谢你们的帮助。