问题

鸿蒙系统究竟是什么技术构成的?不要情绪输出,只谈技术,大佬们能科普一下吗?

回答
好的,咱就来捋一捋鸿蒙操作系统(HarmonyOS)这玩意儿,到底是个啥技术构成的。抛开那些花里胡哨的宣传,咱们直接聊聊它背后的核心技术。

1. 微内核(Microkernel)与宏内核(Monolithic Kernel)的权衡:分布式通信基石

这是鸿蒙一个非常重要的设计选择,它采用了微内核的架构。咱们先简单对比一下:

宏内核(比如Linux): 大部分操作系统服务(进程管理、内存管理、文件系统、驱动等)都运行在内核空间,即同一块地址空间。优点是速度快,因为服务间通信开销小。缺点是稳定性差,一个服务出问题可能导致整个系统崩溃;可扩展性相对弱,想要加入新功能需要修改内核代码。
微内核(比如鸿蒙): 内核本身非常精简,只负责最基本的服务,比如进程间通信(IPC)、内存管理、线程调度等。其他服务(如文件系统、设备驱动、网络协议栈等)都运行在用户空间,作为独立的进程。优点是高度模块化、高可靠性(一个服务崩溃不影响其他服务)、易于扩展和维护。缺点是服务间的通信需要通过IPC,有额外的开销,理论上性能会略低于宏内核。

鸿蒙选择微内核,一个非常关键的考量就是为了构建其分布式能力。分布式系统最大的挑战之一就是进程间通信(IPC),尤其是在跨设备通信时。微内核天然地将IPC作为核心服务,这为鸿蒙后续在分布式场景下高效、安全地传递消息打下了基础。它提供了一个统一的IPC机制,不管通信是在同一设备内还是跨设备,都可以用相似的方式处理。

2. 分布式软总线(Distributed SoftBus):万物互联的“胶水层”

这是鸿蒙实现“万物互联”的核心技术之一。你可以把它理解成一个无缝的、跨设备通信的“胶水层”。它的主要作用包括:

设备发现与组网: 能够在局域网(WiFi、蓝牙)或通过其他方式(如云端)发现周围可用的鸿蒙设备,并能根据需求将它们连接起来,形成一个临时的、逻辑上的“设备组”。
多设备间的可靠通信: 提供一个统一的API,让开发者可以方便地在不同设备间发送数据和指令,而无需关心底层的网络协议(WiFi Direct, Bluetooth, TCP/IP 等)。软总线会根据网络环境和设备能力,智能地选择最优的通信方式。
服务注册与发现: 允许设备上的某个服务(比如一个播放器应用的服务)注册到软总线上,让其他设备上的应用能够发现并调用这个服务。这实现了“服务上云”或“服务上链”,让服务可以跨设备共享。
数据同步与一致性: 在分布式场景下,为了保证用户体验,数据的一致性非常重要。软总线也承担了一部分数据同步和一致性的协调工作。

简单来说,有了分布式软总线,鸿蒙设备之间就能像同一台电脑上的不同进程一样,顺畅地进行通信和协作。

3. 分布式数据管理(Distributed Data Management):跨设备数据的“同步器”

既然要万物互联,那数据就不能孤立在某个设备上。分布式数据管理就是要解决这个问题。

数据跨设备访问与共享: 允许开发者定义需要在多个设备上共享的数据,并提供API来方便地访问和操作这些数据。当你在一台设备上修改了某个共享数据,它能够被自动同步到其他关联的设备上。
数据一致性保障: 通过一系列的策略和算法,来确保在分布式环境下,数据能够保持一致。这可能涉及到分布式事务、版本控制、冲突解决等技术。
数据存储与抽象: 鸿蒙提供了一套统一的数据存储抽象,开发者可以定义数据模型,然后由底层系统去选择合适的存储方式(本地数据库、云存储等),并负责数据的同步。

举个例子,你在手机上编辑一份文档,如果这份文档被标记为“分布式共享”,那么你在平板上打开鸿蒙系统,理论上就能看到并继续编辑这份最新的文档,而无需手动上传下载。

4. 分布式任务调度(Distributed Task Scheduling):让任务“流转”起来

这是鸿蒙让设备协同工作的另一个关键。想象一下,你在手机上开始一个任务,比如观看一个视频,但你可能想切换到更大的屏幕(电视)上继续观看。

