[转]vxworks和linux等 嵌入式操作系统相关

时间:2022-08-26 20:06:13

搜了些文章,先看看,了解下嵌入式操作系统。[转]vxworks和linux等 嵌入式操作系统相关

http://lycn81.blog.163.com/blog/static/26282084200982511326717/

到目前为止接触过QNX、RTLinux、uC/OS-II、Nucleus Plus、VRTX、VxWorks、eCos,总结下来有以下特点:
1:QNX的可靠性很好,协议栈、各种外设驱动稳定,只是运行所需资源有些多,需要MMU。如果需要高可靠性应用,QNX可能是最好的选择,本人公司现在就是基于QNX开发RTOS的。
2:RTLinux的实时性与其它RTOS相比有些差。但是,因为好多Linux资源可以利用,是RTLinux的优点。但是运行所需资源比QNX还多,也是需要MMU。可以选用开源的RTLinux或内容新的商用RTLinux。
3:uC/OS-II比较小巧,移植容易,网上资源很多,核心可以做得很小。但不是免费的,并且驱动需要自己编写,协议栈、图形驱动都要另外加。
4:Nucleus Plus比uC/OS-II庞大,另外提供了文件系统、协议栈、图形界面等许多东西。当然也是分开卖的,不是免费的东西。使用起来比较容易上手。
5:VRTX是一款比较早的RTOS,现在使用的人已经很少。运行还是比较可靠。配套的文件、协议栈等模块很少。
6:VxWorks是RTOS中的大牛,国内外用的人很多,开发工具功能强大,使用方便,但是价格昂贵。也有基于MMU的高可靠性的产品。所需资源比QNX小,比uC/OS、eCos多。对于一些私企或者好似小公司来说,可用性值得商榷。
7:eCos是开源的RTOS。针对不同的CPU已经做了许多现成的移植。代码尺寸比Nucleus的略大。如果不用USB host等,并且不想花费太多的金钱,应该是不错的选择。

http://243633.blog.51cto.com/233633/392034

   vxworks  linux  
内核结构    微内核,内核只提供了基本的服务,如:任务管理,内存管理,中断处理等  宏内核,除了基本的服务,内核还包括文件系统,网络协议等
运行模式  应用程序运行在实模式下,无用户模式和内核模式之分  采用保护模式,用户进程、线程运行在用户模式下,内核线程运行于内核模式
内存访问和内存保护  内核采用实存储管理方式,所有任务运行于同一物理地址空间,用户程序直接操作物理地址,不能直接地提供内存保护,不能防止错误蔓延  内核采用虚拟存储管理方式,用户具有独立的地址空间,用户进程只能访问本进程的虚拟空间,提供了内存保护,可以防止错误蔓延
执行单元  任务  进程、线程
请求内核服务方式 函数调用,更快 系统调用,更安全
实时性 硬实时  软实时
发行版 windriver vxworks Motivista Linux、Lineo Embedix、Bluecat Linux
     
http://www.linuxdiyf.com/bbs/thread-105699-1-1.html
较之Vxworks系统,因为我先前的工作主要是基于Vxworks的,所以在此对Linux系统和Vxworks系统做一个简单的比较,这个比较并非完全技术层面,而我对于Linux的了解也仅仅是“刚刚上路”,所以就是代表我的一家之言,仅供参考。

  Linux和Vxworks相比,技术上有两个比较吸引人的特点,第一是内存管理,使得用户进程之间地址空间独立,从而可以避免应用程序漏洞导致系统崩溃的问题,而在基于Vxworks的系统中,内存操作相关问题,在系统致命问题中占有很高的比例。第二是应用程序动态执行,这极大的提升系统扩展性能,减小现网运行设备的升级维护压力,电信级设备中,这应该是一项重要的性能指标。当然,理论上Vxworks系统也能实现。

  下面的表格是两者的综合比较。

比较项目
Linux
Vxworks
版权费用
GPL,免费
昂贵
技术支持方式
Linux网络社区
Wind River
网络资源
丰富,开源社区活跃
较少
系统复杂度
复杂
相对简单
核心稳定性


系统稳定性

对工程师能力依赖较大
调试难度
较大
小,系统基本上透明,且Tornado提供完善的调试手段,但对于内存问题,缺乏好的调试机制
实时性能
差,可改进,还是较差

安全性能
Linux上的hacker活跃
安全
扩展性能

弱,可改进,但难度大
网络特性支持
全,且免费
需要移植,开发,或者购买
管理特性支持
丰富
需要移植,开发,或者购买
人力资源
系统专家

较少,由于复杂度低,提升快
应用层专家
多,得益于Linux社区
较少
新手培训
系统复杂,上手慢,开发环境配置复杂,各种脚本学习复杂,所以培训周期长,难度大
由于有开发环境Tornado的支持,可以傻瓜式开发,所以培训周期短