• <nav id="gssss"><strong id="gssss"></strong></nav>
  • <nav id="gssss"><strong id="gssss"></strong></nav>
  • <menu id="gssss"></menu>
  • <nav id="gssss"><nav id="gssss"></nav></nav>
  • 張先民 / 鴻蒙 / ***什么是微內核,什么是宏內核?這兩者之...

    0 0

       

    ***什么是微內核,什么是宏內核?這兩者之間有何區別?

    2020-05-09  張先民

    計算機操作系統按照體系可分為微內核和宏內核,目前是宏內核的天下,但是隨著移動互聯網業務的發展,尤其是5G 物聯網時代的到來,在穩定性、實時性、小型化和輕量級方面有著天然優勢的微內核,似乎有了崛起的機會。*


    什么是操作系統

    操作系統(OS)是計算機用戶和計算機硬件之間的接口,每臺計算機必須至少具有一個OS才能運行其他程序。操作系統是執行所有基本任務的軟件,例如文件管理,內存管理,進程管理,處理輸入和輸出以及控制外圍設備(例如磁盤驅動器和打印機)。一些流行的操作系統包括Linux操作系統、Windows操作系統、VMS、OS/400、AIX,現在隨著移動終端的流行Android、IOS也十分流行。

    操作系統的歷史

    • l 操作系統最早于1950年代后期開發,用于管理磁帶存儲;

    • l 通用汽車研究實驗室在1950年代初為其IBM 701實施了首個操作系統;

    • l 在1960年代中期,操作系統開始使用磁盤;

    • l 在1960年代后期,開發了Unix OS的第一個版本;

    • l 微軟構建的第一個操作系統是DOS。它于1981年通過從西雅圖公司購買86-DOS軟件而構建;

    • l 當前流行的OS Windows于1985年首次出現,當時創建了GUI并與MS-DOS配對;

    • l 2003年10月,Andy Rubin的Android公司在加利福尼亞的帕洛阿爾托成立,研發出了Android系統;

    • l Apple于2007年6月29日推出了iOS,當時稱為iPhone OS。

    操作系統的功能

    以下是操作系統的一些重要功能:

    • l 內存管理

    • l 處理器管理

    • l 設備管理

    • l 文件管理

    • l 安全

    • l 控制系統性能

    • l 職位會計

    • l 錯誤檢測工具

    • l 其他軟件與用戶之間的協調

    什么是內核?

    內核是計算機操作系統的核心組件。內核執行的唯一工作是管理軟件和硬件之間的通信。它使硬件和軟件之間的通信成為可能,內核是操作系統的最內部部分。內核可以進一步分為兩類,微內核和宏內核。

    內核分為:宏內核與微內核!

    20世紀70年代初誕生的UNIX系統可以說是那一時期最好的操作系統,隨著計算機技術的快速發展。在UNIX系統功能變的越發強大的同時,內核代碼量也在快速的膨脹,帶來的弊端也隨之出現,系統的可靠性、代碼的可維護性和穩定性都存在著問題。

    為了解決這些問題,業界開始反思UNIX系統設計。從重構UNIX代碼和架構開始,人們嘗試把UNIX內核提供的一些服務和功能放到內核外,把執行在特權級別的內核代碼縮到最小,內核只提供基本的服務,而用戶空間程序承擔盡可能多的原來駐留在內核空間的功能。

    這就誕生了第一代微內核Mach。由于第一代微內核性能太差,很快就被業界所遺忘,但是人們并沒有停止對微內核的研究,隨后推出的第二代、第三代微內核都得到了很好的發展。當然,與此同時作為宏內核的代表Linux和Windows系統也在快速的發展。

    作為操作系統發展的兩大分支——微內核和宏內核,他們有著截然不同的設計理念。宏內核將所有的系統功能(包括內存管理、文件系統、設備驅動等)都在內核里實現,而微內核則只在內核中保留了必須在內核態運行的功能,而把其他功能都移至用戶態以服務線程的方式來實現。

    這種設計方法使得微內核本身的體積大大減小。同時,運行于微內核之上的用戶態的系統服務由于處于各自的地址空間之內,保證了服務之間的強隔離。這種設計思想,給予了基于微內核的操作系統高度的可重構性、穩定性和可靠性。

    微內核的定義

    作為內核的微內核管理所有系統資源。但是在微內核中,用戶服務和內核服務是在不同的地址空間中實現的。用戶服務保存在用戶地址空間中,內核服務保存在內核地址空間下。這減小了內核的大小,并進一步減小了操作系統的大小。

    除了系統的應用程序和硬件之間的通信外,微內核還提供最小的進程和內存管理服務。客戶端程序/應用程序與在用戶地址空間中運行的服務之間的通信是通過消息傳遞建立的。他們從不直接互動,這就降低了微內核的執行速度。

    在微內核中,用戶服務與內核服務是隔離的,因此,如果任何用戶服務失敗,則不會影響內核服務,因此操作系統不會受到影響。這是微內核的優點之一。微內核很容易擴展。如果要添加新服務,則將它們添加到用戶地址空間,內核空間不需要任何修改。

    宏內核的定義

    宏內核管理系統的應用程序和硬件之間的系統資源。但是與微內核不同,用戶服務和內核服務是在相同的地址空間下實現的。這增加了內核的大小,進一步增加了操作系統的大小。

    宏內核通過系統調用提供CPU調度、內存管理、文件管理和其他操作系統功能。由于用戶服務和內核服務都位于相同的地址空間中,因此可以快速執行操作系統。

    微內核和宏內核之間的主要區別

    區分微內核和宏內核的基本點是微內核在不同的地址空間中實現用戶服務和內核服務,而宏內核在相同的地址空間中同時實現用戶服務和內核服務。

    微內核很小,因為只有內核服務駐留在內核態地址空間中;由于內核服務和用戶服務都駐留在相同的地址空間中,因此宏內核的大小比微內核要大。

    通過使用系統調用在應用程序和硬件之間建立通信,宏內核的執行速度更快。另一方面,由于通過消息傳遞建立了系統的應用程序和硬件之間的通信,因此微內核的執行速度很慢。

    擴展微內核很容易,因為要在與內核空間隔離的用戶地址空間中添加新服務,因此不需要修改內核。如果在宏內核中添加新服務,則整個內核都需要修改,這與微內核相反。

    微內核比宏內核更安全,因為微內核中的服務失敗時,運行系統不會受到影響。另一方面,如果服務在宏內核中失敗,則整個系統都會失敗。

    宏內核設計需要更少的代碼,從而進一步減少了錯誤。另一方面,微內核設計需要更多代碼,從而導致更多錯誤。

    宏內核與微內核,孰優孰劣?

    關于微內核和宏內核孰優孰劣的討論,業界也一直沒有停息過。1992年Andrew Tanenbaum(Minix系統設計者)和Linus Torvalds(Linux內核創始人)之間進行了一場關于“Microkernel vs Monolithic kernel”的長篇郵件論戰,論戰也吸引了眾多操作系統方面的頂級黑客參加。

    因為當時微內核還處在學術研究階段,且有著嚴重的性能缺陷,最終大家得到的一致結論則是微內核不如宏內核。14年后的2006年,兩人再次對這個話題進行了論戰,這時候Andrew Tanenbaum明顯有了底氣,因為在這十幾年中微內核解決了令人詬病的性能問題,并且在嵌入式系統領域(航空航天、汽車電子、無線通訊、醫療設備等)愈發得到市場的認可。所以我們不能簡單的評判微內核和宏內核哪一個更好,作為操作系統設計的兩種思路,兩者各有優缺點,隨著技術的進步,二者也在相互的借鑒。可以確切的說,只要操作系統還在發展,關于二者的討論就不會停止。

    宏內核與微內核比對:

    圖 IPC性能耗時分析

    從目前的研究熱點來看,更多的人把目光投向了微內核,利用微內核在實時系統及嵌入式虛擬化領域的優勢,來解決現有的嵌入式操作系統的安全性問題。OK Labs提出的Microvisor概念,即具有虛擬化功能的微內核,就是一個很好的案例。L4微內核家族的眾多成員,如Fiasco.OC、NOVA、Codezero以及seL4都有虛擬化方面的應用。

    結論

    由于早期的微內核系統無法擺脫性能的制約(大量進程間通信帶來的性能消耗),而導致研究人員一直致力于提升微內核的IPC性能,隨著對微內核的不斷優化改進,以及硬件性能的大幅提升,IPC性能不再是困擾微內核發展的主要因素,以安全為導向的微內核研究已成為一大趨勢。在桌面機和服務器領域是宏內核的天下,由于性能的因素,微內核一直不在考慮范圍之內。

    而移動互聯網的發展,智能設備的興起,給微內核的發展、產業化帶來了機遇。微內核比單內核慢,但更安全可靠,在擴展方面有優勢。宏內核速度很快,但安全性較低,因為任何服務故障都可能導致系統崩潰。微內核架構上是在系統上構建及簡的系統功能,僅提供進程之間的基礎通訊,其余復雜的功能散落在不同的服務里,所以在微內核架構里面融入移動智能操作系統在技術層面是一個可以容易實現的事。因此近期的華為的鴻蒙系統就是基于微內核的架構,Google面向下一代操作系統的Fuchsia同樣基于微內核架構,可以看出未來操作系統的發展方向是微內核。

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。如發現有害或侵權內容,請點擊這里 或 撥打24小時舉報電話:4000070609 與我們聯系。

      猜你喜歡

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多
      喜歡該文的人也喜歡 更多

      性爱影视大全,巴西性A级黄,一本在线观看,全黄一级裸片