微核心

微核心

微核心(Micro kernel)是提供作業系統核心功能的核心的精簡版本,它設計成在很小的記憶體空間內增加移植性,提供模組化設計,以使用戶安裝不同的接口,如DOS、Workplace OS、Workplace UNIX等。IBM、Microsoft、開放軟體基金會(OSF)和UNIX系統實驗室(USL)等新作業系統都採用了這一研究成果的優點。

基本介紹

  • 中文名:微核心
  • 外文名: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作業系統上的用戶可以選擇不同的運行於作業系統上的接口,如DOS、OS/2、Windows、U-NⅨ等。IBM微核心的體積很小(約40K),可處理基本的任務,如存儲器管理、執行緒管理、中斷管理和訊息傳遞。

其他

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

例子

AⅨ
BeOS
L4微核心系列
Mach,用於GNU Hurd和Mac OS X
Minix
MorphOS
QNX
RadiOS
VSTa
RT-Thread

相關詞條

熱門詞條

聯絡我們