实时系统是否具有可扩展性?

时间:2014-03-07 21:22:07

标签: operating-system real-time scheduling

我的操作系统手册中有一个关于安排系统的问题。

问题是: 实时系统需要处理两个语音呼叫,每个语音呼叫每5毫秒运行一次,每个脉冲消耗1毫秒的CPU时间,加上一个25帧/秒的视频,每帧需要20毫秒的CPU时间。系统可以调度吗?

解决方案手册有这样的答案: 每个语音呼叫运行200次/秒,每个突发消耗1毫秒,所以每个 语音呼叫需要每秒200毫秒或两个400毫秒。该 视频每秒运行25次,每次耗费20毫秒,总计为20毫秒 每秒500毫秒。他们一起消耗900

本书没有解释如何得出这个结论,或者给出了算法。所以我希望有人能解释这个答案是如何解决的?

谢谢。

1 个答案:

答案 0 :(得分:2)

所需的时间间隔比1秒小很多,因此可以尝试查看不同的任务是否可以在1秒内完成工作。

  • 语音每5毫秒运行一次。 1 / 0.005 = 200次/秒。

  • 视频以25帧/秒的速度运行。 = 25次/秒

  • 每次运行时语音需要1毫秒= 200毫秒/秒。

  • 每次运行时视频需要20毫秒= 25 * 0.020 = 500毫秒

  • 2个语音任务+ 1个视频任务= 200ms * 2 + 500ms = 900ms

人们希望RTOS如何安排此类任务取决于您可以为不同任务提供多少抖动。例如2个语音任务可以具有相同的优先级,但高于视频任务 - 允许语音任务在他们需要的时候以fifo顺序运行。 (意味着一个语音任务可能需要等待最多1毫秒才能被安排),视频任务获得剩余的CPU时间