複製鏈接
請複製以下鏈接發送給好友

微內核

鎖定
微內核(Micro kernel)是提供操作系統核心功能的內核的精簡版本,它設計成在很小的內存空間內增加移植性,提供模塊化設計,以使用户安裝不同的接口,如DOSWorkplace OS、Workplace UNIX等。IBM、Microsoft、開放軟件基金會(OSF)和UNIX系統實驗室(USL)、鴻蒙OS等新操作系統都採用了這一研究成果的優點。
中文名
微內核
外文名
Micro kernel
概    念
提供操作系統核心功能內核精簡版
優    點
增加移植性,提供模塊化設計

微內核簡介

微內核 微內核
內核(英文中常譯作µ-kernel或者micro kernel)。是一種能夠提供必要服務的操作系統內核;其中這些必要的服務包括任務,線程,交互進程通信(IPC,Inter-Process Communication)以及內存管理等等。所有服務(包括設備驅動)在用户模式下運行,而處理這些服務同處理其他的任何一個程序一樣。因為每個服務只是在自己的地址空間運行。所以這些服務之間彼此之間都受到了保護。

微內核優勢

能夠使得不同的API,文件系統,甚至不同的操作系統的特性在一個系統中共存。
系統非常靈活。當運行一個應用程序時,只需把選定的系統服務加載到系統中即可。而修改了服務以後可以通過聯機進行測試;並不需要重新構建或者啓動一個新的內核,他們並不影響系統的運行。
系統服務或者設備驅動故障和與它們有關的運行任務是隔絕的。
依存關係的服務器系統可以加以限制,使為安全重要至關信賴的計算基數的應用可被削減。
這種由微內核所決定的結構(IPC,多線程)能夠應用在所有的應用程序和服務上。一個精煉的微內核接口能夠有演繹成更多模塊的系統結構

微內核結構

微內核 微內核
微內核是內核的一種精簡形式。將通常與內核集成在一起的系統服務層被分離出來,變成可以根據需求加入的選件,這樣就可提供更好的可擴展性和更加有效的應用環境。使用微內核設計,對系統進行升級,只要用新模塊替換舊模塊,不需要改變整個操作系統。
可以用商業對比來解釋微內核的模塊概念。考慮一個過度忙碌的商務經理。通過將工作分給其他人,這位經理可以將他的能力更有效地用於重要的商務工作中去,並集中於其他一些任務,例如開闢新的商務分支等。可以僱傭一些新人來支持增長的商務活動。經理協調這些工作,但由其他的人做好僱傭他們時説好要做的事。與此類似,微內核操作系統支持執行少量核心任務,並管理可安裝模塊的活動。用這種方式,微內核對於它能做的工作是非常有效的,並是可移植的,這是指它可以被設計成在不同的處理器上運行。
基於微內核的操作系統具有如下特徵:
微內核提供一組“最基本”的服務,如進程調度進程間通信存儲管理、處理I/O設備。其他服務,如文件管理、網絡支持等通過接口連到微內核。與此相反,內核是集成的,比微內核更大。
微內核具有很好的擴展性,並可簡化應用程序開發。用户只運行他們需要的服務,這有利於減少磁盤空間存儲器需求。
廠商可以很容易地將微內核移植到其他處理器平台,並在上面增加適合其他平台需要的模塊化部件。(這指文件服務器工程應用等等)。
微內核和硬件部件有接口,並向可安裝模塊提供一個接口。在微內核中,進程通過傳遞消息或運行“線程”來發生相互作用。線程為將一個任務分解為多個子任務提供了途徑,在多處理器環境下,線程可以在不同的處理器上獨立運行。
像Mach和Nucleus這樣的微內核操作系統,使用户可以自己選擇操作系統的接口和特性。它們十分適合可以選擇多處理器和多操作系統的變化的計算機市場,開發商也可從中受益。它們能夠很快地從一個系統向另一個系統移植他們的產品,使最終用户可以得到許多應用產品。這種模塊化的設計也保證了可以得到大量的可選服務。

微內核操作系統

Nucleus Chorus系統公司(Beaverton,oregon)設計,該公司總部設在法國。
WindowsNT這種操作系統是圍繞着Microsoft設計的微內核而設計的,它緊跟在Mach設計之後。它提供線程調度、中斷和意外事件管理、多處理器同步和系統恢復(在掉電之後)。它永遠不會被存儲器管理程序調出內存,而且它的執行也永遠不能被其它進程中斷。
OSF/1MK這是開放式系統基金會的OSF/1 UNⅨ操作系統使用微內核研究的最新版本。它實現了Mach內核,並提供虛擬存儲管理進程間通信和設備驅動程序管理。
UNⅨ SVR4 UNⅨ系統實驗室公司推出了一個微內核的UNⅨ SVR4(系統V版本4)。它實現了Nucleus微內核。它提供前面討論的所有微內核特徵;然而,在微內核中不管理驅動程序
WorkPlace OS IBM的微內核是基於Mach微內核的。這種微內核在Motorola Power PC處理器上運行,它是Intel80486和Pentium處理器的直接競爭者。WorkPlace操作系統上的用户可以選擇不同的運行於操作系統上的接口,如DOSOS/2、Windows、U-NⅨ等。IBM微內核的體積很小(約40K),可處理基本的任務,如存儲器管理線程管理、中斷管理和消息傳遞
鴻蒙OS的微內核是LiteOS,LiteOS是華為物聯網戰略的重要組成部分,具備輕量級、低功耗互聯互通、組件豐富、快速開發等關鍵能力,基於物聯網領域業務特徵打造領域性技術棧,為開發者提供 “一站式” 完整軟件平台,有效降低開發門檻、縮短開發週期,可廣泛應用於可穿戴設備智能家居車聯網、LPWA等領域。

微內核其他信息

微內核結構由一個非常簡單的硬件抽象層和一組比較關鍵的原語系統調用組成;這些原語,僅僅包括了建立一個系統必需的幾個部分;如線程管理,地址空間進程間通信等。
微核的目標是將系統服務的實現和系統的基本操作規則分離開來。例如,進程的輸入/輸出鎖定服務可以由運行在微核之外的一個服務組件來提供。這些非常模塊化的用户態服務器用於完成操作系統中比較高級的操作,這樣的設計使內核中最內核的部分的設計更簡單。一個服務組件的失效並不會導致整個系統的崩潰,內核需要做的,僅僅是重新啓動這個組件,而不必影響其它的部分
微內核將許多OS服務放入分離的進程,如文件系統,設備驅動程序,而進程通過消息傳遞調用OS服務.微內核結構必然是多線程的,第一代微內核,在內核提供了較多的服務,因此被稱為'胖微內核',它的典型代表是MACH,它既是GNU HURD也是APPLE SERVER OS 的內核,可以説,蒸蒸日上.第二代微內核只提供最基本的OS服務,典型的OS是QNX,QNX在理論界很有名,被認為是一種先進的OS.

微內核例子

L4微內核系列
Mach,用於GNU Hurd和Mac OS X
MorphOS
RadiOS
VSTa
RT-Thread
鴻蒙
Singularity