[go: up one dir, main page]

跳至內容

整塊性核心

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
整塊性核心架構的概要示意圖。
分別為整塊性核心、微核心、混合內核的作業系統結構

整塊性核心(英語:Monolithic kernel),也譯為整合式核心單體式核心,一種作業系統核心架構,此架構的特性是整個核心程式是一個單一二進位執行檔,在核心空間以監管者模式(Supervisor Mode)來執行。相對於其他類型的作業系統架構,如微核心架構或混核心架構等,這些核心會定義出一個高階的虛擬介面,由該介面來涵蓋描述整個電腦硬件,這些描述會集合成一組硬件描述用詞,有時還會附加一些系統呼叫,如此可以用一個或多個模組來實現各種作業系統服務,如行程管理、共時(Concurrency)控制、記憶體管理等。

概論

[編輯]

整塊性核心被視作為運行在單一地址空間的單一的行程,核心提供的所有服務,都以特權模式,在這個大型的核心地址空間中運作,這個地址空間被稱為核心空間(kernel space)。它通常是以單一靜態二進位檔案的方式被儲存在磁碟,或是緩衝記憶體上,在開機之後被載入記憶體中的核心空間,開始運作。

它的優點是設計簡單。在核心之中的通訊成本很小,核心可以直接調用核心空間內的函數,跟使用者空間的應用程式呼叫函數一樣,因此它的效能很好。在1980年代之前,所有的作業系統都採用這個方式實作;即使到了現在,主要的作業系統也多採用這個方式。

微核心的支持者認為,整塊性核心的移植性不佳,即使有的整塊性核心將其運作從整體性運作拆分成幾個服務模組,並讓各模組各自運作,其作業系統的程式碼依然是高度緊密的,很難修改成其他類型的作業系統架構。此外,所有的模組也都在同一塊定址空間內執行,倘若某個模組有錯誤、瑕疵(Bug),執行時就會損及整個作業系統運作。反過來,如果整塊性架構的作業系統在開發設計時相當完善,並經測試驗證後具有高度可靠性,則作業系統內的各軟件組件因具有高度緊密性,如此在系統的低階運作上將格外有效率。

可載入性的模組

[編輯]

現在多數採行整塊性架構設計的作業系統,如OpenVMSLinuxFreeBSD、以及Solaris等,都已經能在運作執行階段中,以動態方式來載入(Load)、解除安裝(Unload)可執行的模組,不過這些模組是屬於二進位程式碼的層次,或稱映像層次,而非核心架構的層次。即使整塊性核心進行模組化轉化,也不會與微核心或混核心架構的核心產生區分上的混淆,因為微核心、混核心的模組是屬於系統架構的層次。

就實務上,動態載入/解除安裝模組的作法,等於是用一種較簡易的方式來彈性管控執行中的作業系統核心,若沒有動態載入/解除安裝機制,作業系統的核心想要進行任何的調整、變換,都必須重新開機才能達成。因此模組化是必然且必要的,如此才能讓核心功效輕鬆地擴展、延伸,此外也能適時減輕硬件的執行運作負擔。

另外,有些整塊性作業系統為了讓它的核心空間達到最小化,也會運用動態載入/解除安裝機制來達成此一目標。

部分整塊性架構的作業系統舉例

[編輯]

相關條目

[編輯]

參考文獻

[編輯]
  • 鍾斌賢; 曾煜棋,顏春煌. 作業系統. 國立空中大學. ISBN 957-661-461-9. 
  • 天野 司(Tsukasa Amano). How Windows Work-視窗系統是怎麼運作的. 博碩出版社. ISBN 957-527-867-4.