|
知识路径: > 计算机软件与网络基础知识 > 嵌入式系统 > 嵌入式操作系统 > 多任务调度机制 >
|
相关知识点:3个
|
|
|
|
基于优先级的抢占调度又可以分为静态优先级和动态优先级。静态优先级是指应用程序在执行的过程中各任务的优先级固定不变。在静态优先级系统中,各任务以及它们的时间约束在程序编译时是已知的;动态优先级是指应用程序在执行的过程中各任务的优先级可以动态改变。这种类型的调度,在任何时候运行的任务是所有就绪任务中具有最高优先级的任务,任务在创建时被赋予了优先级,任务的优先级可以由内核的系统调用动态更改,这使得嵌入式应用对于外部事件的响应更加灵活,从而建立真正的实时响应系统。
|
|
|
一般情况下,可以采用单调执行速率调度法(Rate Monotonic Scheduling,RMS)来给任务分配优先级,基本原则是执行最频繁的任务优先级最高。RMS做了如下假设:
|
|
|
|
(2)任务间不需要同步,没有共享资源,没有任务间的数据交换等问题。
|
|
|
(3)系统采用抢占式调度,总是优先级最高且就绪的任务被执行。
|
|
|
|
|
|
|
要使一个具有n个任务的实时系统中的所有任务都满足硬实时条件,必须使下述定理成立。
|
|
|
|
|
式中,Ei是任务i最长执行时间,Ti是任务i的执行周期,Ei/Ti是任务i所需的CPU时间。
|
|
|
:基于RMS定理,要所有的任务满足硬实时条件,则所有有时间要求的任务总的CPU利用时间(或利用率)应当小于70%。通常,作为实时系统设计的一条原则,CPU利用率应当在60%~70%之间。
|
|
|