❏ 站外平台:

Google 为什么要从头开发一套新的操作系统 Fuchsia ?

作者: JARED NEWMAN 译者: 36Kr boxi

| 2016-08-23 19:32   评论: 21 收藏: 1    

编者按:鉴于传统操作系统内核存在规模庞大、不够实时、缺乏安全等问题,Google、华为等解决方案供应商认为,物联网设备需要全新的操作系统。但是Fuchsia会像Unix和Linux一样辉煌吗?一切都有待观察。

上周,一群Google人干了件奇怪的事情:他们悄悄披露了一套新的操作系统,从理论上来说,这套系统跟Google自己的Android OS是有竞争关系的。

目前正在研发中的这套开源操作系统代号为 Fuchsia,可运行在一切东西上,下至轻量的单用途的设备(比如ATM和GPS单元),上至桌面计算机都可以支持。但跟Android不一样的是,Fuchsia并不是基于Linux,也不是衍生自任何构成个人计算和通信基础的其他软件。相反,这是一次从零开始的尝试。

Fuchsia还处在早期研发阶段,至于这个系统打算怎么用,Google还没有放出任何重大公告,这只是一次实验的可能性也是存在的。尽管如此,Google仍然有大量理由来重置几十年的软件史。

执拗的内核

这个东西跟你的手机、平板和笔记本都有关,但你可能还意识不到:它们大多数采用的软件“内核”都相当老。Android使用的Linux内核,是在1991年开始研发的。Mac OS X、iOS等苹果平台是以Unix为基础的,后者源自1969年的贝尔实验室。Windows计算机基于的 Windows NT内核要追溯回1993年。

内核的目的是管理操作系统的最底层。它处理键盘等硬件设备的请求,进行任务调度,并管理文件和内存。为此,它要对操作系统的纷繁复杂之处进行抽象,而这是有帮助的,比方说可以让开发者不必知道具体打印机型号的情况下进行打印。

对于一个痴迷于最新技术的行业来说,像Unix、Linux以及Windows NT等老内核的弹性似乎有点矛盾。但行业分析师Horace Dediu认为,从最底层水平来看,计算基本上跟几十年前是一样的。比方说,今天的Windows计算机使用的芯片就是第一款IBM PC的英特尔处理器的直接后代。从这个意义上来说,内核只不过是件商品罢了。

“我们仍然使用一模一样的架构,仍然使用一模一样的计算概念——寄存器、门电路、晶体管——出于这个原因,并没有做一个更好的内核的必要,” Dediu说:“内核的问题已经解决了。”

我们大概也这么想吧。这段时间以来我们把传感器和计算能力打包进更多的东西里面,比方说,把日常家庭变成了智能家庭,并且通常把一切都连接得更加紧密(行话叫做物联网)。Fuchsia背后的想法也许是认为,像Linux那样老化的内核已经不足以应对这波新设备了。同样,创造者也在替现代设想一个新的内核。(内核本身叫做Magenta,基于Google最近的另一个实验项目LittleKernel)

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 内部不太被重视的事情。



最新评论

