关于问题vxworks与linux区别


   vxWorks

 

                                         Linux



内核

结构


 微内核,

内核只提供

了基本的服

务,如:任

务管理,内

存管理,中

断处理等

   宏内核,  

除了基本的

服务,内核

还包括文件

系统,网络

协议等


运行

模式

应用程序运

行在“实模

式”下,无

用户模式和

内核模式之

采用“保护

模式”,用

户进程、线

程运行在用

户模式下,

内核线程运

行于内核模

内存

访问

和内

存保

内核采用实

存储管理方

式,所有任

务运行于同

一物理地址

空间,用户

程序直接操

作物理地

址,不能直

接地提供内

存保护,不

能防止错误

蔓延

内核采用虚

拟存储管理

方式,用户

具有独立的

地址空间

,用户进程

只能访问本

进程的虚拟

空间,提供

了内存保

护,可以防

止错误蔓延

执行

单元




任务





进程、线程

请求

内核

服务

方式



函数调用,

更快

系统调用

,更安全

 


硬实时

软实时

http://baike.baidu.com/view/1027685.htm?fr=ala0_1

宏内核与为内核的区别

宏内核的内部可被分为若干模块(或者是层次或其他)。但是在运行时,它是一个独立的二进制大映像。模块间的通信不是通过消息传递,而是通过直接调用其他模块中的函数来实现的

关于微内核的概念见:http://www.dzsc.com/data/html/2009-1-16/75785.html   

在微内核中,用以完成系统调用功能的程序模块通常只进行简短的处理,而把其余工作通过消息传递交给内核之外的进程来处理。在典型情况下,每个系统调用程序模块都有一个与之对应的进程,微内核部分经常只不过是一个消息转发站, 这种方式有助于实现模块间的隔离。这种内核设计的最根本思想就是要保持操作系统的内核尽可能小,因为内核是直接与计算机硬件相关的,内核越小,就越便于在不同的硬件系统间进行移植。微内核结构的另外一个优点是,可以使不需要的模块不加载到内存中,因此,微内核就可以更有效地利用内存。

  

http://www.itqun.net/content-detail/155701.html

设备驱动部分的比较和分析
     由于Linux操作系统和Linux引导装载器在结构上的分离,使得它俩之间的设备驱动程序不能够通用,当然在芯片的硬件初始化一些硬件相关的代码上可以互相借鉴。而 VxWorks的BOOTROM和运行版本的设备驱动是相同的,因为,它的运行版本和BOOTROM的结构是一致的,使用同一操作系统内核。 Linux操作系统的设备驱动运行在内核空间,用户进程运行在用户空间。在Linux操作系统中,内核空间和用户空间的内存管理和映射方式是不同的,应用和设备驱动在数据交换时会涉及到不同的内存空间,会影响到一定效率,但这个问题可以通过修改系统内存空间配置等方法来解决。
VxWorks操作系统没有分开内核空间和用户空间,设备驱动和应用都运行于同一空间,相互之间的内存都可以访问,数据交换非常方便,但是,这种结构的稳定性就不如 Linux系统好了。 两种操作系统都提供了很多设备驱动的资源和模板。但是由于Linux的开源特性,它提供的设备驱动的种类和数量远远超过了VxWorks.


4 结论
     本文简单介绍了Linux和VxWorks操作系统的BSP开发的内容。通过比较发现,VxWorks作为专业的商用实时操作系统,提供BSP开发方式,开发资源都非常适宜于嵌入式应用。而Linux作为从通用操作系统发展而来的,在嵌入式应用的BSP开发方面,需要多做一些工作,但是它却有更丰富的资源。

你可能感兴趣的:(关于问题vxworks与linux区别)