digits 发表于 2016-8-22 07:14:09

2016年8月谷歌从底层构建开源 Fuchsia 物联网嵌入式操作系统

2016年8月谷歌从底层构建开源 Fuchsia 物联网嵌入式操作系统

Fuchsia 是 Google 正在开发的一个开源操作系统。Fuchsia 可运行在各种设备上,无论是单一用途的设备 (比如:自动取款机 ATM 和 GPS 单元),还是桌面电脑,都有它的用武之地。但与 Android 不同的是,Fuchsia 并不基于 Linux 开源操作系统,也没有以其他类型操作系统为基础核心,而是从零开始构建。

目前,Fuchsia 仍处在构建早期阶段,且有可能是 "实验性项目"。谷歌 Google 目前尚未提及将如何使用 Fuchsia。
系统内核对于手机、平板电脑:大多数时候,它们使用的都是稍加改动的古老操作系统 “内核”。
Android 使用的 Linux 内核是 1991 年开发的,Mac OS X、iOS 和苹果的其他操作系统平台是基于 Unix 系统开发的,那是 AT&T 贝尔实验室在 1969 年启动的一个项目。Microsoft Windows 操作系统则是基于 Windows NT 内核,其历史可追溯到 1993 年。

操作系统内核的目的,是管理操作系统最底层的一些活动。内核处理来自硬件设备(比如:键盘)的请求、安排日程任务、对文件和存储器进行管理等。在这个过程中,内核对操作系统的复杂活动,进行了理论抽象。这样做有很多好处,比如:让开发人员无需了解打印机的具体型号,就能用 App 执行打印操作任务。

Unix、Linux 和 Windows NT 一直在挑操作系统内核大梁,从最底层的角度来看,计算基本上是相同的,和几十年前区别不大。举例来说,如今,Windows 计算机上使用的芯片,就是首台 IBM PC 上英特尔处理器的嫡传后裔。从这个意义上说,内核不过是一种通用计算机产品。
“我们使用的仍然是完全相同的架构,完全相同的计算方式 —— 寄存器、逻辑门、晶体管 —— 出于此种原因,我们没必要开发一个更好的操作系统内核”。

可能是,我们以为已经搞定了。现如今,我们正把传感器和计算能力塞进更多的设备里面,比如:把普通住宅改装为智能住宅,让所有东西都能联网(也就是:物联网)的时候。谷歌之所以开发 Fuchsia,可能是觉得 Linux 这样的内核并不适用于新设备。因此,他们想为新的世代研发出一个新的内核。(内核本身被称为 Magenta,它以谷歌近期的另一个实验性项目 LittleKernel 为基础)。
Linux 嵌入缺陷
Linux 用在小型计算设备上时,会有些问题。

01、Linux过于庞大尽管 Linux 内核是模块化的,开发者可以去除多余的部分,但它还是会占用大量空间。这意味着要把 Linux 内核塞到一个价格便宜的微控制器里会比较困难,你必须选用更大、价格更高,更加耗电的处理器。
微软 Windows XP 系统有 4000 万行代码,Windows Vista 和 Windows 7 则达到了 5000 万行;源系统 Linux 3.6 内核代码有 1590 万行,而 Linux 发行版 Debian 系统代码行数更是多达恐怖的 6500 万行,这还是经软件厂商反复精简的结果。
02、Linux 不 “实时”自动取款机、医疗产品和其他单一用途设备采用嵌入式操作系统,和它们不一样的是,Linux 是靠一个时间表来处理多任务的。虽然,这可最大限度地发挥通用计算机的性能,但却给那些需要精确定时的设备带来麻烦。
像 3D 打印机,汽车内部的很多电动控制装置等,都对精确定时有较高要求。如你想确保这些设备在某一微秒准时启动,你真的会不希望由一个进程来决定运行时间。
使用实时操作系统 (嵌入式系统) 的优点之一,就是不需要封堵任何东西。 你不需要运行一堆必须小心留神的东西。只需运行你写的软件,不会运行其他任何东西。
03、Linux 不安全对于物联网应用来说,像 Linux 这种通用操作系统可能不太安全。
Linux 代码更多,这也意味着需要防范的漏洞也会更多,你必须使用防火墙或 VPN 来解决或封堵这些安全漏洞。

04、通信能力但在软硬件通信方面,Linux 仍有很大优势。谷歌开发 Fuchsia 是希望把 Linux 和嵌入式系统这两者的长处结合起来。当今主流的嵌入式系统,包括:Free RTOS 和 ThreadX 等。
在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统 Free RTOS 可更合理、更有效地利用 CPU 资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。
Free RTOS 是一个迷你的实时轻量级操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。
由于 Free RTOS 需占用一定的系统资源 (尤其是 RAM 资源),只有 μC/OS-II、embOS、salvo、FreeRTOS 等少数实时操作系统能在小 RAM 单片机上运行。相对 μC/OS-II、embOS 等商业操作系统,FreeRTOS 操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行,其最新版本为 8.2.3 版。
在嵌入式领域,FreeRTOS 是不多的同时具有实行性,开源性,可靠性,易用性,多平台支持等特点的嵌入式操作系统。目前,FreeRTOS 已经发展到支持包含 X86,Xilinx,Altera 等多达 30 种的硬件平台,其广阔的应用前景已越来越受到业内人士的瞩目。
谷歌可能想要开发一个抽象程度达 Linux 水平,但性能、体量和实时性与 Free RTOS 相当的操作系统。 这样的操作系统有很大的价值,我觉得从理论上来说是可以办到的。只是以前从来没有人这么做过。

05、扩展性
如 Fuschia 针对的只是小型设备,它可能没有那么引人瞩目。但 Fuchsia 的开发人员有更远大的雄心,他们声称:该操作系统可扩展到智能手机和台式电脑上。从理论上讲,Fuchsia 可直接替代谷歌的 Android 和 Chrome OS。

Fuschia 开发规划
谷歌为什么要这么做?从零开始或许可以构建出更高效的操作系统,从而获得更高效的服务器 —— 谷歌一向都对这方面很感兴趣。兼容台式机有助于模拟大量小型设备同时运行,确保它们可在大规模使用的时候正常运行。

和开动一千台服务器,每台同时运行一千个同样的程序相比,启动一百万个小型设备要远远麻烦得多,不利于开展测试。

谷歌 Android 受到知识产权方面的限制,而一个全新的操作系统则没有这样的问题。 因为这是一个全新的设计,在知识产权方面它没有任何麻烦。 这可能是一个合理的假设,因为 Linux 确实存在一些难缠的知识产权问题。
别忘了,这可能纯粹是个学术研究。Fuchsia 开发人员表示,最终他们会发布这个操作系统,但可能还有很长的路要走,且目前也不清楚谷歌是否会支持这个项目。Android 生态系统已经是十分庞大(且正在开始和 Chrome book 合并)。且谷歌还在开发一个嵌入式的轻量级物联网操作系统 Brillo,它是一个 Android 简化版本 —— Brillo 正在形成一个成熟平台,而不仅仅是一个基础性的操作系统。

话又说回来,Unix 最开始也是一个志愿性项目,并没有贝尔实验室的正式立项,而 “林纳斯•托瓦兹” 最初开发 Linux 的时候也只是把它当作业余爱好。

http://forum.digitser.cn/data/attachment/forum/201605/19/132155fevczeyds5e5y1wy.jpg
请关注 "德云社区" 及其微信公众号,了解相关资讯

版权声明:
本文由 德云社区 整理翻译,未经许可不得转载。

页: [1]
查看完整版本: 2016年8月谷歌从底层构建开源 Fuchsia 物联网嵌入式操作系统