资料 |linux系统和vxworks系统的区别
来源:SELF_IMPR小灰 // my0919 的博客
1、常见区别分析
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更有优势。
————————————————
版权声明:本文为CSDN博主「my0919」的原创文章,原文链接:https://blog.csdn.net/my0919/article/details/86525157