鸿蒙操作系统详解

鸿蒙的介绍

     鸿蒙是一个面向场景的智能操作系统。很多人刚开始把它与Linux相比,这是不对的,首先Linux只是一个内核,在Linux之上我们开发者还需要做很多的操作,比如驱动开发和应用开发才能让用户能够正常的操作。鸿蒙的LiteOS才是用来对标Linux的,值得注意的是LiteOS和Linux是一样的,都是宏内核而不是之前宣传的微内核,鸿蒙的微内核可能要到过段时间才会发布。那么鸿蒙对标的产品是什么呢?是安卓和Windows。这也让安卓特别的难受,因为与它正在开发的Funchsia系统在地位上有较大的吻合,都是面向IOT设备的操作系统。我们可以看看这张图,在鸿蒙的整个框架中内核只是占比较小的一部分,而内核这部分里还分了两个内核子系统:Linux和LiteOS。所以内核位于鸿蒙就像心脏位于人体,非常重要但占比很小。如果把内核类比成系统就好像把心脏类比成人一样,不合适。

 

 

  • 系统基本能力子系统集:为分布式应用在 HarmonyOS 多设备上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形、安全、AI 等子系统组成。其中,方舟运行时提供了 C / C++ / JS 多语言运行时和基础的系统类库,也为使用方舟编译器静态化的 Java 程序(即应用程序或框架层中使用 Java 语言开发的部分)提供运行时。

  • 基础软件服务子系统集:为 HarmonyOS 提供公共的、通用的软件服务,由事件通知、电话、多媒体、DFX、MSDP & DV 等子系统组成。

  • 增强软件服务子系统集:为 HarmonyOS 提供针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT 专有业务等子系统组成。

  • 硬件服务子系统集:为 HarmonyOS 提供硬件服务,由位置服务、生物特征识别、穿戴专有硬件服务、IoT 专有硬件服务等子系统组成。

 

      刚刚讲了一个宏内核和微内核的概念,那什么是宏内核什么是微内核呢?

        这一张图就是用来区分宏内核和微内核的,中间有一条横线,横线上面是运行在应用的,叫应用(用户)态,应用态是受操作系统限制的,只能在指定的内存空间中运行。横线下面是运行在内核里面的,也叫内核态。最左边的是宏内核,中间是微内核,最右边的是混合内核。那么宏内核和微内核有什么区别,其实就是划分的问题,简单的说,宏内核把大大小小的事情都划分到内核里面去处理,比如VFS虚拟文件系统,系统调用,文件系统等等统统塞进内核,只有应用程序才运行在用户态。而微内核则是相反,除了核心的内核,统统扔到用户态里面去执行,这两个是完全的极端,这也带来明显不一样的效果。首先比较明显的不同就是微内核比较容易扩展,且内核驱动之间互不干扰,不会出现像宏内核那样,一个崩都得死的现象。微内核里面比较有名的就是我们的国货之光RT-Thread。那么比如说Mac OS X使用的就是比较中庸的混合内核,让驱动程序员来决定这些东西到底放在用户态还是内核态。这样在保护内核同时给开发带来比较大的灵活性。有些功能它需要用极致的处理速度,并且程序上稳定不会太大改变,那么就可以把这块的驱动程序沉到内核态,有些东西它不需要很快的执行速度,且因为业务问题需要经常的变动,那么可以扔到用户态。

那既然Linux是宏内核,LiteOS搞了半天还是宏内核,为啥鸿蒙还要搞一个LiteOS呢?

Linux的强大在于它支持的硬件非常多,但是它过于庞大,启动慢、耗电,这些缺点导致它不适合用在资源比较受限的物联网硬件设备领域。

Liteos-a为物联网而生,与其他RTOS(实时操作系统)不同,LiteOS支持MMU,支持内核/APP空间隔离、支持各个APP空间隔离,系统更健壮;启动快,省电。等下我们可以稍微体验一下他开机能有多快,快到我都觉得他是关机其实只是待机。

除了Liteos-a,还有一个Liteos-m,后者运行在没有MMU的芯片上,也就是运行在MCU上,就是传统的单片机。

 

