-
微內核
鎖定
微內核簡介
微內核(英文中常譯作µ-kernel或者micro kernel)。是一種能夠提供必要服務的操作系統內核;其中這些必要的服務包括任務,線程,交互進程通信(IPC,Inter-Process Communication)以及內存管理等等。所有服務(包括設備驅動)在用户模式下運行,而處理這些服務同處理其他的任何一個程序一樣。因為每個服務只是在自己的地址空間運行。所以這些服務之間彼此之間都受到了保護。
微內核優勢
能夠使得不同的API,文件系統,甚至不同的操作系統的特性在一個系統中共存。
系統非常靈活。當運行一個應用程序時,只需把選定的系統服務加載到系統中即可。而修改了服務以後可以通過聯機進行測試;並不需要重新構建或者啓動一個新的內核,他們並不影響系統的運行。
系統服務或者設備驅動故障和與它們有關的運行任務是隔絕的。
依存關係的服務器系統可以加以限制,使為安全重要至關信賴的計算基數的應用可被削減。
這種由微內核所決定的結構(IPC,多線程)能夠應用在所有的應用程序和服務上。一個精煉的微內核接口能夠有演繹成更多模塊的系統結構。
微內核結構
微內核是內核的一種精簡形式。將通常與內核集成在一起的系統服務層被分離出來,變成可以根據需求加入的選件,這樣就可提供更好的可擴展性和更加有效的應用環境。使用微內核設計,對系統進行升級,只要用新模塊替換舊模塊,不需要改變整個操作系統。
可以用商業對比來解釋微內核的模塊概念。考慮一個過度忙碌的商務經理。通過將工作分給其他人,這位經理可以將他的能力更有效地用於重要的商務工作中去,並集中於其他一些任務,例如開闢新的商務分支等。可以僱傭一些新人來支持增長的商務活動。經理協調這些工作,但由其他的人做好僱傭他們時説好要做的事。與此類似,微內核操作系統支持執行少量核心任務,並管理可安裝模塊的活動。用這種方式,微內核對於它能做的工作是非常有效的,並是可移植的,這是指它可以被設計成在不同的處理器上運行。
基於微內核的操作系統具有如下特徵:
微內核和硬件部件有接口,並向可安裝模塊提供一個接口。在微內核中,進程通過傳遞消息或運行“線程”來發生相互作用。線程為將一個任務分解為多個子任務提供了途徑,在多處理器環境下,線程可以在不同的處理器上獨立運行。
像Mach和Nucleus這樣的微內核操作系統,使用户可以自己選擇操作系統的接口和特性。它們十分適合可以選擇多處理器和多操作系統的變化的計算機市場,開發商也可從中受益。它們能夠很快地從一個系統向另一個系統移植他們的產品,使最終用户可以得到許多應用產品。這種模塊化的設計也保證了可以得到大量的可選服務。
微內核操作系統
WindowsNT這種操作系統是圍繞着Microsoft設計的微內核而設計的,它緊跟在Mach設計之後。它提供線程調度、中斷和意外事件管理、多處理器同步和系統恢復(在掉電之後)。它永遠不會被存儲器管理程序調出內存,而且它的執行也永遠不能被其它進程中斷。
WorkPlace OS IBM的微內核是基於Mach微內核的。這種微內核在Motorola Power PC處理器上運行,它是Intel80486和Pentium處理器的直接競爭者。WorkPlace操作系統上的用户可以選擇不同的運行於操作系統上的接口,如DOS、OS/2、Windows、U-NⅨ等。IBM微內核的體積很小(約40K),可處理基本的任務,如存儲器管理、線程管理、中斷管理和消息傳遞。
鴻蒙OS的微內核是LiteOS,LiteOS是華為物聯網戰略的重要組成部分,具備輕量級、低功耗、互聯互通、組件豐富、快速開發等關鍵能力,基於物聯網領域業務特徵打造領域性技術棧,為開發者提供 “一站式” 完整軟件平台,有效降低開發門檻、縮短開發週期,可廣泛應用於可穿戴設備、智能家居、車聯網、LPWA等領域。
微內核其他信息
微核的目標是將系統服務的實現和系統的基本操作規則分離開來。例如,進程的輸入/輸出鎖定服務可以由運行在微核之外的一個服務組件來提供。這些非常模塊化的用户態服務器用於完成操作系統中比較高級的操作,這樣的設計使內核中最內核的部分的設計更簡單。一個服務組件的失效並不會導致整個系統的崩潰,內核需要做的,僅僅是重新啓動這個組件,而不必影響其它的部分
微內核將許多OS服務放入分離的進程,如文件系統,設備驅動程序,而進程通過消息傳遞調用OS服務.微內核結構必然是多線程的,第一代微內核,在內核提供了較多的服務,因此被稱為'胖微內核',它的典型代表是MACH,它既是GNU HURD也是APPLE SERVER OS 的內核,可以説,蒸蒸日上.第二代微內核只提供最基本的OS服務,典型的OS是QNX,QNX在理論界很有名,被認為是一種先進的OS.
微內核例子
L4微內核系列
MorphOS
RadiOS
VSTa
RT-Thread
鴻蒙
Singularity