RTOS特点:
必须要有一个中断,其服务要保证在一个给定的时间内完成,儿不管是否其它的事情发生。
重要概念:
中断响应时间:发生中断->ISR第一条指令
即中断的发生到执行中断服务程序的第一个指令,中间间隔了多长时间。这包含了硬件与软件的开销。
硬件的开销部分,从中断到来,过了若干个周期才会把中断标志位IFR置位,然后通过对IFR的逻辑判断是否响应中断,需要的话,把指令流水线排空,然后去取中断服务表(vector)中的第一条指令;
软件的开销部分,因为RTOS中存在着关键代码区,这种关键代码区不允许在执行的时候被打断,如果被打断,就会出现不可恢复的错误,OS的内核就是这种关键代码区。所以在关键代码区中要关中断,当然用户写的代码如果认为是关键代码,可以在执行关键代码开始时关中断;
eg,每20微秒发生一次中断,中断服务程序处理时间是15微秒,OS的中断响应延迟是8微秒。这种情况就不能用RTOS。所以中断响应时间是RTOS的一条重要指标。
在实际代码维护中,却是是这样的,有一定中断响应延迟,例如(举例未完待续)。
抢先式调度:高任务一就绪就得到响应
一些RTOS的视频与文章:
http://v.youku.com/v_show/id_XNDMyODY1Njgw.html
http://v.youku.com/v_show/id_XMTU1MDkzMzgw.html