一亿行代码,只有8%可用?鸿蒙系统到底是何方神圣?哥哥带你认识微内核

华为鸿蒙发布了 !!!

开源地址如下:https://github.com/Awesome-HarmonyOS/HarmonyOS

“微内核”是鸿蒙OS的特点之一。即微内核采用同一套操作平台,针对不同硬件能力的产品进行部署,并采用分布式架构,提升效率。对此余承东指出,Android有超过1亿行代码,内核就超过2000万行,但一般用户用到的代码不到8%,整体比较冗余,在IoT时代这既没必要也不需要。

鸿蒙OS演进路标:明年推2.0版本

2017年 鸿蒙内核1.0,完成技术验证

2018年 鸿蒙内核2.0,用于终端TEE

2019年 鸿蒙OS 1.0 基于开源框架关键模块自研,分布式架构,方舟编译器,确定时延引擎,TEE微内核形式化验证,多终端开发IDE(Beta),用于智慧屏

2020年 鸿蒙OS 2.0 内核及应用框架自研,通用微内核架构,高性能图形栈,支持多语言统一编译,多终端开发IDE,满足车规级标准,用于创新国产PC、手表/手环、车机

2021年 鸿蒙OS 3.0 软硬协同优化,垂直加速文件系统,软硬件协同高性能IPC,用于音箱、耳机

2022年以后 鸿蒙将应用于VR眼镜及更多设备。

鸿蒙系统是基于微内核的全场景分布式OS,可按需扩展,实现更广泛的系统安全,主要用于物联网,特点是低时延,甚至可到毫秒级乃至亚毫秒级。 

鸿蒙OS实现模块化耦合,对应不同设备可弹性部署,鸿蒙OS有三层架构,第一层是内核,第二层是基础服务,第三层是程序框架 。可用于大屏、PC、汽车等各种不同的设备上。还可以随时用在手机上,但暂时华为手机端依然优先使用安卓。

技术特点:

1、分布式架构首次用于终端OS,实现跨终端无缝协同体验。鸿蒙OS的“分布式OS架构”和“分布式软总线技术”通过公共通信平台,分布式数据管理,分布式能力调度和虚拟外设四大能力,将相应分布式应用的底层技术实现难度对应用开发者屏蔽,使开发者能够聚焦自身业务逻辑,像开发同一终端一样开发跨终端分布式应用,也使最终消费者享受到强大的跨终端业务协同能力为各使用场景带来的无缝体验。

2、 确定时延引擎和高性能IPC技术实现系统天生流畅。鸿蒙 OS通过使用确定时延引擎和高性能IPC两大技术解决现有系统性能不足的问题。确定时延引擎可在任务执行前分配系统中任务执行优先级及时限进行调度处理,优先级高的任务资源将优先保障调度,应用响应时延降低25.7%。鸿蒙微内核结构小巧的特性使IPC(进程间通信)性能大大提高,进程通信效率较现有系统提升5倍。

3、基于微内核架构重塑终端设备可信安全。鸿蒙OS采用全新的微内核设计,拥有更强的安全特性和低时延等特点。微内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。微内核只提供最基础的服务,比如多进程调度和多进程通信等。鸿蒙OS将微内核技术应用于可信执行环境(TEE),通过形式化方法,重塑可信安全。形式化方法是利用数学方法,从源头验证系统正确,无漏洞的有效手段。传统验证方法如功能验证,模拟攻击等只能在选择的有限场景进行验证,而形式化方法可通过数据模型验证所有软件运行路径。 鸿蒙OS首次将形式化方法用于终端TEE,显著提升安全等级。同时由于鸿蒙OS微内核的代码量只有Linux宏内核的千分之一,其受攻击几率也大幅降低。

4、通过统一IDE支撑一次开发,多端部署,实现跨终端生态共享。鸿蒙OS凭借多终端开发IDE,多语言统一编译,分布式架构Kit提供屏幕布局控件以及交互的自动适配,支持控件拖拽,面向预览的可视化编程,从而使开发者可以基于同一工程高效构建多端自动运行App,实现真正的一次开发,多端部署,在跨设备之间实现共享生态。华为方舟编译器是首个取代Android虚拟机模式的静态编译器,可供开发者在开发环境中一次性将高级语言编译为机器码。此外,方舟编译器未来将支持多语言统一编译,可大幅提高开发效率。

