嵌入式操作系统
上周,谷歌员工做了一件让人看不明白的事:他们低调地宣布正在开发一款操作系统,从理论上来说,这款操作系统将成为谷歌Android的竞争对手。
这款开源操作系统代号为Fuchsia,可以搭载在各种轻量级、单一目的的设备上,例如ATM机和GPS设备,同时也支持PC。不过与Android不同,Fuchsia没有基于Linux内核,也并非衍生于当代其他PC或手机操作系统。实际上,这是从头开始的一项工作。
谷歌并未透露,将利用Fuchsia去做些什么。Fuchsia仍处于早期发展阶段,有可能只是一次尝试。不过,谷歌有着充分的理由,“重启”一个沉寂数十年的软件开发领域。
“外壳坚硬”的内核
你可能不太清楚自己手机、平板电脑和笔记本的某些方面:这些设备操作系统的“内核”非常古老。Android使用了Linux内核,这一内核起源于1991年。Mac OS X、iOS,以及其他苹果平台基于Unix内核,Unix于1969年发源于AT&T贝尔实验室。Windows计算机采用的是可以追溯至1993年的Windows NT内核。
内核的目的是管理操作系统的最底层。内核处理来自键盘等硬件设备的请求,调度计算任务,以及管理文件系统和内存。由于内核的存在,如果一款应用想要调用打印功能,那么开发者并不需要知道打印机的具体型号。
对于一个追求完美的行业来说,Unix、Linux和Windows NT等内核的存在很矛盾。不过业内知名分析师霍拉斯·德迪乌(Horace Dediu)指出,在最底层,计算方式与数十年前相比并没有不同。例如,当前Windows计算机采用的芯片与第一代IBM PC中的英特尔处理器一脉相承。从这种意义上来说,内核是通用的。
德迪乌表示:“我们仍在使用同样的架构,计算的概念没有变化:寄存器、门电路、晶体管。因此,我们没必要研究更好的内核。内核已得到充分的发展。”
或许,这就是大部分业内人士的想法。然而目前,我们正在将传感器和计算元件集成至更多设备,例如将普通家居设备变为智能家居,让所有一切都联网(即物联网)。Fuchsia背后的逻辑或许在于,古老的内核,例如Linux,不适用于这些新生设备。因此,开发者正在构想更现代化的内核。(这里的内核本身名为Magenta,而Magenta又基于谷歌的另一项实验LittleKernel。)
来自Particle的扎赫·苏帕拉(Zach Supalla)指出,Linux给这些小型计算设备带来了问题。Particle提供物联网硬件套装和开发者工具。
一方面,对这些应用来说,Linux的规模太大。尽管Linux内核是模块化的,开发者可以剥离不需要的组件,但最终这仍需要以MB计算的存储空间。这意味着,Linux内核很难被用在廉价的微控制器上。如果想要使用Linux内核,那么开发者必须选择尺寸更大、价格更贵、能耗更高的处理器。
苏帕拉表示:“市场需要质量更好、价格更低的产品,但这样的需求尚未被满足。”
另一方面的问题在于,Linux并不是“实时”操作系统。与ATM机、医疗产品,以及其他单一目的设备中的嵌入式操作系统相比,Linux采用调度算法来管理多任务。尽管这可以使通用目的设备的性能最大化,但也给需要精确定时的设备,例如3D打印机,以及汽车发动机控制,带来了问题。
苏帕拉指出:“如果你想要确保,这些任务有着微秒级的时间精度,那么你不会希望让计算机来决定何时处理哪一任务。”
对物联网设备来说,类似Linux的通用目的操作系统也不太安全。这样的操作系统代码很多,这意味着很可能有更多信息安全漏洞需要解决,或是需要通过防火墙和VPN进行锁定。
苏帕拉表示:“运行实时操作系统或嵌入式操作系统的价值之一在于,你不需要做任何锁定。你不需要太担心这些系统。除了自己编写的软件之外,这些操作系统无法运行任何东西。”
苏帕拉猜测,Fuchsia的目标是将Linux的优点和当前嵌入式系统,例如FreeRTOS和ThreadX,结合在一起。在支持应用和硬件通过操作系统去通信方面,Linux仍要好于绝大多数系统。
他表示:“他们或许希望借鉴Linux的某些抽象概念,以及RTOS的性能、大小和实时性。这将很有价值,我认为从理论这是可以做到的,只是之前没有人去做。”
谷歌正开发新操作系统Fuchsia
规模的扩大
如果Fuchsia仅瞄准小型设备,那么可能不是那么值得关注。不过,Fuchsia的开发者有着更远大的目标。他们表示,这一操作系统也将可以用于智能手机和PC。从理论上来说,这将成为谷歌Android和Chrome OS的直接竞争对手。
那么,这样做的动机是什么?苏帕拉认为,从头开始开发将带来更高效的操作系统,而这样的操作系统也可以提升服务器的效率。这是谷歌长期以来一直关注的问题。他还表示,对PC的支持意味着,开发者可以同时模拟运行大量小型设备,确保这些设备的规模化运转。
苏帕拉表示:“你可以搭建数千台服务器,每台服务器都同时运行软件应用的数千个拷贝。因此,对PC的支持意味着更适合测试。”
德迪乌则有着不同看法。谷歌这一新操作系统将解决困扰谷歌已久的Android知识产权授权问题。他表示:“由于这是全新的设计,因此不会存在有争议的知识产权。这是个合理的假设,因为Linux的知识产权问题很复杂。”
不过,这一切都还停留在理论上。Fuchsia的开发者表示,他们最终将发布这一操作系统及相关文档,不过这可能还有遥远的距离。目前尚不清楚,谷歌是否会向这项工作投入资源。Android生态系统已非常庞大(并且正在与Chromebook融合)。与此同时,谷歌也在基于Android开发物联网操作系统,即Brillo。这正在形成一个完整的平台,而不仅是简单的操作系统。
最初,Unix只是贝尔实验室的志愿者项目,没有得到任何组织的认可。而林纳斯·托瓦尔德斯(Linus Torvalds)最初开发Linux时也只是将其当作一个副业。或许未来几十年后,我们也可以对Fuchsia如何发源于谷歌侃侃而谈。
全部0条评论
快来发表一下你的评论吧 !