讲回鸿蒙系统,鸿蒙有啥不一样的呢?官方的回答是:作为面向未来的全场景分布式OS:它具有多端统一OS、硬件虚拟化互助(也就是分布式)以及一次开发多端部署的优点。

      什么叫多端统一OS ?鸿蒙在开发者大会上提出1+8+N的一个硬件生态理念,就是围绕着以手机为中心,开展8个领域的华为自研产品,包括 PC、平板、车机、运动健康、穿戴、AR/VR、智慧大屏、智能音响。同时打造大量的IoT设备,也就是里面的N,比如:耳机,打印机,电子秤等等。而这些设备都将使用鸿蒙OS来开发。全部使用鸿蒙OS就能为第二步:硬件虚拟化互助带来可能性。

      什么叫硬件虚拟化互助,即分布式任务调度?我们先想象这么一个场景:假设我们开车使用车上的车载导航到达目的地附近,接着要使用手机导航到目的地需要几个步骤:首先打开手机里的导航软件->输入目的地->选择步行导航->开始导航。现在我们觉得这些操作合情合理,但是如果手机和车载都搭载了鸿蒙系统,这个步骤将会缩短成一步:拿出手机就可以继续导航,真正实现无缝衔接,而这一过程里车载上的导航将会移到手机上,并显示。这就是为应用提供多设备协同的能力。

    那这个分布式架构有什么优势?以及它是如何实现硬件虚拟化互助的这个功能呢?

    分布式架构在设计之初就考虑了多设备移植和部署的这个需求,这也就刚刚说的第三点好处(一次开发多端部署),它是分布式架构设计带来的一个结果之一,只要一次开发就可以在上面所说的1+8+N上跑自己的应用程序。那么在鸿蒙底层也为这种协同工作带来一些组件上的支持。像我们现在的分立式设备,两个不同的设备是如何建立连接的?需要用到蓝牙或者wifi,以及一些相关的协议。那么这是建立在双方有蓝牙或者wifi的前提下,以及协议必须相同的前提下,如果其中一方不支持,那么它们就不可能建立起连接,所以在开发过程中,你既要跟APP厂家近进行协同,又要跟另外一个硬件厂家进行协同,这样的成本其实是非常的高昂的。所以鸿蒙的出现首先要降低这种协同上的成本。我觉得也是大家以后会使用鸿蒙比较重要的原因之一。

     那么鸿蒙是如何做到分布式智能互联的呢?这里有一张图,这张图模拟了两个设备之间的互联情况,我们假设设备1是一个手机,设备2是一个手表。那么这两个设备是如何连接的呢?鸿蒙提供两种解决方案,一种就是传统的物理层连接,也就是通过蓝牙-蓝牙、wifi-wifi等方式进行连接。一种就是软总线连接,

       什么叫软总线?传统的连接方式要求双方必须要有相同的传输设备,比如都有蓝牙设备。但是软总线可以做到使用设备1由蓝牙设备发送数据,设备2使用wifi接收,在开发过程中不再需要关心网络协议差异。鸿蒙

       所以我们可以使用软总线在两个设备之间快速的通信。在软总线之上是鸿蒙提供的一个分布式执行框架,这一套框架可以允许我们通过软总线与多个设备进行连接。同时分布式执行框架也是用来区分数据要发给哪个设备,假如说,我一台手机连接好几个智能手表,那么怎么知道我手机上的一张照片是发给哪个智能手表的?就可以在分布式执行框架进行判断。在往上走是用户程序框架,这个框架是鸿蒙给APP开发着提供的统一的调用接口,这样APP开发者就不需要去考虑这个分布式互联是如何实现的。在开发中,你要运行到设备1和设备2的应用是一起开发的,也就是说你一次就可以开发完两个设备上的应用。

  • 12
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Windows操作系统是由微软公司开发的一种广泛使用的操作系统。它被广泛应用于个人计算机、笔记本电脑和服务器等设备中。 Windows操作系统具有强大的图形化用户界面,用户可以通过可视化的操作来执行各种任务。它包括桌面、任务栏、开始菜单等组件,用户可以方便地访问其所需的程序和文件。 Windows操作系统支持多任务处理,用户可以同时运行多个应用程序,并且可以在不影响其他程序的情况下切换任务。它还支持多用户登录,允许多个用户同时使用同一台计算机。 此外,Windows操作系统还具有丰富的硬件和软件兼容性。它可以与各种不同的硬件设备和软件应用程序进行良好的兼容,以满足用户的各种需求。 Windows操作系统还提供了大量的内置工具和功能,如文件管理器、网络连接、安全设置等。用户可以使用这些工具来管理和操作他们的计算机系统,提高工作效率。 同时,Windows操作系统还提供了强大的安全性能。它具有防火墙、反病毒程序和安全更新等功能,可以有效地保护用户的计算机免受恶意软件和网络攻击的威胁。 综上所述,Windows操作系统是一种功能强大、易于使用和广泛应用的操作系统。它具有图形用户界面、多任务处理、硬件和软件兼容性、丰富的内置工具和强大的安全性能等特点。通过深入了解Windows操作系统,用户可以更好地利用其功能和特点,提高工作和生活效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林零七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值