fbpx
维基百科

混合核心

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

混合核心的示意图
分别为宏内核、微内核、混合內核的操作系统结构

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

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

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

概論 编辑

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

批評 编辑

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

例子 编辑

NT内核 编辑

XNU内核 编辑

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

其他 编辑

参见 编辑

註釋 编辑

  1. ^ Linus Torvalds. [2018-06-13]. (原始内容于2021-01-09). As to the whole "hybrid kernel" thing - it's just marketing. It's "Oh, those microkernels had good PR, how can we try to get good PR for our working kernel? Oh, I know, let's use a cool name and try to imply that it has all the PR advantages that that other system has. 
  2. ^

    The article goes to say that a hybrid kernel like NT's is not to be confused with a with monolithic kernels that can load modules like Linux. Again, this seems like nonsense to me - the stable driver ABI (and the closed source) has facilitated creating of many drivers outside of the NT kernel tree, but this is not a conceptual difference. The precise technique of loading a driver/module into the kernel doesn't really matter, if the driver shares the same address space and can have access to kernel structures.

混合核心, 英語, hybrid, kernel, 又譯為混合式核心, 混合內核, 一種作業系統內核架構, 傳統上的作業系統內核可以分為整塊性核心, monolithic, kernel, 與微核心, micro, kernel, 兩大基本架構, 結合了這兩種核心架構, 的示意图分别为宏内核, 微内核, 混合內核的操作系统结构的基本設計理念, 是以微核心架構來設計作業系統核心, 但在實作上則採用整塊性核心的作法, 實質上是微核心, 只不過它讓一些微核結構執行在用戶空間的代碼執行在核心空間, 這樣讓核心的執行效率更高. 混合核心 英語 Hybrid kernel 又譯為混合式核心 混合內核 一種作業系統內核架構 傳統上的作業系統內核可以分為整塊性核心 Monolithic kernel 與微核心 Micro kernel 兩大基本架構 混合核心結合了這兩種核心架構 混合核心的示意图分别为宏内核 微内核 混合內核的操作系统结构混合核心的基本設計理念 是以微核心架構來設計作業系統核心 但在實作上則採用整塊性核心的作法 混合核心實質上是微核心 只不過它讓一些微核結構執行在用戶空間的代碼執行在核心空間 這樣讓核心的執行效率更高些 這是一種妥協做法 設計者參考了微核心結構的系統執行速度不佳的理論 大多數現代作業系統遵循這種設計範疇 是用微核心的概念來設計 但是實作上則採用整塊性核心的作法 結合整塊性核心 Monolithic kernel 與微核心 Micro kernel 兩種設計方法 形成第三種分類 但是這種分類法受到一些批評 如林纳斯 托瓦兹認為這種分類只是一種市場行銷手法 因為它的架構實作方式接近於整塊性核心 1 最有名的混合核心為Windows NT核心與XNU 目录 1 概論 2 批評 3 例子 3 1 NT内核 3 2 XNU内核 3 3 其他 4 参见 5 註釋概論 编辑這個設計方式是一種妥協下的設計 在設計理念上 採用微核心架構來設計 但因為微核心結構一直被批評為效能不佳 因此在實作上 則採用整塊性核心的作法 微核心架構將作業系統服務 task server 運行在用戶空間 以保證系統的穩定可靠 與典型的微核心設計相較 在混合核心中 多數的作業系統服務 task server 仍然運行在核心空間中 與整塊性核心相同 因為讓作業系統服務運行在核心空間 減少了訊息傳遞及環境切換 content switch 帶來的系統負擔 這可以避免微核心架構常被批評的效能不佳問題 但也因此 這種設計無法提供微核心系統架構下的穩定性保證 批評 编辑林纳斯 托瓦兹認為 採用可載入核心模組不代表這個作業系統就是一種混合核心 如果模組跟內核使用同樣的定址空間 能夠存取內核的資料結果 這種實作方式就是整塊性核心 2 以這種定義來看 混合核心實際上是整塊性核心的變種 例子 编辑NT内核 编辑 Windows NT Windows 2000 Windows XP Windows Server 2003以及Windows Vista和Windows 7等基于NT技术的微软视窗操作系统XNU内核 编辑 主条目 XNU macOS 前稱Mac OS X及OS X 使用FreeBSD原始碼和Mach內核來實作 XNU 使用Mach內核 其他 编辑 BeOS内核 DragonFly BSD ReactOS内核参见 编辑整塊性核心 微核心 Exokernel註釋 编辑 Linus Torvalds 2018 06 13 原始内容存档于2021 01 09 As to the whole hybrid kernel thing it s just marketing It s Oh those microkernels had good PR how can we try to get good PR for our working kernel Oh I know let s use a cool name and try to imply that it has all the PR advantages that that other system has The article goes to say that a hybrid kernel like NT s is not to be confused with a with monolithic kernels that can load modules like Linux Again this seems like nonsense to me the stable driver ABI and the closed source has facilitated creating of many drivers outside of the NT kernel tree but this is not a conceptual difference The precise technique of loading a driver module into the kernel doesn t really matter if the driver shares the same address space and can have access to kernel structures Linus Torvalds http www realworldtech com forums index cfm action detail amp id 66630 amp threadid 66595 amp roomid 11 取自 https zh wikipedia org w index php title 混合核心 amp oldid 69576150, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。