当前位置: 首页 > 知识库问答 >
问题:

CPU调度:查找突发时间

彭宏深
2023-03-14

在FCFS调度算法中,缺点是如果具有更高突发时间的进程P1先于P3 P2的一些进程...突发时间越短,平均等待时间和平均完成时间就越长。

这个问题的解决方案是首先调度最短的作业(SJF算法)。

但是如何提前计算突发时间呢?开发人员是否规定了一个公式,根据可用的资源,提前计算完成一项工作的突发时间?

共有2个答案

贺宜修
2023-03-14

这可以使用指数平均估计公式来完成-

第(n1)个CPU突发的估计CPU突发时间=。

其中,α=常数,在0

第 n 个 CPU 突发的实际 CPU 突发时间 = 这是进程/作业的最近 CPU 突发时间。

第n个CPU突发的估计CPU突发时间=它让我们了解了进程/作业的历史,也就是我们之前估计的CPU突发时间。

对于第一次执行(alpha=1),我们必须执行一次流程/作业。这给了我们(第n个CPU突发的实际CPU突发时间),

现在,我们可以通过改变alpha来估计即将到来的CPU突发时间值。

仇高韵
2023-03-14

估计进程的突发时间是一个非常大的话题。通常,调度器根据最近cpu突发的长度来估计下一个突发的长度。基本上,我们所做的是通过假设下一个CPU突发时间与该进程的过去CPU突发时间相关,来猜测下一次CPU突发时间。

快速的谷歌搜索让我看到了这篇文章,这篇文章会给你一个基本的概念。

这里有一篇更详细的文章

 类似资料:
  • 在SJF算法中,我们使用公式来预测下一个CPU突发时间: 然后我们选择预测突发时间最短的进程。现在我的问题是:我们已经知道进程到达的CPU突发时间了吗?如果是,那么为什么要预测CPU突发时间呢?我们可以只使用最短时间的进程来调度。如果不是,即,我们对进程的突发时间没有任何想法,预测的突发时间(n 1)如何帮助我们选择进程?希望我能解释我的困惑。谢谢。

  • 多CPU与CPU间调度 SMP(对称多处理器)系统中,所有的CPU共享全部资源(总线,内存,I/O等),最大的特点就是所有资源共享,多个CPU之间没有区别。 NUMA(非一致内存访问)的基本特征是具有多个CPU节点,每个CPU节点由多个CPU组成,并且具有独立的本地内存与I/O槽口等。因此,虽然每个 CPU都可以访问整个系统的内存,但是访问本地节点内存的速度远远高于访问其它节点的内存。详见《SMP

  • SRTF cpu调度分为三个部分,一个进程花费cpu突发时间,然后是IO突发时间,接着是cpu突发时间。混乱的是,SRTF需要应用在哪个突发时间上,是在总cpu突发时间上还是仅在第一次cpu运行中给出的cpu突发时间(分别在第二次cpu突发时间)上?

  • 主要内容:1. 静态技术,进程类型,动态技术SJF算法是最好的调度算法之一,因为它提供了最大的吞吐量和最少的等待时间,但是该算法的问题是,CPU的突发时间无法预先知道。 我们可以估算某个进程的CPU爆发时间。 有多种技术可用于假定进程的CPU突发时间。假设需要准确以便最佳地利用算法。 有以下技术用于假定某个进程的CPU爆发时间。 1. 静态技术 进程大小 可以根据其大小预测进程的爆发时间。 如果有两个进程和,并且旧进程的实际突发时间为20秒

  • 主要内容:进程控制块中保存了什么?,为什么需要调度?在像MS DOS这样的单编程系统中,当进程等待任何I/O操作完成时,CPU仍然是空闲的。 这是一个开销,因为它浪费时间并导致饥饿问题。 但是,在多程序系统中,CPU在进程的等待时间内不会保持空闲状态,而是开始执行其他进程。 操作系统必须定义CPU将被给予哪个进程。 在多程序系统中,操作系统调度CPU上的进程以获得最大的利用率,此过程称为CPU调度。 操作系统使用各种调度算法来调度过程。 这是短期调

  • 所以我有一个FCFS和SJF CPU模拟器调度算法,但是我正在努力实现最短剩余时间优先算法。 这是我目前掌握的情况。 基本上,该函数接收提交时间和突发时间的列表,并返回响应、转身和等待时间的列表。我一直试图先用就绪队列编辑我短暂工作的残余,但没有成功。 有人能给我指一下正确的方向吗?