实时操作系统延时问题

嵌入式实时操作系统任务设计经验以及操作系统函数的恰当使用




       如果你用过嵌入式实时操作系统,那么你肯定知道操作系统的最大特点就是任务的并发执行,和高效的CPU利用率,同时在程序运行过程中高优先级任务必须调用系统函数,不然就会导致高优先级任务一直占用CPU使用权,从而使低优先级的任务无法获得CPU的使用权,这样做反而不能发挥出操作系统实时调度的优点。同时不当的使用操作系统任务函数也会导致各种问题。

       例如在进行通信时如果对应的是低速器件,就必须加延时等待,那么问题来了,如果这个时候调用操作系统延时函数会发生什么?????那就是比此任务优先级较高的任务会获得CPU的使用权,注意此处如果这个高优先级任务也是对此低速器件进行操作那么事情就严重了。。。。自行脑补。怎么纠结这个问题呢,我的笨办法就是回到被丢弃的那个for循环延时或则试用定时器延时标志。

     所以说嵌入式操作系统的调度是把双刃剑,用的好那是极好的,用不好还不如裸机。

一个初学者的处置灼见欢迎一起讨论学习。QQ745231448

你可能感兴趣的:(C语言,单片机,嵌入式)