- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中,我就道明了 Google 做 Fuchsia 操作系统的野心是非常大的。Google 通过完全
模块化的设计,希望让 Fuchsia 成为第一个 AI 原生(内建深度学习、语音语义、
人脸识别、图像分类等人工智能算法),云原生(与各种云服务无缝集成),适用于
手机、平板、笔记本电脑,以及路由器、智能音箱、机器人,甚至是 Google 的无人
驾驶汽车的超级操作系统。
功能特性上:具备 AI 原生能力,内建了边缘和云端无缝化的人工智能能力;
生态上:具备云原生能力,与 Google 以及第三方提供的各种云服务无缝集成;
应用场景上:适用于个人移动设备、IoT 设备甚至是无人驾驶汽车等不同运算能力
和需求的场景。
而实现上述野心的手段是,将整个操作系统完全模块化,变得可伸缩,可定制。
我们再回看华为在发布会上的 PPT:
GB 级内存的:桌面 PC、笔记本电脑、手机
这个覆盖的跨度与 Fuchsia OS 是非常相似的。在 Fuchsia 的内核 Zircon(之前被
称为 Magenta)刚刚出来的时候,福布斯的报道就包括了这些内容[1]。
华为在发布会上,花了非常大的篇幅介绍这个功能。从PPT 中的内容,大体推断它
包括了 2 个部分:
底层的“极简协议”。华为本身就是搞通讯出身的,搞个新的协议自然不在话下。
而这个协议是直接构建在网络层之上的 3 层协议。虽然 ppt 上这个协议直接代替了
原本协议栈中的 4 层。然而,实际上,大量现代的应用层协议(如 HTTP 协议)都
是直接基于 4 层的 TCP 协议的,并不存在表示层和会话层协议。这个所谓的极简协
议其实也就是替代了 TCP/IP 或者 UDP/IP 这 2 层协议而已。设计上应当是尽量压缩
了协议包头的尺寸,并设计成了无状态非连接的形式。其根本目的在于降低通信的
延迟,提高带宽的利用率。面向的场景应该是包长非常小,但对实时性要求高的场
合。
上层的应用框架。顾名思义,就是提供了一套 SDK 给到开发者,方便使用上述的极
简协议实现局域网内的自发现、消息的单播、多播、广播。
上文中,我特地强调了“局域网”是有原因的。因为现在大家使用的路由器的路由
功能是基于 3 层的(IP 层)。所以如果华为做的这个协议是一个非 IP 兼容的协议的
话,那么它就无法被你的路由器正确路由,自然也就无法扩展到广域网了。
所以,我猜测华为设计这个的目的,主要还是在于类似 iOS Handoff 或者 AirDrop
的功能。但提供了更好的实时性、可靠性和带宽。
至于这一点,在 Fuchsia 中,恰恰选择了一条完全不同的路径。在 Fuchsia 中,全
面拥抱了开放和标准的协议,拥抱了一些网络方面的新技术。比如在做 Fuchsia 开
发的时候,利用了 IPv6 的自组网特性,mDNS 的自发现特性和 HTTP/2.0 作为通讯协
议,实现远程对客户机的操控和管理。(题外话,在这一点上,Apple 做了非常好的
表率,在每一个 OS 大版本发布的时候,都会非常有意识、有节奏的将最新的技术
整合进来,并且发挥出最大的功用)
调度引擎
再接下来,华为又花了很大的笔墨来讲内核的调度引擎。
关键内容是在吐槽 Android 中用的 Linux 内核采用的完全公平调度器[2](CFS)。
坦白的说,我非常认同华为的吐槽,因为这个调度器是更加偏向于系统吞吐量,而
非实时响应能力。所以,当系统负载较高,或是面临突发负载时,非常容易导致 UI
卡顿。
而鸿蒙的内核很可能是一个实时内核,可以针对某些任务设定调度的 deadline,保
证在 deadline 前一定得到调度。这个做法通常应用在嵌入式领域比较多(比如 ECU
在控制你的发动机的时候,某些点火计算的任务是一定要在点火时间到来之前完成
的)。
IPC 性能
由于鸿蒙和 Fuchsia 都是微内核的操作系统,所以 IPC(Inter-process Call)性
能是内核最最关键的指标之一。它直接决定了整个操作系统的性能水平,甚至可以
直接将一个微内核操作系统排除在实用性之外。在华为的 PPT 中,华为声称鸿蒙内
核的 IPC 性能是 Fuchsia 的 5 倍。这是相当夸张的一个性能优势。至于华为是如何
做到的,我是非常非常好奇的,期待华为开源鸿蒙 OS(星星眼)。
架构图
最后,说一下华为放出来的架构图。其实除了内核层之外的部分我一点都不关心。
我们重点关注内核层,会有很惊喜的发现:
架构图中,内核层一共有 3 个内核,分别是 Linux 内核、鸿蒙微内核、LiteOS 内
核。我们知道,如果没有虚拟化技术,这3 个内核是无法共存的,那么华为到底是
怎么做到的呢?秘密藏在 SoC 的 Block Diagram 中:
让我们一起看一下官宣
文档评论(0)