实时操作系统的实时性,不仅取决于操作系统本身,还取决于程序设计 和 硬件中断系统
实时操作系统允许任务的实时切换,但程序上不给切换的机会,也是无法达到实时性的
比如uCOS,两个任务,优先级0 1, 0闲置切换到1时,1不给调度的机会,0也无法实时响应。
所以为了让高级任务能够实时响应,低级任务要在程序设计时在适当的位置插入调度代码(如ucos的延时),更可以小延时、多插入,比如写几行代码插入1ms延时(如果允许),这样高级任务得到调度的概率就会更大。
另外,如果程序开启了多个硬件外部中断,并且触发的非常频繁,那么实时操作系统也达不到预期效果。
可见, 尽量减少外部中断和减小外部中断频率 以及 低级任务增加调度代码数量 是高级任务获取实时响应的最好方案,是实时操作系统达到实时效果的最好方法。