Minix3是一個迷你版本的類Unix操作系統,由塔能鮑姆教授為了教學之用而創作,采用微核心設計。它啟發了Linux操作系統的創作。它的名稱取自英語:Mini UNIX的縮寫。與Xinu、Idris、Coherent和Uniflex等類Unix操作系統類似,派生自Version 7 Unix,但並沒有使用任何AT&T的代碼。第一版於1987年發布,只需要購買它的磁片,就提供完整的源代碼給大學系所與學生,做為授課及學習之用。
2000年4月,重新以BSD許可證發布,成為開放源代碼軟件。全套Minix除了啟動的部份以匯編語言編寫以外,其他大部份都是純粹用C語言編寫。分為:內核、內存管理及文件系統三部份。Minix3在設計之初,為了使程序簡化,它將程序模塊化,如文件系統與存儲器管理,都不是在操作系統內核中運作,而是在用戶空間運作。至Minix 3時,連IO設備都被移到用戶空間運作。另一個特點,則是Minix主要目的是用於教學,因此代碼撰寫上極力重視簡潔與可讀性。
Minix3原來是荷蘭阿姆斯特丹自由大學計算機科學系的塔能鮑姆教授所發展的一個類Unix操作系統。因為AT&T的政策改變,在Version 7 Unix推出之後,發布新的使用條款,將UNIX源代碼私有化,在大學中不再能使用UNIX源代碼。塔能鮑姆教授為了能在課堂上教授學生操作系統運作的實務細節,決定在不使用任何AT&T的源代碼前提下,自行開發與UNIX兼容的操作系統,以避免版權上的爭議。他以小型UNIX(mini-UNIX)之意,將它稱為MINIX。
Minix以C語言寫成,與Version 7 Unix兼容,全部的代碼共約12,000行,並置於他的著作《操作系統:設計與實現》的附錄裡作為示例。Minix的系統要求在當時來說非常簡單,只要三片磁片就可以起動。Minix原始是設計給1980年代到1990年代的IBM PC和IBM PC/AT兼容電腦上運行,主要運作於16-bits的Intel 8080平臺,以軟盤起動。
Minix3在內核設計上采用微內核,即將操作系統分成微內核和其上的提供文件系統、內存管理、驅動等服務的服務進程。Minix的作者和支持者認為使用宏內核是技術上的退步,而Linux的支持者認為Minix本身沒有實用性。在授權方式上,Minix的版權聲明在早期被認為是相當自由的:塔能鮑姆教授在希望拿Minix作為一個公開的教材與出版社希望保護代碼著作權的平衡下,它只要求一個相當低的授權費。但因為它並不是一個開放源代碼的授權方案,所以志願工作者在以GPL方式散布的Linux核心出現後就多轉向Linux平臺。
而Unix也在BSD與AT&T達成協議後,出現了以BSD許可證授權散布的FreeBSD開放平臺。Minix雖然在2000年改用BSD許可證授權,但這時其它的操作系統在功能上大幅超越了它,而它失去了發展成一個廣泛使用的操作系統的機會,只留下,如塔能鮑姆教授原來期望的,作為一個開放的教材的用途。直到Minix 3出現後,Minix纔又改頭換面,現在它是一個面向小型系統的可靠操作系統。
www.minix3.org - 927 - Minix3