微內核及其結構
微內核(英文中常譯作μ-kernel或者micro kernel)。是一種能夠提供必要服務的操作系統(tǒng)內核;其中這些必要的服務包括任務,線程,交互進程通信(IPC,Inter-Process Communication)以及內存管理等等。所有服務(包括設備驅動)在用戶模式下運行,而處理這些服務同處理其他的任何一個程序一樣。因為每個服務只是在自己的地址空間運行。所以這些服務之間彼此之間都受到了保護。
微內核是內核的一種精簡形式。將通常與內核集成在一起的系統(tǒng)服務層被分離出來,變成可以根據(jù)需求加入的選件,這樣就可提供更好的可擴展性和更加有效的應用環(huán)境。使用微內核設計,對系統(tǒng)進行升級,只要用新模塊替換舊模塊,不需要改變整個操作系統(tǒng)??梢杂蒙虡I(yè)對比來解釋微內核的模塊概念??紤]一個過度忙碌的商務經(jīng)理。通過將工作分給其他人,這位經(jīng)理可以將他的能力更有效地用于重要的商務工作中去,并集中于其他一些任務,例如開辟新的商務分支等??梢怨蛡蛞恍┬氯藖碇С衷鲩L的商務活動。經(jīng)理協(xié)調這些工作,但由其他的人做好雇傭他們時說好要做的事。與此類似,微內核操作系統(tǒng)支持執(zhí)行少量核心任務,并管理可安裝模塊的活動。用這種方式,微內核對于它能做的工作是非常有效的,并是可移植的,這是指它可以被設計成在不同的處理器上運行。基于微內核的操作系統(tǒng)具有如下特征:微內核提供一組“最基本”的服務,如進程調度、進程間通信、存儲管理、處理I/O設備。其他服務,如文件管理、網(wǎng)絡支持等通過接口連到微內核。與此相反,內核是集成的,比微內核更大。微內核具有很好的擴展性,并可簡化應用程序開發(fā)。用戶只運行他們需要的服務,這有利于減少磁盤空間和存儲器需求。廠商可以很容易地將微內核移植到其他處理器平臺,并在上面增加適合其他平臺需要的模塊化部件。(這指文件服務器、工程應用等等)。微內核和硬件部件有接口,并向可安裝模塊提供一個接口。在微內核中,進程通過傳遞消息或運行“線程”來發(fā)生相互作用。線程為將一個任務分解為多個子任務提供了途徑,在多處理器環(huán)境下,線程可以在不同的處理器上獨立運行。像Mach和Nucleus這樣的微內核操作系統(tǒng),使用戶可以自己選擇操作系統(tǒng)的接口和特性。它們十分適合可以選擇多處理器和多操作系統(tǒng)的變化的計算機市場,開發(fā)商也可從中受益。它們能夠很快地從一個系統(tǒng)向另一個系統(tǒng)移植他們的產(chǎn)品,使最終用戶可以得到許多應用產(chǎn)品。這種模塊化的設計也保證了可以得到大量的可選服務。
Nucleus Chorus系統(tǒng)公司(Beaverton,oregon)設計,該公司總部設在法國。WindowsNT這種操作系統(tǒng)是圍繞著Microsoft設計的微內核而設計的,它緊跟在Mach設計之后。它提供線程調度、中斷和意外事件管理、多處理器同步和系統(tǒng)恢復(在掉電之后)。它永遠不會被存儲器管理程序調出內存,而且它的執(zhí)行也永遠不能被其它進程中斷。OSF/1MK這是開放式系統(tǒng)基金會的OSF/1 UNⅨ操作系統(tǒng)使用微內核研究的最新版本。它實現(xiàn)了Mach內核,并提供虛擬存儲管理、進程間通信和設備驅動程序管理。UNⅨ SVR4 UNⅨ系統(tǒng)實驗室公司推出了一個微內核的UNⅨ SVR4(系統(tǒng)V版本4)。它實現(xiàn)了Nucleus微內核。它提供前面討論的所有微內核特征;然而,在微內核中不管理驅動程序。WorkPlace OS IBM的微內核是基于Mach微內核的。這種微內核在Motorola Power PC處理器上運行,它是Intel80486和Pentium處理器的直接競爭者。WorkPlace操作系統(tǒng)上的用戶可以選擇不同的運行于操作系統(tǒng)上的接口,如DOS、OS/2、Windows、U-NⅨ等。IBM微內核的體積很小(約40K),可處理基本的任務,如存儲器管理、線程管理、中斷管理和消息傳遞。鴻蒙OS的微內核是LiteOS,LiteOS是華為物聯(lián)網(wǎng)戰(zhàn)略的重要組成部分,具備輕量級、低功耗、互聯(lián)互通、組件豐富、快速開發(fā)等關鍵能力,基于物聯(lián)網(wǎng)領域業(yè)務特征打造領域性技術棧,為開發(fā)者提供 “一站式” 完整軟件平臺,有效降低開發(fā)門檻、縮短開發(fā)周期,可廣泛應用于可穿戴設備、智能家居、車聯(lián)網(wǎng)、LPWA等領域。