关于嵌入式系统的实时性

来源:互联网 发布:陕西广电网络秦岭云 编辑:程序博客网 时间:2024/05/22 20:29
实时性的影响因素?
貌似只跟系统有关吧。确切点,跟操作系统调度有关,跟中断响应处理方式有关。
影响最大的主要还是OS里边的调度方式。
如果要了解,可以看几个流行RTOS的进程调度来对比。 


---------------
目前的嵌入式OS中,只有WinCE是实时性较差的。貌似最好的是VxWorks。
我不知道你要应用在什么场合,一般情况下,流行的嵌入式OS的实时性都是足够了。


所谓的实时性,也就是从事件发生到系统响应的时间。
或者更广泛一点,也就是从用户输入一个信息到系统处理完返回给用户的这个反应时间。
这个时间可以划分为几个阶段:
1.中断响应时间;
2.RTOS进程调度响应时间;
3.应用程序响应时间;


细分:
1.中断响应时间:
  一般情况下所有外部消息都是通过中断方式来触发的。外部硬件给处理器一个中断,告诉处理器说外部有一个事件需要处理。
处理器对一般外部中断的处理分为快速中断和正常中断。
一般支持中断的嵌套。
这个是有处理器来决定的,当然有些也可以由系统来设置。
不管哪种中断,时间都会是足够短的。不然这样的处理器谁会用?
2.RTOS的进程调度:
  中断响应了以后,一般中断函数都是非常简短的,只是变量的设置,记录下外部事件的相关信息。真正的工作一般是在进程中做的。
  进程在调度时,如果到该进程运行并且该进程发现中断对变量的改变,则该进程开始进行相应的处理动作。
  但进程调度本身,是由多种经典算法的,可以参考OS的理论部分。有些算法实时性稍高,但整体性稍差,有些则相反。正常情况下,不管哪种算法,系统的进程数越少,肯定响应越快;当时处理器的负担越小,响应越快。进程中屏蔽中断的地方越少,则平均响应越快。


按照实时性的严格定义来说,1,2就是全部了。就是从中断开始到进程开始执行为止。从更宽泛来说,从最终用户来说,3还是有必要说下的。


3.应用程序的处理:
  进程执行到该任务时,就是应用层要做的事情了。应用程序执行后将结果返回给用户就完事。


正常情况下,3的影响远远大于1,2。



原创粉丝点击