01.25 Intel CPU中的操作系統——MINIX

Intel CPU中的操作系統——MINIX

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 3

2004年,塔能鮑姆重新架構與設計了整個系統,更進一步的將程序模塊化,推出Minix 3。

所有2015年之後發佈的英特爾芯片都在內部運行著MINIX 3,作為Intel管理引擎(Intel Management Engine)的組件。

技術內容

全套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才又改頭換面,現在它是一個朝向小型系統的可靠操作系統。


分享到:


相關文章: