强大稳定的 QNX 是如何被移植到手机上的?
自从 RIM 收购 QNX 以来,我们就期望着黑莓系统的彻底改造。这种期望随着 BB 10 的到来而最终实现。从 BB10 开始,黑莓不仅拥有了全新的界面,更重要的是,它有了一个强大的内核。BB10 强劲的多任务、流畅的运行效果,都得益于其背后的 QNX 系统。
由于其强大的稳定性,QNX 广泛用于对稳定有特殊要求的领域,比如互联网路由器、风力发电机、核电厂、高速列车等。最为人知的可能就是用于汽车控制系统。当 RIM 收购 QNX 的时候,人们也普遍猜测 这是公司进军汽车行业的一个信号。
如今,QNX 系统成为黑莓最关键的武器之一。它强大、稳定。更重要的是,它的类 UNIX 特性会吸引更多的应用开发者。黑莓是如何将 QNX 移植到手机上的?Ars 网站对此进行了一番简单的回顾。
PlayBook 是黑莓第一次在移动设备上使用 QNX 内核。公司为平板设计了全新的界面。2011 年 10 月,黑莓宣布融合黑莓 OS 和 QNX,开发 BBX 系统。当时的 CEO Mike Lazaridis 说,这可以让开发者同时为平板和手机开发软件,“整个公司在单一的平台和单一的愿景下团结起来”。
在接受 Ars 采访的时候,QNX 工程和黑莓系统高级副总裁 Sebastien Marineau 说,“PlayBook 是走向 BB10 旅程中的一大步。它不仅仅是 QNX,它实际上是为 RIM 重新创造软件平台。”
QNX 的首次发布是 1982 年。它是一个实时操作系统,采用了微内核。QNX 兼容 POSIX,与 Unix/Linux 拥有类似的 API 和编程方法,但是它是从头构建的,采用了不同的架构。在微内核中,每个进程都有自己的地址空间,单个进程的崩溃不会影响到其他进程,而且内核可以自动将其重启。
BB10 强大的多任务不免会使人担心耗电问题。其实,为了解决这个问题,黑莓在系统中引入了 “Knobs”,它将单独的应用放置在容器中,确保其合理运行。如果应用想要后台运行的话,开发者可以在应用中提出请求,但是这种请求要考虑到 CPU 能力范围。在某些情况下,应用会冻结在 “准备运行” 的状态。
自从黑莓收购 QNX 之后,QNX 已经成为闭源系统,但是公司提供了部分架构的代码,同时,公司也花时间改进软件,使其不会依赖于特定硬件。“我们花费了大量的时间使操作系统和应用脱离硬件。这意味着我们能够在不同的处理器、不同的机型上使用相同的软件平台和应用”,Marineau 说。他举了汽车的例子,“汽车上的 QNX 或许和手机上的 BB10 分享着 90% 的代码。”
他说,“我们所有人分享的愿景普适计算…… 当你在手机、平板和汽车上运行同样软件的时候,这很容易实现”。
QNX 的身上承载着黑莓的未来,而 BB10 能否成功,也决定了 QNX 能否在移动领域立稳脚跟。两者命运已经不可避免的联系在了一起。
图片来自 nerdberry