概述
Vxworks和Linux是常用的两种操作系统,现对其进行比较总结。
VxWorks主要应用于电信级别的数通等产品,而linux主要应用于消费类、工控产品等
微内核、宏内核
内核中提供各种服务的成分与使用这种服务的进程之间形成一种client/server关系,这种服务并不一定非得留在内核中,它本身也可以被设计实现成“服务进程”,其中必须留在内核中的部分只有进程间的通信,如果把这些服务从内核转移到进程的层次上,那么内核本身的结构就可以大大减小和减化,而各个服务进程也可以单独设计、实现及调试。
微内核便是将服务转移到进程上的一种内核模式,主要应用在实时系统和嵌入式系统上,主要是因为通常这些系统都不带磁盘,整个系统必须都放在EPROM中,常常受到存储空间的限制,而且所需的服务也比较单一,如PSOS,VxWorks等。
宏内核是一种传统的内核结构,它将进程管理,内存管理等各项服务功能都放到内核中去,通常用在通用式内核上,如UNIX,linux等.
设备驱动部分的比较和分析
由于linux操作系统和linux引导装载器在结构上的分离,使得它倆之间的设备驱动程序不能够通用,当然在芯片的硬件初始化一些硬件相关的代码上可以互相借鉴。而VxWorks的BOOTROM和运行版本的设备驱动是相同的,因为它的运行版本和BOOTROM的结构是一致的,使用同一操作系统内核。linux操作系统的设备驱动运行在内核空间,用户进程运行在用户空间。在linux操作系统中,内核空间和用户空间的内存管理和映射方式是不同德,应用和设备驱动在数据交换时会涉及到不同的内存空间,会影响到一定效率,但这个问题可以通过修改系统内存空间配置等方法来解决。VxWorks操作系统没有分开内核空间和用户空间,设备驱动和应用都运行于同一空间,相互之间的内存都可以访问,数据交换非常方便,但是这种结构的稳定性就不如linux系统好,两种操作系统都提供了很多设备驱动的资源和模板。但是由于linux的开源特性,它提供的设备驱动的种类和数量远远超过了VxWorks.
最后
以上就是无辜小松鼠为你收集整理的Vxworks和Linux的比较的全部内容,希望文章能够帮你解决Vxworks和Linux的比较所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复