免费注册 查看新帖 |

Chinaunix

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

Wind River开发者区域大会 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-11 21:42 |只看该作者 |倒序浏览

                Wind River开发者区域大会
    昨天去参加了Wind River的开发者区域大会,最大的感受,或者说感觉整个大会的关键词是:Linux、多核、实时。
    Linux:作为世界最大的嵌入式操作系统VxWorks的主人,除了对VxWorks653的专门介绍之外,更多的内容里Linux与VxWorks是一个并列的推广地位,或许是因为Wind River成为了google所发起的open handset alliance以及LiMo Foundation中的重要一员──ANDROID的内核/BSP提供者,或者是因为Linux本身由于其开源的特性及其活力已经成为商业公司所不可忽视的一个元素。从大会中的介绍来看,风河的Linux应用范围相当广,其目前的版本是2.0,内核基于2.6.21。在大会的一开始,风河的中国区经理就在致词中希望大家不仅仅关注风河的VxWorks,也要关注他们的Linux产品和解决方案,可见Linux在嵌入式领域的势头之猛。
    多核:这个可能是整个大会中最重要的主题了。
    当Intel和AMD发起多核竞赛时,我就想,在嵌入式领域里,多核什么时候会成为潮流呢?当时本以为这个时间应该会在2010年前后,但这次大会告诉我:多核在嵌入式领域已经形成了一股必然的潮流,SMP、AMP、MultiCore、MultiBoard。。。大会里有一半左右的内容是围绕着多核相关在做文章,而多核相关的种种工具、解决方案等也已经推出,并且在茶歇时可以看到,多核相关技术的展台旁围的人是最多的,可见人们对多核的关注和期望。
    台式机领域中多核的出现是因为摩尔定律的“失效”以及功耗的问题,而在嵌入式领域,则主要是因为功耗-性能比的问题,以及多核在应用时的灵活性。在功耗方面,以cavium公司的MIPS处理器为例,根据询问结果,双核600M的功耗在2.4W左右,同样是通信产品中常用的处理器架构,比起我用过的ppc单核cpu,功耗算起来要小的多(P.S.这次大会中展出的MIPS处理器比重显然比其它架构多得多,以及带有SMP功能的VxWorks支持的架构中也没有ppc,不知为什么)
    并且更重要的是,多核给我们带来的灵活性是单核所不能相比的──在展台上见到了各种各样的解决方案,包括纯粹的SMP应用,灵活的AMP应用,SMP与AMP的结合使用,RMI用于核与核之间通信的内置快速消息通道──据说比share memory以及TIPC效率要高,以及cavium公司的一种1~2个核跑操作系统、其它核专门运行所谓的“data plane code”的解决方案(虽然还没有来得及完全搞清楚它的实现原理,但这个公司的不少东东是这次大会中我感兴趣的,这公司以前都没听过。。。),这个用在网络通信上一定很爽,不愧是名字里含“Network”的公司啊。。。
    当然,与PC以及服务器领域一样,多核的变革给软件带来的挑战是最大的:算法设计、进程切分、资源的同步互斥、进程的调度分派、中断处理,以及程序的调试方法。。。大会里讲了不少方案,但可以看出,其中还没有足够成熟的可行性方案,更多的只是一些原则性的东西。相关性的工具也不少,但没有用过不作评论。其中有一种叫做sensorpoint的技术比较有意思,它的理念跟Linux中的抢占点有些类似,可以看作是一种广义的hook点,当然,这个并不是专用于多核的;还有提到2.6内核中有一种“hot plug CPU”的feature,可以在运行中动态地改变SMP的CPU个数。
    初次接触SMP,这里把昨天的收获小总结一下,其中有些东西读内核的时候略微涉及过:
        SMP中,操作系统对硬件进行了抽象,通过UMA统一进行内存访问,应用程序只能看到一个内核;内核的调度由操作系统决定,同时某些进程可以指定所用内核甚至将自己与某个内核进行绑定;操作系统负责进行负载平衡;
        SMP中的并行:task&task, ISR&ISR, task&ISR
        SMP中的同步API:自旋锁(包括用于task之间以及task和ISR之间两种),基本原子操作(加减、与或、加一减一、与非异或、GetSet等),信号量(多读者并行/单写者),memory barriers(不知怎么翻)。使用原则是自旋锁用于短时的同步而信号量用于长时的同步。
    实时:其实实时相关的内容整个大会中的专项演讲并不是很多,但在嵌入式的应用中实时本就是一个非常重要而常见的功能。
    大会中首先是风河推出的自己的实时Linux解决方案──RTCore:听着对RTCore的介绍,第一反应是──怎么原理跟RTAI如此之相象?甚至可以说是简直如出一辙──作为LKM加载、拥有完全独立的调度器和timer、Linux内核作为最低优先级的idle进程被调度等等。。。我以它的模型中没有提到的实时-非实时进程IPC为由进行提问,而对方似乎对RTAI以及ADEOS一无所知──要么演讲者不是RTCore的开发人员,要么,里面有猫腻:作为实时Linux解决方案代表之一的RTAI,做实时Linux的人怎么可能不知道呢?另外PPT里号称RTCore可以达到硬实时,但从提问结果以及给出的测试结果来看,估计还只是一个软实时而已。而在实时进程的编写上,RTCore还是下了不少工夫的,其中有一个很有用的特性是可以在运行时加参数指定某个CPU专用于这个进程的执行。
    其次是风河推出了一系列的实时分析工具,从系统监视器到profiler,从内存监视分析器到data monitor,以及function tracer等协助调试的工具,看起来很好,很强大。
    其它一些有意思的东东:
    Workbench,VxWorks的IDE平台,以前没有用过VxWorks,此次一见,单就开发环境而言,确实是功能强大、考虑周到、开发便捷;
    Phapsody,Telelogic用于嵌入式开发的XML环境,可以导入旧有代码,可以由XML设计图直接生成代码并且跟代码保持同步、在设计层次进行调试,可以自动生成文档,同时还可以与Workbench组合使用;
    Qtopia,Qt Embedded的进化版,据说是嵌入式平台上GUI的不错选择;
    淑女,午饭时遇到的,似乎是做同声传译的,午饭是一小盘的西瓜哈密瓜菠萝之类,本来就那么小的水果块还一手拿刀一手拿叉一点一点儿的仔细切开,然后极其淑女地送到嘴里──我看着都替她累。。。并且才吃这么点儿东西,不知道她是怎么活下来的。。。搞得我们一桌子人都快不好意思吃了。。。-_-!
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/24896/showart_440476.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP