跳至內容

MINIX 3

維基百科,自由的百科全書
MINIX
啟動界面
開發者塔能鮑姆
程式語言C語言
作業系統家族類Unix
運作狀態開發中
源碼模式開放原始碼
當前版本
  • 3.3.0(穩定版本)[1]
編輯維基數據鏈接
市場取向嵌入式系統(v3)
支持的語言英語
支援平台PC, PC/AT, PS/2, Motorola 68000, SPARC, 雅達利ST電腦, Amiga, Macintosh, SPARCstation, Intel 80386, IBM PC兼容機, NS32532, ARM and INMOS transputer
內核類別微核心
默認用戶界面命令列介面(ash)
許可證BSD授權條款
官方網站www.minix3.org
倉庫 編輯維基數據鏈接

MINIX 3,一個自由軟件專案,目標在於創造一個小型的類UNIX作業系統,具備高度可靠性與功能性。為Minix系統第三版,它的主要開發者為安德魯·斯圖爾特·塔能鮑姆,使用BSD許可證授權釋出。採用微核心架構,它接續了先前MINIX 1與MINIX 2的發展成果,主要希望使用在小型嵌入式系統與教育之用。EDE在MINIX 3中作為可選包。

架構

[編輯]
Minix 3的架構

如圖所示,最底層是微內核,其代碼規模約為4,000行(主要採用C編寫,另有少量匯編語言代碼)。它負責處理中斷、進程調度以及消息傳遞,並提供約30個僅供獲授權的伺服器和驅動程序調用的應用程式接口(API)內核調用。用戶程序不能直接調用這些內核調用,而是通過發起POSIX系統調用向伺服器發送消息。內核調用主要執行設置中斷、在不同地址空間之間複製數據等操作。

上一層是設備驅動程序,每個驅動程序都作為獨立的用戶空間進程運行。每個驅動程序負責控制一種輸入/輸出設備,例如磁碟或打印機。驅動程序不能直接訪問I/O端口空間,也不能直接執行I/O指令,而必須通過內核調用提交需要寫入的I/O端口列表及相應的數據。儘管這種機制會帶來少量額外開銷(通常約為500納秒),但內核能夠藉此檢查訪問權限,例如防止音頻驅動程序向磁碟寫入數據。

再上一層是伺服器,幾乎所有作業系統功能都位於這一層。例如,用戶進程通過向文件伺服器發送消息來完成打開、關閉、讀取和寫入文件等操作;文件伺服器再通過向磁碟驅動程序發送消息來完成磁碟I/O,而磁碟驅動程序則負責實際控制磁碟設備。

其中最關鍵的伺服器之一是重生伺服器。它的職責是定期輪詢所有其他伺服器和驅動程序,以檢查它們是否正常運行。如果某個組件未能正確響應、異常退出或陷入無限循環,重生伺服器(作為各伺服器和驅動程序的父進程)便會終止該故障組件,並啟動一個新的實例將其替換。因此,系統能夠在不中斷正在運行程序的情況下自動完成自我修復。

目前,重生伺服器、進程伺服器以及微內核共同構成了可信計算基。如果其中任何一個組件發生故障,整個系統都會崩潰。儘管如此,與 Linux 和 Windows 等系統通常擁有300萬至500萬行代碼的可信計算基相比,將可信計算基縮減至約20,000行代碼,可顯著提高系統的可靠性。[來源請求]

吉祥物

[編輯]
Rocky Raccoon,Minix 3的吉祥物

Rocky Raccoon 是Minix 3的吉祥物[2]

參見

[編輯]

參考資料

[編輯]
  1. ^ http://www.minix3.org/330.html.
  2. ^ mascot [Wiki]. wiki.minix3.org. [2017-07-20]. (原始內容存檔於2015-03-07) (英語). 

外部連結

[編輯]