'億行代碼,只有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操作系統是微內核。那麼有人要問了,什麼是微內核?微內核是如何發展?其優缺點是什麼呢?小編帶你們一起來看看……

圖解宏內核(左)和微內核(右)兩種結構的簡單架構圖?

"

華為鴻蒙發佈了 !!!

開源地址如下: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操作系統是微內核。那麼有人要問了,什麼是微內核?微內核是如何發展?其優缺點是什麼呢?小編帶你們一起來看看……

圖解宏內核(左)和微內核(右)兩種結構的簡單架構圖?

億行代碼,只有8%可用?鴻蒙系統到底是何方神聖?帶你認識微內核

什麼是微內核?

簡單來說,微內核結構由一個非常簡單的硬件抽象層和一組比較關鍵的原語或系統調用組成;這些原語,僅僅包括了建立一個系統必需的幾個部分;如線程管理,地址空間和進程間通信等。

微核的目標是將系統服務的實現和系統的基本操作規則分離開來。例如,進程的輸入/輸出鎖定服務可以由運行在微核之外的一個服務組件來提供。這些非常模塊化的用戶態服務器用於完成操作系統中比較高級的操作,這樣的設計使內核中最內核的部分的設計更簡單。一個服務組件的失效並不會導致整個系統的崩潰,內核需要做的,僅僅是重新啟動這個組件,而不必影響其它的部分。

內核將許多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命中率;

關注我的頭條號,分享更多的技術學習文章,如果對於學習編程有很多疑惑,沒有思路,不知道如何有效率的學習,可以添加我的前端交流學習群 600610151 在群裡直接問我,我就是群主,需要最新系統的學習教程也可以管我要。做了很多年開發,對於學習方式,如何提高自己的技術有一定的經驗,術業有專攻,多跟有經驗的人交流學習,對這個行業信息瞭解的多,職業發展的空間就越大。

"

相關推薦

推薦中...