传感,驱动,控制-第九章quiz2复习(UTS-41081)

计算传感器多任务利用率的问题:
术语:WCET:worst-case instructions
每一个tick执行时间为120ms,周期为500ms,所以利用率为24%
在这里插入图片描述
当使用情况与利用率不匹配的时候,如下图,BL执行时间为200ms,TL执行时间为350ms,因此,利用率为550/500=110% ,但是此情况说明不能在指定的时间内执行任务,程序的实际情况是,在550ms处进行清空Timeflag,然后在1000ms处继续执行tick。
在这里插入图片描述
当两个任务具有不同周期的时候,计算,利用率和实际使用情况的窗口时,成为超周期(hyperperiod
当BL周期为200ms, TL周期为300ms时;共有周期计算为多个任务周期的最小公倍数——600ms
若真实使用情况为BL时间为30ms,TL时间为90ms,则在共有周期内,BL将被执行
600/200=3(次);TL被执行600/300=2(次);现在再计算,周期为(30x2+90x3)/600=55% 。
在这里插入图片描述
超周期计算H = LCM(T1.period,T2.period,…,Tn.period)
利用率= ((H / T1.period)x T1.WCET +(H / T2.period)x T2.WCET ++(H / Tn.period x Tn.WCET)/ H
发生溢出的情况:
1.利用率大于100%一定发生
2.利用率小于100%:(1)一项任务:不会发生
(2)多项任务,可能发生
例如:BL的周期和WCET分别为100 ms和30 ms,而TL的周期为200 ms和90 ms。
在这里插入图片描述
Scheduling
等待(waiting):等待的上一个进程执行完
就绪(ready):上一个程序已经执行完,与下一个进行开始执行的时间差(
理想情况下,一旦任务准备就绪,任务将立即开始执行)
执行(exexuting):执行synchSM的阶段
在这里插入图片描述
最晚结束时间(deadline):如下图,BL(周期300ms,WCET 30ms)和TL(周期200ms,WCET 90ms) 下如在100ms和700
ms的时候错过了最晚结束时间。
在这里插入图片描述
调整BL和TL的执行顺序,即可避免错过最晚截至时间:
在这里插入图片描述
抢占式:程序可能会被打断,以便更高优先级的任务
并且可以将无限循环的任务将控制权交给另一个任务。
非抢占:不会暂停正在执行的任务
电子书:zybook链接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章