技术开发 频道

Android系统为何不流畅?QNX道破玄机

  【IT168评论】说到操作系统,大家可能不会陌生,在桌面操作系统中经常听到Windows,还有不常见的Linux,在嵌入式领域经常听到WinCE、VxWorks,在智能终端领域我们更多的是听到iOS、Android、windows phone等等,今天给大家介绍一个微内核架构、能够真正支持多核处理的操作系统—QNX。

  通常我们更关心操作系统的性能和可靠性,通常对于可靠性要求很高时往往会降低性能,而对于性能要求很高时往往会损失可靠性,这两者的博弈是始终存在的,如何才能够让性能和可靠性都得到不同程度的提升呢?这正是QNX对于大家的价值关键在于两个地方。第一个是可靠性,凡是在需要有可靠性的地方都会有QNX的影子。第二个特点非常好的适时性能,提供最好的操作系统性能。

  解读QNX微内核架构

  QNX系统如何做到性能和可靠性的平衡呢?答案是微内核。QNX是世界上第一个发明微内核适时操作系统的公司,甚至比微软和Wind River的Vxworks还要早,在操作系统的历史上是令人惊讶的。QNX创始人在30年前就预示到微内核构架将会在操作系统的演进中起到非常重要的作用。

  大家在用到iphone和ipad的时候最初的感觉是很快,很流畅,因此有些用户甚至感慨,当自己第一次摸到iphone和ipad的时候就深深的爱上它了,因为性能实在是太好了。当然现在也有很多的Android设备在市场上热销,但是把Android设备和iphone以及ipad比较时你会发现,Android的设备在性能和稳定性上确实和iphone以及ipad有些差距,其实这种体验上的差距并不是在硬件或者应用软件上面,尽管Google花了大量的力气去改善,但是最根本的是在内核的构架上有问题,有很多时候架构往往决定着产品会有什么样的性能。

  与iphone和ipad一样,QNX同样采用的是微内核的构架,而且比iphone和ipad的微内核还要早20年。在操作系统内部只有一个非常小的内核,如图所示,协议、驱动以及文件系统等等都是在内核之外,内核层完全是由QNX做的,其他的都可以由用户来实现,给大家一个想象的空间。

  ▲QNX微内核架构

  大家深有体会,在Windows XP3之前经常会有系统的崩溃,现在的windows 系统已经完善很多了,不至于每天都有系统崩溃发生。系统之所以经常发生崩溃,是因为windows 系统有自己的内核,而且要比QNX的内核大一圈,为了追求效率把一些协议和驱动都放在内核空间中。但是追求效率的内核会有很大的问题,内核的驱动、文件系统和很多的协议不是微软自己开发的,因此当微软让第三方的开发商进入内核开发的时候,第三方提供的程序会出问题,并不仅仅是微软的代码出了问题导致系统崩溃,任何第三方厂商提供的代码出了问题都会导致系统崩溃。这些都采用的是宏内核,在提升效率的同时牺牲了系统的可靠性。

2
相关文章