-
1 # 深藍ME
-
2 # 先鋒美學
華為開發者大會上正式宣佈了鴻蒙作業系統,該系統其中一個亮點是 —— 微核心。華為聲稱,微核心的啟用,使其速度大大提升,並且在安全性上產生變革性突破,微核心打破了宏核心下root即可獲取使用者所有許可權的做法,在安全性上大大提升。
我們先來搞清楚什麼是微核心呢微核心結構由一個非常簡單的硬體抽象層和一組比較關鍵的原語或系統呼叫組成;這些原語,僅僅包括了建立一個系統必需的幾個部分;如執行緒管理,地址空間和程序間通訊等。
微核的目標是將系統服務的實現和系統的基本操作規則分離開來。例如,程序的輸入/輸出鎖定服務可以由執行在微核之外的一個服務元件來提供。這些非常模組化的使用者態伺服器用於完成作業系統中比較高階的操作,這樣的設計使核心中最核心的部分的設計更簡單。一個服務元件的失效並不會導致整個系統的崩潰,核心需要做的,僅僅是重新啟動這個元件,而不必影響其它的部分。
微核心將許多OS服務放入分離的程序,如檔案系統,裝置驅動程式,而程序透過訊息傳遞呼叫OS服務。
第一代微核心,在核心提供了較多的服務,因此被稱為"胖微核心",它的典型代表是MACH,它既是GNU HURD也是APPLE SERVER OS 的核心,可以說,蒸蒸日上。
第二代微核心,只提供最基本的OS服務,典型的OS是QNX,QNX在理論界很有名,被認為是一種先進的OS.
但是微核心有利有弊:
微核心的優點系統服務模組化,可移植性高;
核心安全性提高(模組內部的 Bug 不影響核心穩定,將駭客利用軟體漏洞造成的破壞限制在單個模組內部);
可以多套系統服務共存,相當於同時執行多種作業系統;
穩定統一的介面(可以獨立維護私有驅動以及服務,不需要跟核心原始碼繫結);
在商業上,微核心可以避免程式碼受到一些開源協議的影響,比如 GPL 協議;
核心精簡,可以進行形式化驗證,利用數學證明核心的安全性;
數學可證明的實時性;
非常適合多處理器系統設計,在多處理器核心計算機上,互相依賴的系統服務可以同時執行;
微核心的缺點透過程序通訊的方式交換資料或者呼叫系統服務,而不是使用系統呼叫,造成額外的作業系統開銷;
使用一些頻繁使用的系統服務時,比如網路收發資料,造成的程序上下文切換對作業系統來說也是一個負擔;
由於系統服務高度模組化,系統服務之間存在大量的記憶體複製;
對互相之間存在複雜呼叫關係的系統服務,難以設計通訊介面;
系統服務與核心在地址空間上分離,造成程式碼區域性性差,降低了 cache 命中率。
回覆列表
華為宣佈其鴻蒙作業系統採用微核心架構(micro-kernel )。微核心是作業系統內部架構的一種形式,要把最重要最基本的管理工作交給微核心,以保證安全,相容性和速度。
微核心不是新的系統架構,從誕生到發展已經有幾代了,但是在很成功的商用系統裡應用還沒有,當然還有宏核心以及混合核心等!
作業系統總體架構(Architectures)是作業系統內部管理和執行的總體組織形式,就像政府或大公司的組織架構類似。比如說公司設有董事會、監事會、CEO、VP、CFO、各種部門,分公司,子公司等。
最初的作業系統的功能主要是管理好系統資源CPU、RAM、ROM、I/O,以及應用程式等。
以PC為例,做早誕生的DOS最為典型,就是一個單使用者系統(一次只能執行一個應用程式),後來發展成為多使用者系統WINDOWS,原始的系統架構就是提供幾個簡單的輸出輸入功能,簡單實用,但是其缺陷也是明顯的,比如:
1,系統崩潰(藍色畫面)
2,安全漏洞
3,不相容基於其他作業系統的應用程式
4,物聯(新增)
5,5G通訊(控制和實時性)
6,其他需求
在保持原有的總體架構不變的條件下繼續升級是不划算的,所以微軟不再升級WINDOES作業系統了。必須根據與日俱增的外部需求重新規劃全新的架構(Architectures)。
據稱鴻蒙系統採用了微核心的總體架構,在安全、速度、多終端、全場景、共享生態諸方面都實線了設計目標,比谷歌的系統(Fuchsia)更優秀!