免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 14994 | 回复: 41
打印 上一主题 下一主题

嵌入式实时linux [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-31 08:25 |只看该作者 |倒序浏览
想做这方面的开发,要求实时性要好,最好API接口和通用linux没有很大差别.

介绍网上哪有资料看看?

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
2 [报告]
发表于 2008-12-31 09:51 |只看该作者
原帖由 whoisliang 于 2008-12-31 08:25 发表
想做这方面的开发,要求实时性要好,最好API接口和通用linux没有很大差别.

介绍网上哪有资料看看?

RTLinux,可以查一下相关资料和介绍

论坛徽章:
0
3 [报告]
发表于 2008-12-31 09:57 |只看该作者
风河也有Linux开发包,不过是收费的

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
4 [报告]
发表于 2008-12-31 10:01 |只看该作者
原帖由 myforever 于 2008-12-31 09:57 发表
风河也有Linux开发包,不过是收费的


Vxworks有点贵,

论坛徽章:
0
5 [报告]
发表于 2008-12-31 10:45 |只看该作者
rtlinux 要在实时任务下开发,相当于开发平台变了,很麻烦
风河  -----太贵了,没黄金,只有银子

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
6 [报告]
发表于 2008-12-31 11:03 |只看该作者
自己改kernel吧

论坛徽章:
0
7 [报告]
发表于 2008-12-31 13:16 |只看该作者
原帖由 dreamice 于 2008-12-31 10:01 发表


Vxworks有点贵,



不是vxworks,风何有它自己的Linux

论坛徽章:
0
8 [报告]
发表于 2008-12-31 19:42 |只看该作者
蒙娜visita,我忘了英文怎么拼了。
实时操作系统。

论坛徽章:
0
9 [报告]
发表于 2008-12-31 23:38 |只看该作者

回复 #8 emmoblin 的帖子

motorola公司的吧?也要MMMMMONEY

论坛徽章:
0
10 [报告]
发表于 2009-01-01 10:04 |只看该作者
现有的著名的实时Linux实现包括RTLinux、RTAI和TimeSys。

1. RTLinux

RTLinux是著名的研究机构FSMLab研发的一款实时Linux,既有GPL和Free版本,又有商业版本。它使用的实现方式是子内核方法,即把Linux内核作为一个新实现的子内核的闲暇任务,子内核位于Linux内核和硬件抽象层之间,实时任务运行于子内核之上,只有当没有实时任务需要运行时,Linux内核才有机会运行。

特别是对中断的管理,它采用了一种软件的方式来处理Linux内的中断关闭,当Linux内核关闭中断后,并不是真正地屏蔽了硬件中断,相反,它使用了一个变量来保存Linux内核的中断标志位,Linux内核的开关中断只是影响了该变量,硬件的中断由子内核来接管,当Linux内核关闭了中断,子内核仍然可以响应任何中断,只是如果子内核不需要处理的中断才交给Linux内核来处理,如果Linux内核关闭了中断,子内核将记录该中断并在 Linux内核打开中断后提交它处理。

在RTLinux里,每一个实时任务都是内核线程,运行在内核空间,RTLinux提供了一套专门的机制来在实时任务和普通的Linux任务之间进行进程间通信。

这种子内核的实现提供了非常好的实时性,完全是一个硬实时的Linux。

2.TimeSys Linux

Timesys很早就发布了实时Linux的商业版以及GPL版,它采用了与RTLinux完全不同的实现方式。前面已经提到了标准Linux内核的实时限制,TimeSys Linux就是通过消除这些限制来达到实时性的。它把中断(IRQ)和软中断(softIRQ)全部线程化并赋予不同的优先级,实时任务可以有比中断线程更高的优先级,它使用Mutex替代spinlock来使得自旋锁完全可抢占。它也对调度器做了优化使它是O(1)的(注:因为使用2.4内核)。由于中断已经线程化了,很多中断关闭就没必要了,因而消除了很多中断关闭区域。它还实现了对CPU和网络资源的预定来改善实时性。后面将说的Ingo's RT patch就是借鉴这些思路来实现实时性的。

这种实现方式保持了全部的Linux应用编程模式,实时应用和普通的应用采用同样的编程方式,使用同样的API,只是实时任务需要明确指定自己的优先级与调度策略。但是这种实现方式也有弊病,那就是它满足硬实时性有一定的困难,因为即使中断关闭和不可抢占区大为减少,但是还是存在,一些中断还是无法线程化,如时钟中断等。

3. Ingo's RT patch

Ingo's RT patch是又一个Linux实时实现,它采用了与TimeSys完全相同的技术路线,而且有一些实现是基于TimeSys的源代码的,如IRQ和 softirq线程化。但是它与前面提到的两个实时实现不同的地方是,它可能并入到标准Linux内核(作者预见,可能并入到2.6.13或以后的某个版本中)。在最新的标准内核Linux 2.6.11中,已经出现了这个补丁曾经包含的部分代码,如IRQ子系统,那是IRQ和softirq线程化的基础,已经隐含了一些线程化的代码,如自愿抢占代码,那是2.4的低延迟补丁(low latency patch)和Ingo的一些自愿抢占代码以及Robert Love的锁分解补丁的集合,还有可抢占的大内核锁。

本系列第 2 部分将专门对Ingo's RT patch进行详细的解读。
http://linux.chinaunix.net/bbs/thread-1053344-1-2.html

针对Ingo's RT patch给点意见吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP