Google为什么要从头开发一套新的操作系统Fuchsia?
Zach Supalla的公司Particle为物联网提供硬件工具包和开发者工具。他指出,对于这些小规模计算设备来说,Linux存在若干问题。
一是Linux对于这类应用来说太大了。即便Linux内核是模块化的,能够让开发者剔除不必要的部分,但最终仍会占据好几兆的空间。这意味着更难以把Linux内核塞进廉价的微控制器里面,从而让处理器成为必须,而后者往往大得多、贵得多且更耗能。
"全新的供应链这道鸿沟还没有跨越,这对制造提出了更高的品质要求,而且成本还得低很多," Supalla说。
另一个问题是Linux并不是"实时"的。跟ATM、医疗产品等单用途设备采用的嵌入式系统不同,Linux利用调度机制来处理大批任务。尽管这可以极大发挥通用计算机的性能,但也会导致需要精确定时的设备,比如说3D打印机或者汽车内部的许多电动控制系统出现问题。
"要想确保这玩意儿在确切的微秒时刻运行,你不会希望有个进程在那里决定什么时候跑什么东西," Supalla说。
Supalla说,对于物联网应用来说,像Linux这样的通用操作系统的安全性可能也会更低。其代码量更大,这意味着可能存在更多的安全漏洞需要处理或者通过防火墙或VPN锁定。
"运行实时操作系统或者嵌入式系统的价值之一在于,这些系统无需锁定任何东西," Supalla说:"它不需要运行一批你需要考虑的东西。除了你写的软件以外它不会运行任何东西。"
Supalla的推断是,Fuchsia是集两家之大成的一次尝试,在让应用和硬件通过操作系统进行通信方面Linux仍然处理得更好,而当今的一些嵌入式操作系统,比如FreeRTOS和ThreadX就没有前面提到的Linux的那些问题。
"他们可能既想要有Linux那种水平的抽象,又想获得RTOS的那种性能、小规模以及实时性," Supalla说:"这些都是非常有价值的东西,而且我认为从理论上来说是可以实现的。只是之前没做过而已。"
纵向扩展
如果Fuschia的目标只是小规模设备的话,可能就没那么值得关注了。但是Fuschia的开发者野心要比这大,他们宣称该操作系统可扩展到智能手机和桌面计算机上。理论上,这会使得Fuschia成为Google的Android和Chrome OS的直接替代方案。
为什么要这么做呢?据Supalla说,可能从头开始能够做出一个更高效的操作系统,这反过来又能支持更高效的服务器——对此Google一直都很感兴趣。他还指出桌面兼容性还可以模拟一次运行大量更小的设备,从而确保规模化运行。
"让一千台服务器每次都同时跑同样的软件应用,要比折腾一百万芯片跑起来更容易,所以这对测试更好。" Supalla说。
Dediu的理论不一样:一套新的操作系统可以让Google远离Android遭遇的知识产权授权问题。"因为这是一张白纸式的设计,不会碰到有人去找IP(知识产权)方面的麻烦,"他说:"这也许是一个合理的假设,因为Linux的确有一些棘手的IP问题。"
要记住的是,这也可能就是学术性的。Fuchsia的开发者说他们会完整记录并最终发布这套操作系统,但要走的路还很长,而且还不清楚Google会不会给予其充分的支持。Android生态体系已经很庞大(并且正在跟Chromebooks进行合并)。与此同时,Google还在扩展Android的某个版本到物联网设备,这个带嵌入式特性的版本叫做Brillo——Linux的缺点见鬼去吧,它正在成为一个成熟的平台,而不仅仅是一个简单的操作系统。
还有,Unix开始只是一个志愿者项目,并未得到贝尔实验室的承认;Linux Torvalds做Linux也只是自己的爱好。也许几十年后,我们会讨论起 Fuchsia 当初在 Google 内部不太被重视的事情。
Read full article from Google为什么要从头开发一套新的操作系统Fuchsia?
No comments:
Post a Comment