Android, IOS和QNX之比较

自打Android系统被Google推广至今,android手机平板电脑大红大紫,抢尽风头。很多其他的商业OS开始把注意力转移到电子消费类的数码产品上。
QNX系统是一款商业实时OS,并且采用的是微内核。之前一致应用在军工,航天,工控等领域。目前闭源(好像开放过某个版本的代码),找不到开放源码的开发社区。东家是黑莓。
IOS系统,这个不用太多介绍,iphone和ipad用的都是这个系统。
Android系统,是基于嵌入式linux内核的一款开放源码的操作系统。

QNX这样的一个商业操作系统,本来是和android根本就搭不上任何关系的,现在开始进军消费类电子数码市场了。网络上出现了大量的介绍QNX的文章,帖子。不过其中不少都是一些记者编辑的剪刀作品。为了推销自己的OS,开始拿android和IOS来对比QNX说事。
1. 稳定性
剪刀党的说法是:IOS采用的是微内核,并且IOS比android系统稳定,这就说明微内核的QNX比android系统要稳定。真的如此吗?
[1] IOS采用的是不是微内核,因为苹果并没有开放代码,大家都不得而知。
但是从部分开放出来的文档,以及苹果之前放出的部分开源代码,mac os本身在开放阶段是采用的微内核的架构,但是在最终释出产品的时候,却是采用的宏内核的方式。
[2] 微内核比宏内核更稳定
从架构上看,微内核确实比linux的宏内核有一定优势,所有的驱动都以单独server进程的方式出现,一旦某个server挂掉,重启它就可以,可把对其他进程的影响降到最低。
但是,微内核就可以决定稳定性了吗?
怎么解释,IOS更新版本历史中出现的那么多问题,硬件引起的电话信号消失问题;最近一次升级到IOS6后,很多IOS应用不能使用,必须修改的问题?把这些问题归结到稳定性上说事,或者归结到微内核上,估计很多人会骂我的。
[3] 为何android不稳定
A. android系统的碎片化
太多的硬件安装了android系统,但是没有经过全面系统的验证。太多的android应用根本没有经过一定的测试就释出。这些才是android系统和应用不稳定的根本原因。
B. IOS系统应用市场是自己的,没有碎片化顾虑,系统和应用都会有比较全面的测试验证。
2. 性能
剪刀党的说法是:IOS的性能和用户体验优于android,并且QNX是实时操作系统,所以QNX的性能表现比android要好。
Android系统采用的是linux的kernel。而linux的kernel从来都没有宣称自己是实时OS。QNX系统是实时操作系统,确实比android相应速度要快。
A. 但是用户在反应速度上的体验,是可以改善和优化提高的。
android4.1在原有基础上针对响应速度做了很大努力,当然也需要更强的硬件支持。大部分用过谷歌nexus 7平板的人都感觉android的反应速度还是很快的。
B. 苹果的设备在用户体验上,是从硬件就开始优化的。
IOS的应用都是native的,而android的应用是跑在DVM虚拟机里的。这个天生就有性能上的差异,即使硬体相同的话。
更何况,苹果的硬件都是自己设计优化过的。可以找找A5,A6的资料。
3. 架构优势
剪刀党的说法是:QNX采用微内核,核心代码少,便于维护。同时,在工控,航天等领域的成功应用,证明了QNX的先进性。
这两种内核的架构谁更好,到目前都还在争论。在这里不做讨论。有兴趣的网友,可以看下我的帖子中微内核方面的转载文章。

但是有一点必须说明:如果认为使用了QNX的机器或者使用了实时OS的机器就什么都好,以偏盖全,是不恰当的。


你可能感兴趣的:(kernel-driver,linux嵌入式开发,Android系统)