一般情况下,可以采用单调执行速率调度法(Rate Monotonic Scheduling,RMS)来给任务分配优先级,基本原则是执行最频繁的任务优先级最高。RMS做了如下假设:
(1) 所有的任务都是周期性的;
(2) 任务间不需要同步,没有共享资源,没有任务间的数据交换等问题;
(3) 系统采用抢占式调度,总是优先级最高且就绪的任务被执行;
(4) 任务的死线是其下一周期的开始;
(5) 每个任务具有不随时间变化的定长时间;
(6) 所有的任务具有同等重要的关键性级别;
(7) 非周期性任务不具有硬死线;
要使一个具有n个任务的实时系统中的所有任务都满足硬实时条件,必须使下述定理成立:
式中,E是任务i最长执行时间,T是任务i的执行周期,E/T是任务i所需的CPU时间。
基于RSM定理要所有的任务满足硬实时条件,则所有有时间要求的任务总的 CPU 利用时间(或利用率)应当小于 70%。通常,作为实时系统设计的一条原则,CPU 利用率应当在60%~70%之间。