概述
vxworks与linux内核比较
|
vxWorks
|
Linux
|
内核结构
|
微内核,内核只提供了基本的服
务,如:任务管理,内存管理,
中断处理等
|
宏内核,除了基本的服务,内核还
包括文件系统,网络协议等
|
运行模式
|
应用程序运行在
“
实模式
”
下,无用
户模式和内核模式之分
|
采用
“
保护模式
”
,用户进程、线程运
行在用户模式下,内核线程运行于
内核模式
|
内存访问和内存保
护
|
内核采用实存储管理方式,所有
任务运行于同一物理地址空间,
用户程序直接操作物理地址,不
能直接地提供内存保护,不能防
止错误蔓延
|
内核采用虚拟存储管理方式,用户
具有独立的地址空间,用户进程只
能访问本进程的虚拟空间,提供了
内存保护,可以防止错误蔓延
|
执行单元
|
任务
|
进程、线程
|
请求内核服务方式
|
函数调用,更快
|
系统调用,更安全
|
实时性
|
硬实时
|
软实时
|
设备驱动部分的比较和分析
由于Linux操作系统和Linux引导装载器在结构上的分离,使得它俩之间的设备驱动程序不能够通用,当然在芯片的硬件初始化一些硬件相关的代码上可以互相借鉴。而 VxWorks的BOOTROM和运行版本的设备驱动是相同的,因为,它的运行版本和BOOTROM的结构是一致的,使用同一操作系统内核。 Linux操作系统的设备驱动运行在内核空间,用户进程运行在用户空间。在Linux操作系统中,内核空间和用户空间的内存管理和映射方式是不同的,应用和设备驱动在数据交换时会涉及到不同的内存空间,会影响到一定效率,但这个问题可以通过修改系统内存空间配置等方法来解决。 VxWorks操作系统没有分开内核空间和用户空间,设备驱动和应用都运行于同一空间,相互之间的内存都可以访问,数据交换非常方便,但是,这种结构的稳定性就不如 Linux系统好了。 两种操作系统都提供了很多设备驱动的资源和模板。但是由于Linux的开源特性,它提供的设备驱动的种类和数量远远超过了VxWorks.
最后
以上就是深情鲜花为你收集整理的vxworks和linux比较的全部内容,希望文章能够帮你解决vxworks和linux比较所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复