典型微核心架構
微核心是正確實現作業系統所需的最少軟體。這包括記憶體、程序排程機制和基本的程序間通訊。
下圖顯示了微核心的架構:
在上圖中,微核心包含基本需求,例如記憶體、程序排程機制和基本的程序間通訊。唯一以特權級別(即核心模式)執行的軟體是微核心。作業系統的其他功能從核心模式中移除,並在使用者模式下執行。這些功能可能是裝置驅動程式、檔案伺服器、應用程式程序間通訊等。
微核心確保程式碼易於管理,因為服務在使用者空間中劃分。這意味著核心模式下執行的程式碼更少,從而提高了安全性和穩定性。
微核心中的基本元件
微核心只包含系統的核心功能。只有將元件放在外部會破壞系統功能的情況下,才將其包含在微核心中。所有其他非基本元件都放在使用者模式中。
微核心中包含的最小功能包括:
- 微核心中包含記憶體管理機制,例如地址空間。這也包含記憶體保護功能。
- 處理器排程機制在微核心中也是必要的。這包含程序和執行緒排程程式。
- 程序間通訊非常重要,因為它需要管理執行自己地址空間的伺服器。
微核心系統的效能
在微核心系統中提供服務比在普通的單片系統中要昂貴得多。服務是透過向伺服器傳送程序間通訊訊息並獲取返回訊息來獲得的。這意味著如果驅動程式分別實現為程序或過程,則需要進行上下文切換或函式呼叫。
因此,微核心系統的效能可能很複雜,並可能導致一些問題。但是,這個問題在現代建立的微核心系統(例如 L4 微核心系統)中正在減少。
微核心的優點
微核心的一些優點包括:
- 微核心是模組化的,可以根據需要替換、重新載入、修改、更改不同的模組。這甚至可以在不接觸核心的情況下完成。
- 微核心非常安全,因為只包含那些否則會破壞系統功能的元件。
- 與單片系統相比,微核心包含較少的系統崩潰。此外,由於微核心的模組化結構,發生的崩潰也可以很容易地處理。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP