【【維基愛好者】Intel CPU中的操作系統(tǒng)——MINIX】https://toutiao.com/group/6650333389108806157/?iid=15906422033&app=explore_article×tamp=1548691969&group_id=6650333389108806157&tt_from=copy_link&utm_source=copy_link&utm_medium=toutiao_ios&utm_campaign=client_share
Minix,是一個迷你版本的類Unix操作系統(tǒng),由塔能鮑姆教授為了教學(xué)之用而創(chuàng)作,采用微核心設(shè)計。它啟發(fā)了Linux核心的創(chuàng)作。
它的名稱取自英語:Mini UNIX的縮寫。與Xinu、Idris、Coherent和Uniflex等類Unix操作系統(tǒng)類似,派生自Version 7 Unix,但并沒有使用任何AT&T的代碼。第一版于1987年發(fā)布,只需要購買它的磁片,就提供完整的源代碼給大學(xué)系所與學(xué)生,做為授課及學(xué)習(xí)之用。2000年4月,重新以BSD許可協(xié)議發(fā)布,成為開放源代碼軟件。
MINIX 1.0
Minix原來是荷蘭阿姆斯特丹自由大學(xué)計算機科學(xué)系的塔能鮑姆教授(Prof. Andrew S. Tanenbaum)所發(fā)展的一個類Unix操作系統(tǒng)。
因為AT&T的政策改變,在Version 7 Unix推出之后,發(fā)布新的使用許可協(xié)議,將UNIX源代碼私有化,在大學(xué)中不再能使用UNIX源代碼。塔能鮑姆教授為了能在課堂上教授學(xué)生操作系統(tǒng)運作的實務(wù)細(xì)節(jié),決定在不使用任何AT&T的源代碼前提下,自行開發(fā)與UNIX兼容的操作系統(tǒng),以避免版權(quán)上的爭議。他以小型UNIX(mini-UNIX)之意,將它稱為MINIX。
Minix以C語言寫成,與Version 7 Unix兼容,全部的代碼共約12,000行,并置于他的著作《操作系統(tǒng):設(shè)計與實現(xiàn)》(Operating Systems: Design and Implementation,ISBN 0-13-637331-3)的附錄里作為示例。Minix的系統(tǒng)要求在當(dāng)時來說非常簡單,只要三片磁片就可以起動。
Minix原始是設(shè)計給1980年代到1990年代的IBM PC和IBM PC/AT兼容計算機上運行,主要運作于16-bits的Intel 8080平臺,以軟盤起動。
MINIX 1.5
1.5版也有移植到已Motorola 68000系列CPU為基礎(chǔ)的計算機上(如Atari ST,Amiga,和早期的Apple Macintosh)和以SPARC為基礎(chǔ)的機器(如昇陽(Sun)公司的工作站)。
MINIX 2.0
1997年,隨著教科書改版,塔能鮑姆發(fā)布Minix 2,在這版中,它改成可以在Intel 80386等x86平臺上運作,從硬盤上引導(dǎo)。
MINIX 3
2004年,塔能鮑姆重新架構(gòu)與設(shè)計了整個系統(tǒng),更進(jìn)一步的將程序模塊化,推出Minix 3。
所有2015年之后發(fā)布的英特爾芯片都在內(nèi)部運行著MINIX 3,作為Intel管理引擎(Intel Management Engine)的組件。
技術(shù)內(nèi)容
全套Minix除了啟動的部分以匯編語言編寫以外,其他大部分都是純粹用C語言編寫。分為:核心、存儲器管理及文件系統(tǒng)三部分。
Minix在設(shè)計之初,為了使程序簡化,它將程序模塊化,如文件系統(tǒng)與存儲器管理,都不是在操作系統(tǒng)核心中運作,而是在用戶空間運作。至Minix 3時,連IO設(shè)備都被移到用戶空間運作。
另一個特點,則是Minix主要目的是用于教學(xué),因此代碼撰寫上極力重視簡潔與可讀性。
Minix與Linux
Linux是其作者受到Minix的影響而作成的(林納斯·托瓦茲不喜歡他的386計算機上的MS-DOS操作系統(tǒng),而安裝了Minix,并以它為樣本開發(fā)了原始的Linux核心)。但是這種影響更多在于非技術(shù)層面,確切地說是一種精神上的“鼓舞”。在設(shè)計上,Linux則和Minix相差很大,在Linux系統(tǒng)還沒有自己的原生文件系統(tǒng)之前,曾采用Minix的文件系統(tǒng)。Minix在核心設(shè)計上采用微核心,即將操作系統(tǒng)分成微核心和其上的提供文件系統(tǒng)、存儲器管理、驅(qū)動程序等服務(wù)的服務(wù)程序;而Linux則和原始的Unix都采用宏內(nèi)核。在Linux發(fā)展之初,雙方還于1992年在新聞組上有過一場精彩的爭論,被稱為塔能鮑姆-林納斯辯論。Minix的作者和支持者認(rèn)為使用宏內(nèi)核是技術(shù)上的退步,而Linux的支持者認(rèn)為Minix本身沒有實用性。
許可方式
在許可方式上,Minix的版權(quán)宣告在早期被認(rèn)為是相當(dāng)自由的:塔能鮑姆教授在希望拿Minix作為一個公開的教材與出版社希望保護(hù)代碼著作權(quán)的平衡下,它只要求一個相當(dāng)?shù)偷脑S可費。但因為它并不是一個開放源代碼的許可方案,所以志愿工作者在以GPL方式散布的Linux核心出現(xiàn)后就多轉(zhuǎn)向Linux平臺。而Unix也在BSD與AT&T達(dá)成協(xié)議后,出現(xiàn)了以BSD許可證許可散布的FreeBSD開放平臺。Minix雖然在2000年改用BSD許可協(xié)議,但這時其它的操作系統(tǒng)在功能上大幅超越了它,而它失去了發(fā)展成一個廣泛使用的操作系統(tǒng)的機會,只留下,如塔能鮑姆教授原來期望的,作為一個開放的教材的用途。直到Minix 3出現(xiàn)后,Minix才又改頭換面,現(xiàn)在它是一個朝向小型系統(tǒng)的可靠操作系統(tǒng)。