MINIX
此條目需要精通或熟悉計算機科學的編者參與及協助編輯。 |
開發者 | 塔能鮑姆 |
---|---|
程式語言 | C |
作業系統家族 | 類Unix |
運作狀態 | 開發中 |
原始碼模式 | 開放原始碼 |
目前版本 | |
市場取向 | 教育(v1, v2)、嵌入式系統(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,是一個迷你版本的類Unix作業系統,由塔能鮑姆教授為了教學之用而創作,採用微核心設計。它啟發了Linux核心的創作。
它的名稱取自英語:Mini UNIX的縮寫。與Xinu、Idris、Coherent和Uniflex等類Unix作業系統類似,衍生自Version 7 Unix,但並沒有使用任何AT&T的程式碼。第一版於1987年釋出,只需要購買它的磁片,就提供完整的原始碼給大學系所與學生,作為授課及學習之用。2000年4月,重新以BSD授權條款釋出,成為開放原始碼軟體。
歷史與版本
MINIX 1.0
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平台,以軟碟起動。
MINIX 1.5
1.5版也有移植到以Motorola 68000系列CPU為基礎的電腦上(如Atari ST,Amiga,和早期的Apple Macintosh)和以SPARC為基礎的機器(如昇陽(Sun)公司的工作站)。
MINIX 2.0
1997年,隨著教科書改版,塔能鮑姆釋出Minix 2,在這版中,它改成可以在Intel 80386等x86平台上運作,從硬碟上開機。
Minix-vmd
MINIX 3
2004年,塔能鮑姆重新架構與設計了整個系統,更進一步的將程式模組化,推出Minix 3。桌面環境的EDE在MINIX 3中作為可選包。
技術內容
全套Minix除了啟動的部份以組合語言編寫以外,其他大部份都是純粹用C語言編寫。分為:核心、記憶體管理及檔案系統三部份。
Minix在設計之初,為了使程式簡化,它將程式模組化,如檔案系統與記憶體管理,都不是在作業系統核心中運作,而是在使用者空間運作。至Minix 3時,連IO裝置都被移到使用者空間運作。
另一個特點,則是Minix主要目的是用於教學,因此程式碼撰寫上極力重視簡潔與可讀性。
Minix與Linux
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才又改頭換面,現在它是一個朝向小型系統的可靠作業系統。
參考資料
- ^ MINIX 3.3.0 is Available Now.
- ^ Release v3.3.0 · Stichting-MINIX-Research-Foundation/minix. [2024年11月3日] (英語).
相關網站
- Minix3官方網站 (頁面存檔備份,存於網際網路檔案館)