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

宏內核

鎖定
宏內核(英語:Monolithic kernel),又稱單核心,是操作系統核心架構的一種,此架構的特性是整個核心程序都是以核心空間(Kernel Space)的身份及監管者模式(Supervisor Mode)來運行。
中文名
宏內核
外文名
Monolithic kernel
別    名
單核心
類    別
操作系統核心架構

宏內核概念

相對於其他類型的操作系統架構,如微核心架構或混核心架構等,這些核心會定義出一個高級的虛擬接口,由該接口來涵蓋描述整個電腦硬件,這些描述會集合成一組硬件描述用詞,有時還會附加一些系統調用,如此可以用一個或多個模塊來實現各種操作系統服務,如進程管理、共時(Concurrency)控制、存儲器管理等。
宏內核被視作為運行在單一地址空間的單一的進程,核心提供的所有服務,都以特權模式,在這個大型的核心地址空間中運作,這個地址空間被稱為核心空間(kernel space)。它通常是以單一靜態二進制文件的方式被存儲在磁盤,或是高速緩存上,在開機之後被加載存儲器中的核心空間,開始運作。
即使有的宏內核將其運作從整體性運作拆分成幾個服務模塊,並讓各模塊各自運作,其操作系統的代碼依然是高度緊密的,很難修改成其他類型的操作系統架構。此外,所有的模塊也都在同一塊尋址空間內運行,倘若某個模塊有錯誤、瑕疵(Bug),運行時就會損及整個操作系統運作。反過來,如果宏內核架構的操作系統在開發設計時相當完善,並經測試驗證後具有高度可靠性,則操作系統內的各軟件組件因具有高度緊密性,如此在系統的低級運作上將格外有效率。

宏內核模塊

多數採行宏內核架構設計的操作系統,如OpenVMS、FreeBSD、Solaris等,都已經能在運作運行階段中,以動態方式來加載(Load)、卸載(Unload)可運行的模塊,不過這些模塊是屬於二進制代碼的層次,或稱鏡像層次,而非核心架構的層次。即使宏內核進行模塊化轉化,也不會與微核心或混核心架構的核心產生區分上的混淆,因為微核心、混核心的模塊是屬於系統架構的層次。
就實務上,動態加載/卸載模塊的作法,等於是用一種較簡易的方式來彈性管控運行中的操作系統核心,若沒有動態加載/卸載機制,操作系統的核心想要進行任何的調整、變換,都必須重啓才能達成。因此模塊化是必然且必要的,如此才能讓核心功效輕鬆地擴展、延伸,此外也能適時減輕硬件的運行運作負擔。
另外,有些整塊性操作系統為了讓它的核心空間達到最小化,也會運用動態加載/卸載機制來達成此一目標。

宏內核宏內核操作系統舉例

宏內核Unix及類Unix操作系統

  1. UNIX類(Research Unix、UNIX System III、UNIX System VSunOSXenixSCO UNIX、Unixware、SCO OpenServer、DEC Ultrix、HP-UX、PC/IX、A/UXSolarisOpenSolarisOpenIndianaIllumos等)
  2. CentOS、Arch Linux、Android、Ubuntu Linux、Fedora Linux等大部分採用Linux內核的操作系統
  3. BSD系列大部分操作系統(FreeBSDOpenBSDNetBSD、GhostBSD、MidnightBSD、386BSD、TrueOS、PC-BSD、FuryBSD、MirOS BSD等)
  4. Syllable操作系統

宏內核其它

  1. RT-11
  2. MP/M(CP/M多用户版本)
  3. Atari TOS
  4. x86架構DOS系列(86-DOS、DR-DOS、MS-DOSPC-DOSFreeDOS、ROM-DOS、PTS-DOS、Concurrent DOS等)
  5. XTS-400
  6. BeOS
  7. TRS-DOS
  8. MSX-DOS
  9. IBM z/OS
  10. z/TPF
  11. KolibriOS
  12. Classic Mac OS(從最初版到8.6版,68k版本)
  13. Apple SOS
  14. ProDOS
  15. Apple DOS