我一直在阅读一篇关于使用Linux操作系统的实时系统的论文,并且在没有定义的情况下重复使用术语“调度抖动”。
什么是调度抖动?这是什么意思?
答案 0 :(得分:10)
抖动是给定任务的后续时间段之间的差异。在实时操作系统中,将抖动降低到应用程序的可接受水平非常重要。这是一张抖动图。
答案 1 :(得分:9)
抖动是基于时间的信号的不规则性。例如,在网络中,抖动将是网络中数据包延迟的可变性。在调度中,我假设抖动是指分配给进程的时间片的不等式。
答案 2 :(得分:6)
因此,鉴于djc的答案,在上述问题中为我的语义域调度抖动将是:
调度抖动 :由系统调度程序分配给进程的时间片的不等式,这是不必要的。可能发生这种情况的一个示例是:如果有一个要求,即实时环境中的所有进程每个计划时间使用不超过100毫秒的处理器时间,则需要并使用150毫秒时间的进程将导致显着的< em>在该实时系统中调度抖动。
答案 3 :(得分:5)
调度抖动是程序执行期间预期的最大时间差
这个概念在实时仿真系统中非常重要。我的经验来自于实时仿真行业超过30年(主要是飞行模拟)。理想情况下绝对不需要抖动,这恰恰是硬实时调度的目标。
假设例如实时仿真需要以400Hz执行某个计算机程序,以便产生该子系统的稳定和精确的仿真。这意味着我们需要期望系统每2.5毫秒执行一次程序。为了在硬实时系统中实现这一点,高分辨率时钟用于以高优先级调度该模块,以使抖动几乎为零。如果这是一个软实时仿真,那么预计会有更多的抖动。如果调度抖动是0.1毫秒,那么该程序的起始点将是每2.5毫秒+/- 0.1毫秒(或更少)。只要执行程序永远不会超过2.3毫秒,这是可以接受的。否则该程序可能会超出&#34;溢出&#34;。如果发生这种情况,那么确定性就会丢失,而模拟会失去保真度。
答案 4 :(得分:1)
在实时操作系统中调度抖动与进程的不同时间片无关。抖动是与理想定时事件的可变偏差。调度抖动是延迟 在任务开始的时间和任务的时间之间 开始。例如,考虑一个任务应该在10ms后启动,但无论出于何种原因,它都会在15ms后启动。在我们的例子中,抖动是5ms!
答案 5 :(得分:0)
简单的抖动意味着操作系统概念的延迟。调度抖动是指实际相对起始时间与标称值的差异。
警报的发生点到唤醒周期性任务的第一条指令的执行点