`
xitong
  • 浏览: 6185436 次
文章分类
社区版块
存档分类
最新评论

实时操作系统主流调度方法RMS

 
阅读更多

操作系统的调度方法有很多种,这里主要介绍主流的调度算法,像EDF这种调度算法就不表述了。目前几乎所有的商业实时操作系统的调度理论都基于RMS理论.

以下是基于RMS的一些假设理论:

1 各个任务之间没有资源共享,没有忙等,没有mutex, 也没有semaphore.

2 每个任务的最后期限是周期性的。

3 基于优先级抢占的,即高优先级任务一旦就绪的话,会立马抢占低优先级任务。

4 任务优先级的分配原则是,周期越短的任务,优先级越高。

5 任务切换以及纯内核任务的消耗忽略不计对于这个理论模型。

以下的公式是,基于RMS 的一个基础理论:


U 代表了系统的cpu 使用率,C 是任务的运行具体时间,T 是周期性的任务最后期限,n是有多少个任务,等式右边是理论上的可实时调度率,可以看到可调度率只和任务的个数有关,任务越多,可实时调度率越少。

可以看到等式右边:


可以看到当任务接近无穷大的时候,可调度率是69%了。从这个公式可以近似任务系统中69%的任务是可以实时调度的,即能在最后的期限中完成运行。还有大概31%的任务是非实时的。这样的理论模型在实际应用中是完全可行的。

接下来看一个实际的例子:


假设有3个任务P1, P2, P3,运行的时间以及周期如上图。

根据公式可以算出系统的cpu 使用率。

理论上的可实时调度率为

可以看到0.725 <= 0.77976, 所以这3个任务都是可以实时调度的。

RMS理论主要是基于任务优先级的,对于指导分配任务的优先级有很大的实战价值,其核心是根据任务的最后期限(deadline)和周期的时间来分配任务优先级。周期越短的任务优先级越高,这在优先级分配上是一个有趣的开始。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics