热门问题
时间线
聊天
视角

混合內核

来自维基百科,自由的百科全书

混合核心
Remove ads

混合內核(英語:Hybrid kernel),又譯為混合式內核,一種作業系統內核架構。傳統上的作業系統內核可以分為整塊性內核(Monolithic kernel)與微內核(Micro kernel)兩大基本架構,混合內核結合了這兩種內核架構。

Thumb
混合內核的示意圖
Thumb
分別為整塊性內核、微內核、混合內核的作業系統結構

混合內核的基本設計理念,是以微內核架構來設計作業系統內核,但在實作上則採用整塊性內核的作法。混合內核實質上是微內核,只不過它讓一些微核結構執行在用戶空間的代碼執行在內核空間,這樣讓內核的執行效率更高些。這是一種妥協做法,設計者參考了微內核結構的系統執行速度不佳的理論。

大多數現代作業系統遵循這種設計範疇,是用微內核的概念來設計,但是實作上則採用整塊性內核的作法,結合整塊性內核(Monolithic kernel)與微內核(Micro kernel)兩種設計方法,形成第三種分類。但是這種分類法受到一些批評,如林納斯·托瓦茲認為這種分類只是一種市場行銷手法,因為它的架構實作方式接近於整塊性內核[1]

最有名的混合內核為Windows NT內核與XNU

Remove ads

概論

這個設計方式是一種妥協下的設計。在設計理念上,採用微內核架構來設計,但因為微內核結構一直被批評為效能不佳,因此在實作上,則採用整塊性內核的作法。微內核架構將作業系統服務(task server)運行在用戶空間,以保證系統的穩定可靠。與典型的微內核設計相較,在混合內核中,多數的作業系統服務(task server)仍然運行在內核空間中,與整塊性內核相同。因為讓作業系統服務運行在內核空間,減少了訊息傳遞及環境切換(content switch)帶來的系統負擔,這可以避免微內核架構常被批評的效能不佳問題;但也因此,這種設計無法提供微內核系統架構下的穩定性保證。

批評

林納斯·托瓦茲認為,採用可載入內核模組不代表這個作業系統就是一種混合內核,如果模組跟內核使用同樣的定址空間,能夠存取內核的資料結果,這種實作方式就是整塊性內核[2]。以這種定義來看,混合內核實際上是整塊性內核的變種。

例子

NT內核

XNU內核

  • macOS(前稱Mac OS X及OS X,使用FreeBSD原始碼和Mach內核來實作)
  • XNU(使用Mach內核)

其他

參見

註釋

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads