打印
[嵌入式linux]

如何提高linux的实时性以便适合工控需要

[复制链接]
6071|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dalujia|  楼主 | 2009-3-28 17:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
wangkj| | 2009-4-2 08:10 | 只看该作者

linux也可以实时

就是在内核里面写程序,关键处理利用中断。这和单片机没啥区别。
唯一要求的就是,吧内核中处理结果送出,需要的数据送入。

使用特权

评论回复
板凳
flanker| | 2009-4-19 18:41 | 只看该作者

可以用rtLinux

本帖最后由 sinanjj 于 2011-7-31 21:24 编辑

rtLinux作为Linux的一个process运行,里面可以create一些自己的thread,并且handle了整个的task schedule。这样大大提高了real time的performance,和vxWorks能够抗衡。不妨一试。

使用特权

评论回复
地板
wangkj| | 2009-4-20 17:36 | 只看该作者

ls的假洋鬼子,说的很对。

使用特权

评论回复
5
flanker| | 2009-4-20 22:24 | 只看该作者

一些补充

rtLinux很容易学,很多系统调用只是在前面加了rtl前缀而已。如sched_yield对应的就是rtl_sched_yield。
vxWorks主要麻烦的是那个BSP,而且函数名还很别扭,如intConnect/intLock这样的函数,和Unix或Microsoft的coding style都不一样。
Tornado编译慢的问题,其实有解决方案,就是下载一个版本比较高(具体忘记了)的一个Windows下的make程序替代Tornado 5.5.1自带的那个make,并且make的时候加-j*参数,*是数字,代表并行编译的线程数。这样可以大大加快编译。因为编译时占CPU并不高,很多时间用在I/O操作上了,因此,并行编译能够榨干CPU的最后一滴performance。经验上来说,用-j8大致能提高两倍的编译速度。用更多的并行线程占用memory过多,不推荐。但是,这样的方法是不被Windriver官方认可的,一旦有问题他们不提供相关支持,所以,段位没有到一定的程度最好不要用。
非常感谢wangkj兄弟的支持!

使用特权

评论回复
6
HORSE7812| | 2013-9-28 16:47 | 只看该作者
:)

使用特权

评论回复
7
maztower| | 2014-1-23 20:03 | 只看该作者
建议关注rt-thread新增的半虚拟功能,即在一个核上同时运行一个rtos和linux,强实时应用使用rt-thread处理,linux处理其他应用

使用特权

评论回复
8
inurl| | 2014-2-12 14:50 | 只看该作者
maztower 发表于 2014-1-23 20:03
建议关注rt-thread新增的半虚拟功能,即在一个核上同时运行一个rtos和linux,强实时应用使用rt-thread处理 ...

听不懂。

使用特权

评论回复
9
alexer| | 2014-2-21 11:29 | 只看该作者
Linux还要提高?我还觉得现在的实时性可以了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

145

帖子

1

粉丝