Loading AI tools
来自维基百科,自由的百科全书
Minix,是一個迷你版本的類Unix作業系統,由塔能鮑姆教授為了教學之用而創作,採用微核心設計。它啟發了Linux核心的創作。
![]() | 此條目需要精通或熟悉計算機科學的編者參與及協助編輯。 |
它的名稱取自英語:Mini UNIX的縮寫。與Xinu、Idris、Coherent和Uniflex等類Unix作業系統類似,衍生自Version 7 Unix,但並沒有使用任何AT&T的程式碼。第一版於1987年釋出,只需要購買它的磁片,就提供完整的原始碼給大學系所與學生,作為授課及學習之用。2000年4月,重新以BSD授權條款釋出,成為開放原始碼軟體。
Minix原來是荷蘭阿姆斯特丹自由大學電腦科學系的塔能鮑姆教授(Prof. Andrew S. Tanenbaum)所發展的一個類Unix作業系統。
因為AT&T的政策改變,在Version 7 Unix推出之後,發布新的使用授權條款,將UNIX原始碼私有化,在大學中不再能使用UNIX原始碼。塔能鮑姆教授為了能在課堂上教授學生作業系統運作的實務細節,決定在不使用任何AT&T的原始碼前提下,自行開發與UNIX相容的作業系統,以避免著作權上的爭議。他以小型UNIX(mini-UNIX)之意,將它稱為MINIX。
Minix以C語言寫成,與Version 7 Unix相容,全部的程式碼共約12,000行,並置於他的著作《作業系統:設計與實作》(Operating Systems: Design and Implementation,ISBN 0-13-637331-3)的附錄裡作為範例。Minix的系統要求在當時來說非常簡單,只要三片磁片就可以起動。
Minix原始是設計給1980年代到1990年代的IBM PC和IBM PC/AT相容電腦上執行,主要運作於16-bits的Intel 8080平台,以軟碟起動。
1.5版也有移植到以Motorola 68000系列CPU為基礎的電腦上(如Atari ST,Amiga,和早期的Apple Macintosh)和以SPARC為基礎的機器(如昇陽(Sun)公司的工作站)。
1997年,隨著教科書改版,塔能鮑姆釋出Minix 2,在這版中,它改成可以在Intel 80386等x86平台上運作,從硬碟上開機。
2004年,塔能鮑姆重新架構與設計了整個系統,更進一步的將程式模組化,推出Minix 3。桌面環境的EDE在MINIX 3中作為可選包。
全套Minix除了啟動的部份以組合語言編寫以外,其他大部份都是純粹用C語言編寫。分為:核心、記憶體管理及檔案系統三部份。
Minix在設計之初,為了使程式簡化,它將程式模組化,如檔案系統與記憶體管理,都不是在作業系統核心中運作,而是在使用者空間運作。至Minix 3時,連IO裝置都被移到使用者空間運作。
另一個特點,則是Minix主要目的是用於教學,因此程式碼撰寫上極力重視簡潔與可讀性。
Linux是其作者受到Minix的影響而作成的(林納斯·托瓦茲不喜歡他的386電腦上的MS-DOS作業系統,而安裝了Minix,並以它為樣本開發了原始的Linux核心)。但是這種影響更多在於非技術層面,確切地說是一種精神上的「鼓舞」。在設計上,Linux則和Minix相差很大,在Linux系統還沒有自己的原生檔案系統之前,曾採用Minix的檔案系統。Minix在核心設計上採用微核心,即將作業系統分成微核心和其上的提供檔案系統、記憶體管理、驅動程式等服務的服務程式;而Linux則和原始的Unix都採用單核心。在Linux發展之初,雙方還於1992年在新聞群組上有過一場精彩的爭論,被稱為塔能鮑姆-林納斯辯論。Minix的作者和支持者認為使用單核心是技術上的退步,而Linux的支持者認為Minix本身沒有實用性。
在授權方式上,Minix的著作權宣告在早期被認為是相當自由的:塔能鮑姆教授在希望拿Minix作為一個公開的教材與出版社希望保護程式碼著作權的平衡下,它只要求一個相當低的授權費。但因為它並不是一個開放原始碼的授權方案,所以志願工作者在以GPL方式散佈的Linux核心出現後就多轉向Linux平台。而Unix也在BSD與AT&T達成協定後,出現了以BSD授權條款授權散佈的FreeBSD開放平台。Minix雖然在2000年改用BSD授權條款,但這時其它的作業系統在功能上大幅超越了它,而它失去了發展成一個廣泛使用的作業系統的機會,只留下,如塔能鮑姆教授原來期望的,作為一個開放的教材的用途。直到Minix 3出現後,Minix才又改頭換面,現在它是一個朝向小型系統的可靠作業系統。