[1]
拿铁不加糖 [Chrome 52.0|Windows 10] 发表于 2016-08-24 10:12 的评论:
开发一个新的操作系统对于google这种企业问题不大,当时最关键的是,这个平台上的软件从何而来。大家离不开Windows,主要原因也是很多软件离不开Windows而已。
[2]
来自上海的 Chrome 52.0|Mac 10.11 用户 发表于 2016-09-07 17:23 的评论:
等你用了其它系统你就知道windows系统多渣
拿铁不加糖 [Chrome 52.0|Windows 10] 2016-09-07 20:27 1 回复
你的认知已经超出了我的理解范围了。
[1]
WangYueScream [Chrome 45.0|Windows 7] 发表于 2016-08-25 11:51 的评论:
...想问下如何获取浏览过这个页面的用户所使用的浏览器和操作系统
来自河北石家庄的 Firefox 48.0|GNU/Linux 用户 2016-08-29 23:49 1 回复
UserAgent
hello_linux [Chrome 51.0|Windows 7] 2016-08-27 10:07 1 回复
hhhh,可以。
[点击展开更多楼层]
[4]
来自四川成都的 Chrome 52.0|GNU/Linux 用户 发表于 2016-08-24 17:16 的评论:
那也只能代表你自己,在这个世界上还有连电脑都不用的人。
[5]
拿铁不加糖 [Chrome 52.0|Windows 10] 发表于 2016-08-24 22:28 的评论:
你这智商和认知,你赢了!
[6]
来自四川成都的 Chrome 52.0|GNU/Linux 用户 发表于 2016-08-25 09:26 的评论:
我真不知道哪里说错了?分明是依据事实。在一个 Linux 社区肯定更是偏向 Linux,在这篇文章即便要关心,理应想到的也应该是这个全新的系统,怎么兼容基于 POSIX 标准的软件,而不是“我离不开 Windows”。而且你有想过没,那些和你一样离不开 Windows 的人,可能他们离不开的仅仅是 Windows 7 和 Windows XP,最新版的系统根本不想尝试,或者不想再尝试。
拿铁不加糖 [Chrome 52.0|Windows 10] 2016-08-25 21:14 4 回复
一个良好的社区环境不是泾渭分明的画个界限,而是包容的看得各方面的技术和产品,Linux社区当然更偏向Linux,但是不要因为喜欢Linux而且妄自菲薄其他技术和产品,linus还是微软powerpoint的爱好着呢!另外你说到有人离不开Windows是因为离不开Windows XP或是7这种旧版的操作系统,那我就拿我做就在客户那里遇到的情况来给你说,客户有一套软件64版本只能在Windows 7上安装,32位版本只能在XP上安装,ok,那你可能会说,升级软件版本,但是或许你盗版和免费软件用惯了,这种行业软件几十个用户的许可使用授权要几百万。
[1]
WangYueScream [Chrome 45.0|Windows 7] 发表于 2016-08-25 11:51 的评论:
...想问下如何获取浏览过这个页面的用户所使用的浏览器和操作系统
hsyan2008 [Firefox 45.0|GNU/Linux] 2016-08-25 13:11 2 回复
看user-agent
[点击展开更多楼层]
[4]
来自四川成都的 Chrome 52.0|GNU/Linux 用户 发表于 2016-08-24 17:16 的评论:
那也只能代表你自己,在这个世界上还有连电脑都不用的人。
[5]
拿铁不加糖 [Chrome 52.0|Windows 10] 发表于 2016-08-24 22:28 的评论:
你这智商和认知,你赢了!
[6]
来自四川成都的 Chrome 52.0|GNU/Linux 用户 发表于 2016-08-25 09:26 的评论:
我真不知道哪里说错了?分明是依据事实。在一个 Linux 社区肯定更是偏向 Linux,在这篇文章即便要关心,理应想到的也应该是这个全新的系统,怎么兼容基于 POSIX 标准的软件,而不是“我离不开 Windows”。而且你有想过没,那些和你一样离不开 Windows 的人,可能他们离不开的仅仅是 Windows 7 和 Windows XP,最新版的系统根本不想尝试,或者不想再尝试。
来自广东深圳的 Chrome 48.0|Windows 7 用户 2016-08-25 10:50 6 回复
办公我用WINDOWS,安装服务器我用LINUX,没有什么离不离得开的,真要出新的操作系统我也会尝试使用他,如果可以就像现在用触屏手机早已经习惯而不用按键手机
[1]
来自上海的 Firefox 47.0|Ubuntu 用户 发表于 2016-08-24 10:19 的评论:
Mac OS 的基础不是BSD嘛
fxbszj [Firefox 48.0|GNU/Linux] 2016-08-24 15:51 1 回复
"Mac OS X、iOS等苹果平台是以Unix为基础的",  如果你说的是这句的话,你应该看看BSD的历史了
chenjintao_ii [Firefox 48.0|Windows 7] 2016-08-24 09:22 1 回复
嵌入式操作系统?上都江堰啊~~
[1]
来自江苏南京的 Chromium 51.0|Ubuntu 用户 发表于 2016-08-24 08:48 的评论:
欣赏Google的精神,不看好这个系统,Google有太多玩意后面就不了了之
fxbszj [Firefox 48.0|Windows 10] 2016-08-24 09:14 1 回复
确定有这一方面,当年还挺想买个google class,结果没影了
hazdzz [Chrome 52.0|Mac 10.11] 2016-08-23 23:35 1 回复
重新做一套内核?
sunriders [Firefox 48.0|Mac 10.11] 2016-08-23 22:32 4 回复
nice@!~

返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。