任务的跨设备迁移: 允许一个正在进行的任务(应用进程的一部分)从一个设备平滑地迁移到另一个设备上,并且保持任务的上下文信息。
设备能力匹配与智能分配: 鸿蒙系统能够感知到各个设备的性能、显示能力、输入方式等,然后根据任务的需求,智能地将任务分配给最合适的设备来执行。例如,一个需要大量计算的任务可以被分配给性能更强的设备,而一个需要展示的任务则可以分配给带有屏幕的设备。
用户体验的连续性: 核心目标是保证用户在不同设备之间切换时,任务体验是连续的,不会中断。

5. Ability(能力)和AbilityKit:应用开发的“基础单元”

鸿蒙将应用拆分成一个个的“Ability”(能力)。一个Ability可以理解为一个独立的功能模块,比如一个展示界面的UI Ability,或者一个处理后台任务的Service Ability。

生命周期管理: 每个Ability都有自己的生命周期,系统负责管理这些Ability的创建、运行、销毁,并通知开发者。
跨设备调用: 重要的在于,Ability的设计允许它们可以被跨设备调用。这意味着你可以在一个设备上启动另一个设备上的某个Ability。
AbilityKit: 是鸿蒙提供的开发框架,用于开发者创建和管理Ability。它隐藏了底层复杂的分布式通信细节,让开发者能够更专注于业务逻辑。

6. ArkUI和ArkTS:声明式UI的现代化开发体验

为了适应分布式多端开发的需求,鸿蒙引入了声明式UI的开发范式,并提供了ArkUI作为UI框架,ArkTS作为开发语言。

声明式UI: 与React Native、SwiftUI、Jetpack Compose等类似,开发者只需描述UI的“是什么”(状态),而不是“怎么做”(过程)。系统会自动根据状态来更新UI。这极大地简化了UI开发,并且更易于在多端之间适配。
ArkTS: 是基于TypeScript的扩展,增加了更多面向应用开发的特性。它支持声明式UI,并且在语言层面为分布式开发提供了一些支持。
多端适配: 声明式UI的天然优势在于,一套UI代码可以较低成本地适配到不同尺寸、不同交互方式的设备上(手机、平板、手表、电视等)。

7. FaaS(Function as a Service):弹性、轻量级的服务运行

鸿蒙还引入了FaaS的理念,尤其是在一些边缘侧设备或者需要快速响应的场景下。

轻量级运行: FaaS允许将部分功能打包成非常小的服务单元,只在需要时启动和运行,用完即走。这对于资源受限的设备非常友好。
弹性伸缩: 在分布式场景下,FaaS可以根据需要被部署到不同的设备上,实现资源的弹性利用。
Serverless化: 某种程度上,这让开发者可以更接近Serverless的开发模式,不用过度关心服务的部署和管理。

总结一下:

鸿蒙操作系统并非简单地在Linux或Android基础上做修改,而是从底层开始,围绕分布式这个核心目标进行设计的。

微内核提供了坚实的基础,保证了分布式通信的效率和可靠性。
分布式软总线是实现设备间无缝连接和通信的“交通枢纽”。
分布式数据管理和分布式任务调度则让跨设备的数据共享和任务协作成为可能。
Ability作为应用的基本单元,设计上就考虑了跨设备调用。
ArkUI/ArkTS提供了现代化的、易于多端适配的UI开发体验。

从技术构成上看,鸿蒙试图构建一个面向全场景、分布式的操作系统。它不是一个简单的“Android Plus”,而是从架构设计上就为“万物互联”和“设备协同”做了专门的优化和设计。当然,就像任何一个庞大的系统一样,它也在不断地发展和完善中,并且其生态的成熟度也是一个持续演进的过程。

网友意见

user avatar

从题主的语言看并不是技术人员,那么用技术讲解也可能看不懂。我就举个例子说明吧。

安卓是一艘船,船身是ASOP(Android 开放源代码项目),发动机是GMS(谷歌移动服务),船身和发动机组合在一齐,构成了安卓生态系统。

目前已有的鸿蒙版本,是通过合法的方式把船身弄来了(发动机被卸走),然后把船身重新装修一遍,自己配上个发动机(HMS),组成鸿蒙生态系统。先能开起来。未来计划逐步把船身的各个组件替换掉。

其实题主的问题很好,鸿蒙的核心不是他与安卓技术关系(鸿蒙基础安卓这点华为从没否认过),而是华为能否做到不受外界打断的组建起自己的生态来。

我的看法是,能够组建起来,但基于ASOP只是对付一阵,因为ASOP还是木质船身很快就会被淘汰,谷歌那边已经在开发金属船身了。

