-
宏內核
鎖定
宏內核(英語:Monolithic kernel),又稱單核心,是操作系統核心架構的一種,此架構的特性是整個核心程序都是以核心空間(Kernel Space)的身份及監管者模式(Supervisor Mode)來運行。
- 中文名
- 宏內核
- 外文名
- Monolithic kernel
- 別 名
- 單核心
- 類 別
- 操作系統核心架構
目錄
- ▪ Unix及類Unix操作系統
- ▪ 其它
宏內核概念
相對於其他類型的操作系統架構,如微核心架構或混核心架構等,這些核心會定義出一個高級的虛擬接口,由該接口來涵蓋描述整個電腦硬件,這些描述會集合成一組硬件描述用詞,有時還會附加一些系統調用,如此可以用一個或多個模塊來實現各種操作系統服務,如進程管理、共時(Concurrency)控制、存儲器管理等。
宏內核被視作為運行在單一地址空間的單一的進程,核心提供的所有服務,都以特權模式,在這個大型的核心地址空間中運作,這個地址空間被稱為核心空間(kernel space)。它通常是以單一靜態二進制文件的方式被存儲在磁盤,或是高速緩存上,在開機之後被加載存儲器中的核心空間,開始運作。
即使有的宏內核將其運作從整體性運作拆分成幾個服務模塊,並讓各模塊各自運作,其操作系統的代碼依然是高度緊密的,很難修改成其他類型的操作系統架構。此外,所有的模塊也都在同一塊尋址空間內運行,倘若某個模塊有錯誤、瑕疵(Bug),運行時就會損及整個操作系統運作。反過來,如果宏內核架構的操作系統在開發設計時相當完善,並經測試驗證後具有高度可靠性,則操作系統內的各軟件組件因具有高度緊密性,如此在系統的低級運作上將格外有效率。
宏內核模塊
多數採行宏內核架構設計的操作系統,如OpenVMS、FreeBSD、Solaris等,都已經能在運作運行階段中,以動態方式來加載(Load)、卸載(Unload)可運行的模塊,不過這些模塊是屬於二進制代碼的層次,或稱鏡像層次,而非核心架構的層次。即使宏內核進行模塊化轉化,也不會與微核心或混核心架構的核心產生區分上的混淆,因為微核心、混核心的模塊是屬於系統架構的層次。
就實務上,動態加載/卸載模塊的作法,等於是用一種較簡易的方式來彈性管控運行中的操作系統核心,若沒有動態加載/卸載機制,操作系統的核心想要進行任何的調整、變換,都必須重啓才能達成。因此模塊化是必然且必要的,如此才能讓核心功效輕鬆地擴展、延伸,此外也能適時減輕硬件的運行運作負擔。
另外,有些整塊性操作系統為了讓它的核心空間達到最小化,也會運用動態加載/卸載機制來達成此一目標。
宏內核宏內核操作系統舉例
宏內核Unix及類Unix操作系統
- Syllable操作系統