跳轉到內容

作業系統設計/核心架構

來自華夏公益教科書,開放書籍,為開放世界
單核心、微核心和混合核心的結構。

核心是作業系統的核心。它是負責執行程式並提供對機器硬體的安全訪問的軟體。由於存在許多程式,而資源有限,核心還決定程式何時執行以及執行多長時間。這稱為排程。直接訪問硬體可能非常複雜,因為同一型別元件的硬體設計多種多樣。核心通常實現一定程度的硬體抽象(一組對所有特定型別裝置通用的指令)以隱藏底層複雜性,併為應用程式提供簡潔統一的介面。這有助於應用程式程式設計師開發程式,而無需瞭解如何為特定裝置程式設計。核心依賴於軟體驅動程式,這些驅動程式將通用命令轉換為特定於該裝置的指令。

執行計算機並不嚴格需要作業系統核心。程式可以直接載入並執行在“裸機”機器上,前提是這些程式的作者願意放棄任何硬體抽象或作業系統支援。這是許多早期計算機的正常執行方式,它們在執行不同的程式之間重置和重新載入。最終,諸如程式載入器和偵錯程式之類的較小的輔助程式通常在執行之間留在記憶體中,或者從只讀記憶體載入。隨著這些程式的開發,它們構成了早期作業系統核心的基礎。“裸機”方法在當今的許多影片遊戲機和嵌入式系統中仍然使用,但總的來說,較新的系統使用核心和作業系統。

四類核心

  • 單核心 提供對底層硬體的豐富而強大的抽象。
  • 微核心 提供一組簡單的硬體抽象,並使用稱為伺服器的應用程式來提供更多功能。
  • 外核心 提供最小的抽象,允許低階硬體訪問。在外核心系統中,庫作業系統提供通常存在於單核心中的抽象。
  • 混合修改後的微核心)與純微核心非常相似,只是它們在核心空間中包含了一些額外的程式碼以提高效能。
華夏公益教科書