安卓是宏内核,而最近热议的华为鸿蒙以及Google Flutter操作系统是微内核。那么有人要问了,什么是微内核?微内核是如何发展?其优缺点是什么呢?哥哥带你们一起来看看……

图解宏内核(左)和微内核(右)两种结构的简单架构图?

什么是微内核?

简单来说,微内核结构由一个非常简单的硬件抽象层和一组比较关键的原语或系统调用组成;这些原语,仅仅包括了建立一个系统必需的几个部分;如线程管理,地址空间和进程间通信等。

微核的目标是将系统服务的实现和系统的基本操作规则分离开来。例如,进程的输入/输出锁定服务可以由运行在微核之外的一个服务组件来提供。这些非常模块化的用户态服务器用于完成操作系统中比较高级的操作,这样的设计使内核中最内核的部分的设计更简单。一个服务组件的失效并不会导致整个系统的崩溃,内核需要做的,仅仅是重新启动这个组件,而不必影响其它的部分。

内核将许多OS服务放入分离的进程,如文件系统,设备驱动程序,而进程通过消息传递调用OS服务.微内核结构必然是多线程的,第一代微内核,在内核提供了较多的服务,因此被称为'胖微内核',它的典型代表是MACH,它既是GNU HURD也是APPLE SERVER OS 的内核,可以说,蒸蒸日上.第二代微内核只提供最基本的OS服务,典型的OS是QNX,QNX在理论界很有名,被认为是一种先进的OS。

采用微内核设计的操作系统?

BeOS

AIX

L4微内核系列

Mach,用于GNU Hurd和Mac OS X

Minix

MorphOS

QNX

RadiOS

VSTa

RT-Thread

Fuchsia

谷歌新系统Fuchsia?

Fuchsia是Google开发的一款全新操作系统,试图覆盖手机、平板甚至笔记本等一系列领域。Google为该系统配备了Vulkan图形接口、3D桌面渲染Scenic、Flutter应用开发框架,还有一个称为zircon的微内核。zircon内核是从高通平台的一个Bootloader项目:Little Kernel发展而来。zircon内核属于微内核设计,只提供IPC,进程管理,地址空间管理功能。zircon区别于以进程或者以文件为核心的设计,zircon是以内存为核心来设计的,内存在zircon中是以对象的方式存在,可以通过channel通信机制传递虚拟内存对象(Virtual memory object)的句柄,进程拿到句柄后可以把这块内存映射到自己的空间

优点

1-系统服务模块化,可移植性高;

2-内核安全性提高(模块内部的bug不影响内核稳定,将黑客利用软件漏洞造成的破坏限制在单个模块内部);

3-可以多套系统服务共存,相当于同时运行多种操作系统;

4-稳定统一的接口(可以独立维护私有驱动以及服务,不需要跟内核源码绑定);

5-在商业上,微内核可以避免代码受到一些开源协议的影响,比如GPL协议;

6-内核精简,可以进行形式化验证,利用数学证明内核的安全性;

7-数学可证明的实时性;

8-非常适合多处理器系统设计,在多处理器核心计算机上,互相依赖的系统服务可以同时运行;

缺点

1-通过进程通信的方式交换数据或者调用系统服务,而不是使用系统调用,造成额外的操作系统开销;

2-使用一些频繁使用的系统服务时,比如网络收发数据,造成的进程上下文切换对操作系统来说也是一个负担;

3-由于系统服务高度模块化,系统服务之间存在大量的内存复制;

4-对互相之间存在复杂调用关系的系统服务,难以设计通信接口;

5-系统服务与内核在地址空间上分离,造成代码局部性差,降低了cache命中率;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容

  • 或许,漫长的一生之中,每个我们都会遇到两个人。一个让你念念不忘,情愿疯狂;一个让你放下牵挂,学会坚强。 我爱上唐小...
    卡蕾妹妹阅读 928评论 1 9
  • 今天睡了很久,又是9点才起床。 之后的时间都在背单词。 然后看了一下日语的视频,但是电脑看b站总是卡,心累。 今天...
    洞之树阅读 231评论 0 0
  • 今天想和大家聊一聊孕妇情绪 孕期心情起伏还是比较大,前期孕吐的绝望,孕中的各种担忧,临产的焦虑,以及产后会...
    Sally娟儿阅读 204评论 0 0