河南夢之網網絡科技有限公司
夢之網科技出品
掃描關注夢之網科技微信公眾賬號

掃小程序碼聯系客服

鴻蒙 OS 的微內核技術究竟是什么?-夢之網科技

夢之網科技?2019-10-04?文章動態?

出品 | CSDN(ID:CSDNnews)

當鴻蒙OS宣布開源的時候,各種空洞的炒作,幾乎把國產操作系統的技術本質掩蓋了,雖然筆者沒親眼見過鴻蒙的代碼,也沒用方舟成功編譯什么程序,不過當華為官宣鴻蒙將使用微內核的時候其實這款OS的風格就已經確定了,因為這就是內核的價值和意義。

記得十幾年前筆者剛剛畢業,初次進入嵌入式開發的圈子,那時總感覺操作系統距離我很遠,甚至有些高不可攀。

當時看到CSDN論壇上各種有關WINCE、MINIGUI等嵌入式OS的發貼時,那些生硬的代碼真是給我當時還年輕的心靈留下了巨大的陰影,不過這十年來雖然工作和嵌入式漸行漸遠,但是不斷總結經驗回頭來看,感覺操作內核的設計并不是一個純數學或者技術的建模過程,甚至還反應了我們日常生活中的很多道理。

在科技界有一句名言“如果你無法簡潔的表達你的想法,那只說明你還不夠了解它”,所以經過了這些年的沉淀,筆者嘗試使用最通俗的語言來向大家解釋,什么是內核、什么又是微內核,閱讀本文不需要讀者具備什么操作系統的知識。

宏內核vs微內核的基礎邏輯

上世紀90年代,微內核操作Minix的作者Tanenbaum與微內核操作系統Linux的作者Linus,曾經有一段非常著名的論戰,(具體鏈接: https://www.oreilly.com/openbook/opensources/book/appa.html),這里筆者無意全文翻譯,只是想說即便是Linus這樣的大神級人物也難免會陷入誰優誰劣的口水仗之中,而普通人士可能更難免俗,所以我們先擱置優劣的爭議,先直觀來感受宏內核與微內核的架構圖是什么樣子的。

鴻蒙 OS 的微內核技術究竟是什么?-夢之網科技

宏內核架構圖

鴻蒙 OS 的微內核技術究竟是什么?-夢之網科技

微內核架構圖

簡單的講宏內核就是操作系統是個大管家,幾乎包辦一切,用戶應用程序的需求直接向內核提出就行;微內核更像一個代理人,幾乎所有的驅動、文件系統全部運行在與用戶應用程序平級的用戶模式下。

內核類型的簡單類比

為了讓讀者理解起來更方便,接下來讓我們做一個比較簡單的類比,如果把操作系統看成一家公司,而宏內核的特點是用戶請求直達內核,內核統一安排執行,這代表此公司使用扁平化的管理架構,而微內核的操作系統中則需要設立很多如驅動,文件系統等部門,這顯示公司使用制度化、等級化的管理架構。

簡而之宏內核代表的是層次簡單的扁平化管理風格,微內核則代表多部門的制度化管理風格。

基礎概念釋義

上下文上下文切換:這個名詞經常出現在各類操作系統的書籍當中,還是以公司為例,上下文就代表了處理一個項目所需要的相關材料、文件,而上下文切換則代表這些材料文件在不同部門(進程)或者領導(CPU)之間的流轉。

狀態保持(快照)及恢復:假設這樣一種場景,我正在領導的辦公室中匯報工作,此時外面另一個人有更重要的事情向領導匯報,由于涉及權限問題需要我先退出他的辦公室,那么我在退出前需要做一次狀態快照,以便領導處理完緊急事務后可以繼續處理我的工作。這就是計算機中狀態保持與恢復的過程。

基本推論

運行效率宏內核更優:相信大家都有過跑部門跑公章的經歷,很多時間、精力都浪費在了部門(進程)之間的上下文切換(上文已經釋義)中了,微內核在效率方面肯定是處于劣勢的,所以目前的主流操作系統如Linux和Windows本質上使用的都是宏內核,當然有讀者可能會提出Windows使用的是混合內核,不過這種混合內核也是以效率優先的扁平化架構,本質上還是宏內核。

宏內核vs微內核,誰更安全?

有關安全性的比較,其實僅憑直覺就能得到正確結論。正如各位日常所見,正規軍隊采用的都是“下級服從上級、命令絕對執行”的管理方式,而只有游擊隊才搞扁平化管理的。

其中邏輯也不難理解,扁平化雖然能有比較高的效率,但是難免會在身份鑒別、數據傳遞的過程中出現紕漏,從而給入侵者可乘之機。

而目前已有部分宏內核如sel4(Github地址:https://github.com/seL4/seL4)已經被形式化證明無誤(論文地址:),

對于sel4的形式化證明筆者在這里多聊幾句,從本質上來說sel4的內核代碼只有1萬行左右,而linux的內核代碼已經突破了2000萬行,所以微內核的sel4由于其代碼數量較小,所以研究人員干脆將其內核抽象成一個有限狀態機,進而證明在狀態遷移與躍遷的過程中都不會發生會被惡意利用的漏洞,從而保證整個體系的安全。當然這個安全也有前提:

一、不能有內鬼:即生成內核的編譯器、鏈接器與操作運行的硬件環境如DMA等設備不能被提前惡意植入后門。

二、不能有密碼泄露:形式化驗證只能保證制度體系本身不出問題,如果用戶將自身密碼泄露那系統是無法防范的。

文章關鍵詞
扁平化
總經理
鴻蒙
微內核
急速赛车国语 甘肃十一选五开奖列表 什么软件可以透视棋牌 河南十一选五开奖结果走势图表 男人就是赚钱的 像花钱的活 福建十一选五玩法 m5彩票平台运作多久了 杭州股票融资 甘肃十一选五基本走势图 凤凰彩票平台找代理 天茂集团股票 三棱镜复式 56打工网是怎么赚钱的 写笔记赚钱 今天宁夏11选5结果 3d组选558 重庆幸运农场官方网站