vxworks和linux的一些总结

1、常见区别分析

参考了一些其他人的看法,目前对于vxworks和linux的区别看法主要在以下方面:

vxworkslinux
内核模式微内核,内核只提供了基本的服务,如:任务管理,内存管理,中断处理等宏内核,除了基本的服务,内核还包括文件系统,网络协议等
运行模式应用程序运行在“实模式”下,无用户模式和内核模式之分采用“保护模式”,用户进程、线程运行在用户模式下,内核线程运行于内核模式
内存访问和内存保护内核采用实存储管理方式,所有任务运行于同一物理地址空间,用户程序直接操作物理地址,不能直接地提供内存保护,不能防止错误蔓延内核采用虚拟存储管理方式,用户具有独立的地址空间,用户进程只能访问本进程的虚拟空间,提供了内存保护,可以防止错误蔓延
执行单元任务进程、线程
请求内核服务方式函数调用,更快系统调用,更安全
实时性硬实时软实时

2、linux、vxworks优劣势分析

1)vxworks采用微内核结构,内核的可移植性较linux好,内核稳定性较高,减少了内存的开销,进程间通信通过**IPC(进程间通信机制)**实现;linux采用宏内核结构,内核的可移植性较vxworks差,内核维护量大,由于包含了文件系统、设备驱动,系统内核相对较大,增加了对内存的需求,但是内核模块之间的通信直接通过函数调用实现,提高了内核的效率。
2)实时性方面:vxworks采用硬实时中断响应机制,真正做到了任务响应要实时,而且要求在规定的时间内完成事件的处理;而linux采用软实时机制,时间的确定性上得不到保证。因此,在实时性要求较高的一些场合,vxworks比linux存在较大的优势;
3)技术方面:A、Linux的核心和用户进程之间是的地址空间隔离的,每个用户进程之间的地址空间是隔离的,当某一个用户进程崩溃的时候,不会影响操作系统核心和其他用户进程正常运行;B、Linux支持页面级的内存管理,支持换页;C、由于隔离的原因,使得Linux软件的各部分之间耦合性更小,Linux的应用程序跟核心之间有清晰的界面,POSIX API。总而言之,Linux充分利用了现代微处理器的MMU硬件,而vxWorks则采用平面地址空间。在某些高端设备上Linux的保护模式的确可以让系统更稳定,至少更容易找Bug。
4)其他客观因素:导致网络设备厂商转向Linux的主要原因是 Linux代表产业链越来越成熟,用Linux的开发成本将远低于vxWorks。主要表现在:(a)支持Linux的软件越来越越多,而支持 vxWorks的软件越来越少,Linux下面有很多开源软件,而这些开源软件多半不支持vxWorks。现在用于网络设备的商业软件几乎都支持 Linux,如:Gated、Zebos、Trillium、InterPeek的协议栈等。(b)几乎所有的芯片都提供Linux驱动程序,几乎所有的CPU、评估板都提供Linux支持。(c)熟悉Linux的开发人员更好找。与Linux相比,vxWorks则越来越显得曲高和寡,其生存环境也越来越差。
综上所述,在小型、实时性要求较高的应用场景下,vxworks较linux更加实用,而相对大型、且实时性要求不很严格的场景中,linux更有优势。

  • 2
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值