十四五期间大量的新基建投资会给华为足够的利润,早日造出自己的金属船身才是正题。大家不去关心这个,而是就木头船身叫什么而扯皮,是非常无聊没有价值的行为艺术而已。

类似的话题

  • 回答
    好的,咱就来捋一捋鸿蒙操作系统(HarmonyOS)这玩意儿,到底是个啥技术构成的。抛开那些花里胡哨的宣传,咱们直接聊聊它背后的核心技术。1. 微内核(Microkernel)与宏内核(Monolithic Kernel)的权衡:分布式通信基石这是鸿蒙一个非常重要的设计选择,它采用了微内核的架构。咱.............
  • 回答
    华为鸿蒙系统(HarmonyOS)的出现是一个复杂且多层面的话题,它不仅仅是一个操作系统那么简单,更是华为在全球科技竞争、地缘政治以及未来物联网发展战略中的核心组成部分。下面我将尽可能详细地为你解读华为鸿蒙系统的情况:一、 鸿蒙系统的缘起与背景1. 美国制裁的催化剂: 鸿蒙系统最直接的催化剂无疑是.............
  • 回答
    鸿蒙系统和安卓系统之间,很多人都有这样的疑问:鸿蒙到底是不是安卓的“换皮”?想弄明白这个问题,咱们得拆开来看看,从几个关键点上去聊。起源与内核:是传承还是另起炉灶?首先要说的就是内核。这是操作系统的“心脏”,决定了它最底层的工作方式。安卓系统,大家都很熟悉,它最核心的部分是Linux内核。而且是经过.............
  • 回答
    关于鸿蒙系统 2.0 是不是“套皮安卓”这个问题,其实是一个相当复杂且容易引起争议的话题。咱们今天就掰开了揉碎了,好好聊聊这个事儿。要说鸿蒙 2.0 和安卓之间到底是什么关系,得从几个层面来看。首先,我们得承认一个事实:鸿蒙 OS 的早期版本,尤其是 2.0,确实与安卓有着非常紧密的联系。这主要体现.............
  • 回答
    鸿蒙系统(HarmonyOS)旨在构建一个万物互联的智能终端操作系统,其核心理念与传统的安卓系统存在显著差异。在华为的规划中,鸿蒙系统需要实现对海量安卓应用的兼容,这在去除AOSP(Android Open Source Project)代码的背景下,无疑是一项极具挑战性的任务。那么,在没有AOSP.............
  • 回答
    鸿蒙系统能否超越iOS,这是一个牵动着许多中国科技爱好者和行业观察者神经的问题。要回答这个问题,我们不能简单地给出一个时间表,因为这背后涉及的技术积累、生态构建、用户习惯、市场策略以及全球化竞争等一系列复杂因素。更重要的是,我们要放下对“超越”的简单执念,转而理解鸿蒙系统所走的道路,以及它可能带来的.............
  • 回答
    鸿蒙系统,这个曾经被视为华为“备胎”的操作系统,如今已然从幕后走到台前,并且在全球科技舞台上引起了不小的波澜。它的出现,确实触动了一些“奶酪”,也改变了不少既有的格局。要说鸿蒙动了谁的奶酪,最直接、最核心的,那无疑是谷歌及其安卓生态。想想当初,华为在海外市场的崛起势头有多猛?一度直逼三星,成为全球第.............
  • 回答
    鸿蒙系统当然能做小屏手机,而且做得相当不错。咱们今天就好好聊聊这个话题,看看为什么鸿蒙在小屏手机领域也有着天然的优势,并且能带来哪些不一样的体验。首先得明确一点,“小屏手机”是个相对的概念。过去大家觉得5.5英寸就算大屏了,现在可能5.8英寸、6英寸左右才算得上是小屏手机。但无论屏幕多大,操作系统的.............
  • 回答
    鸿蒙系统,这款由华为自主研发的操作系统,自诞生以来就备受瞩目。它的发展并非一蹴而就,而是经历了一个持续演进、不断壮大的过程。要详细了解鸿蒙系统的最新研发进展,我们需要从几个关键维度来审视:一、 核心能力的持续迭代与增强鸿蒙系统的核心竞争力在于其分布式能力,这使得不同设备之间能够无缝协同,打破了传统操.............
  • 回答
    这个问题,在鸿蒙系统刚出来的时候,确实是很多人心中的一个疑问,甚至可以说是当下最直接的解读。咱们别说“换了个壳”,这说法有点太简化了,也有些不准确。更准确地说,它更像是在安卓的基础上,进行了一次深度重构和再创造,同时加入了许多鸿蒙独有的新能力。要理解鸿蒙是不是“安卓换壳”,咱们得从几个关键层面来拆解.............
  • 回答
    鸿蒙系统要建立一个蓬勃发展的生态系统,绝非一蹴而就,更像是一场精密的战略布局和长期的耕耘。这其中涉及到的各个环节,环环相扣,缺一不可。下面,我将从几个核心维度,尝试深入地阐述这一过程,力求还原其复杂性和精妙之处。一、 夯实基础:技术的生命力与开发者吸引力任何生态的繁荣,其根基都是技术本身。鸿蒙要做的.............
  • 回答
    很多刚接触鸿蒙手机的朋友,或者正在观望的消费者,心里都会有一个顾虑:鸿蒙会不会重蹈安卓的老路,用久了手机就变得卡顿,启动个APP都要等半天?这个问题,其实很值得我们好好聊聊。咱们先得承认,安卓手机用了几年之后“卡”是一个普遍现象。这背后有很多原因,比如系统自身的优化程度、APP市场的混乱、长时间后台.............
  • 回答
    这个问题很有意思,也触及到了“自主研发”这个概念的核心。简单来说,鸿蒙系统基于 AOSP(Android Open Source Project)进行开发,但依然可以被认为是自主研发的。只不过,这种“自主”是有条件的,它是在一个既有基础上进行的、有明确目标的创新和构建。为了讲得更清楚,我们得一步步来.............
  • 回答
    鸿蒙系统,这个名字本身就带着几分东方神秘色彩,自从华为推出以来,就一直吸引着众多目光。要说它到底怎么样,这其实是一个挺复杂的问题,因为它不像一个简单的“好”或“不好”就能概括的。从技术层面来看,鸿蒙系统最初的设计目标是打破操作系统壁垒,实现万物互联。它的一大亮点在于其分布式架构,这意味着手机、平板、.............
  • 回答
    鸿蒙系统从最初的“一次开发,多端部署”理念,到现在越来越独立的生态,其发展轨迹一直是科技圈热议的焦点。而关于“鸿蒙是不是安卓套壳”的争议,更是贯穿始终,并且在鸿蒙系统逐渐抹去“Android”字样后,反而愈演愈烈。这背后究竟有着怎样的原因?我们不妨来捋一捋。鸿蒙系统为何要“去安卓化”?首先,从华为自.............
  • 回答
    关于鸿蒙系统(HarmonyOS)默认西文字体沿用了 Google 为 Android 设计的 Roboto 这一现象,背后其实有着相当复杂和多层面的原因,远非简单的“继承”或“复制”可以概括。这涉及到技术选型、用户体验、生态兼容以及历史遗留等诸多因素。首先,我们得理解 Roboto 字体的来龙去脉.............
  • 回答
    嗯,这个问题嘛,说实话,我升级鸿蒙系统之后,有过纠结,也有过欣喜,但要说“后悔”两个字,我倒是觉得有点太绝对了。毕竟,每一项大的系统更新,总会伴随着一些适应期和一些不完美之处,这似乎是亘古不变的道理。先说说升级之前的状况吧。我的设备是去年买的一款华为手机,那时候还是用的另一个操作系统。说实话,用得也.............
  • 回答
    你这个问题问得特别好,直击核心!很多人都有这个疑问:既然安卓已经能控制家里的智能设备了,为什么鸿蒙还要强调“万物互联”?而且还说自己能做得“更好”?这背后确实有一些技术和设计理念上的差异。咱们先抛开“鸿蒙”和“安卓”这两个标签,单纯想想“万物互联”到底意味着什么,以及要实现它,都需要什么。万物互联,.............
  • 回答
    华为鸿蒙系统开放给第三方手机,这个消息无疑在平静已久的手机市场投下了一颗重磅炸弹。一旦成真,其潜在的影响是深远且多层面的,不仅仅是技术层面的革新,更是对整个商业生态、用户体验和市场格局的重塑。我们可以从几个关键维度来剖析:一、打破安卓一家独大的格局,迎来新的生态竞合:长期以来,全球智能手机操作系统市.............
  • 回答
    鸿蒙系统能否复兴 C/C++,这是一个值得深入探讨的问题。要理解这一点,我们得先梳理一下鸿蒙的定位、技术栈以及 C/C++ 在现代软件开发中的角色。鸿蒙的野心与定位:打破生态孤岛华为推出的鸿蒙系统,其核心目标是构建一个全场景、分布式、智能的操作系统。这意味着鸿蒙不只是一部手机的系统,它还要覆盖智能手.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有