回答朋友的问题(关于 RTEMS 学习)

一个朋友问我个问题,我觉得挺好,这个问题具有普遍性:

 

请问下, 现在 rtmes 还有开发用到吗 如果我想精通一门RTOS , 你觉得 从rtmes 开始好吗 ?? ecos如何 ?? 期待你的答复.

 

 

呵呵,我想问问您的C/C++基础怎么样?从开始到现在一共写过多少行标准C代码?如果您的基础好(计算机相关专业基础知识扎实),写过超过10万行的代码,推荐你去研究 RTEMS,这个是有比较高的技术要求的。如果您的基础不是太扎实,推荐研究uC/OS-II,因为它短小精悍,核心代码只有3K~4K行。学习的曲线不会太陡峭,以至于自己在学习中失去前进的动力。

 

RTEMS的应用很广泛,我们有好几个项目都是用RTEMS开发。学习应用 RTEMS 主要对企业有好处,因为它是GPL标准下发行的,也允许使用者不遵守GPL,即不公开所有代码包括修改rtems的源代码。uC/OS-II只是开源但不免费,ecos好像是开源免费的,但是它的lincese没有RTEMS灵活。另外,ecos相对于RTEMS,略显稚嫩。毕竟实时操作系统是用来做非常可靠的应用,开发维护以及应用的广泛性是要用时间积累的。2003年加拿大航天局对所有入围的RTOS做了一个排名,RTEMS甚至排在了vxworks之前,并列第三名。ECOS第五名。也足以说明这个问题。

 

rtos系统设计思想都是相通的,从简单的开始研究起,循序渐近也是一个不错的学习方法。

如果只是想在工程中应用一个RTOS,那么直接学习应用就可以了,原理的东西,可先不必深究。从应用入手,学习RTOS,也是一个不错的选择。最后,如果您真的想精通一门RTOS,那么持之以恒的学习比什么都重要。你我共勉,谢谢。

 

 

 

我查过 rtmes 对GUI支持只有 microwindow , 那我想问问,, 你做的那些项目里, 要用到GUI开发的话, 用 microwindow  会不会令开发难度加大,, 听说microwindow 开发是比 Minwin 难的哦,
是不是呀 ,?  还有,我在网上看见有人评论说,rtmes 是不适用在电子消费产品的,,我不明其原因,
你可以解释一下吗?

 

rtems 的用户代码和操作系统代码合在一起,跑在系统上。跑起来以后,用户是不能像linux或ucLinux那样从磁盘加载应用程序,linux操作系统和用户代码是完全两个不同的进程(不准确的说,是这样)。这就限制了系统的扩展性。因为 MMU、从磁盘加载应用程序都认为对实时性有害。但这都不是一成不变的,用一个东西不用一个东西是能不能满足用户的需求,在用户不需要扩展性,而要求系统性能的前提下,用rtems那是非常正确的。对于智能手机这样的应用,linux,uclinux是首选,但对于非智能手机,我觉得rtems就可以用用, :)。

 


一般实时系统的应用很少使用 gui,主要gui的代码庞大,且存在很多不确定性,对实时性也是有害的;如果真要用gui,现在的 gui系统都非常丰富,开源的就有不少,简单的如ftkgui就足够用,复杂的就用xynth,或者干脆就用microwindow,都是没有问题的。个人觉得,这还是个需求问题,一般实时系统很少要 GUI,真是要复杂的GUI,估计也不会用实时操作系统去做。:)

 

你可能感兴趣的:(回答朋友的问题(关于 RTEMS 学习))