Linux大家如今可是耳熟能詳了吧?1991年開始芬蘭的大學生Linus Torvalds在一款叫做Minix的教學型操作系統的啟發下,寫出了一個類似的操作系統內核,Linus當時就給這個內核起了一個名字叫Linux。當時正值Internet的萌芽時期,Email等系統使許多學院的程序愛好者相互之間的交流變得快捷方便起來,有了網絡這樣的一個交流平台,Linus靈機一動,把自己寫出來的Linux內核的源代碼向網上的程序愛好者公開了,並倡導大家一起來改進Linux內核,16年來Linux內核一直被一群熱情的愛好者默默地改進著,於是有了如今枝繁葉茂的Linux世界,也成就了象Redhat,SuSe,Ubuntu,紅旗,中標軟等等著名的商業Linux公司。
世上本來就沒有無源頭的水,那麼Linux的源頭到底在哪裡呢?是Linus Torvalds憑空想象,主觀臆造出來的呢?還是另有所啟發呢?筆者經過仔細研究並參考了業內專家的觀點,發現原來Linus是在當時的Minix操作系統的基礎上,經過修改寫出了一個類似於Minix的操作系統內核。
Minix 1.0操作系統是在1987年出現的,它是世界上第一款克隆的Unix,而且全部源代碼都是對外界公開的。Minix操作系統的作者Andrew S. Tanenbaum是荷蘭人,1944年出生在美國紐約市,他現在是荷蘭阿姆斯特丹Vrije大學的計算機科學系的教授。Tanenbaum因寫出了Minix操作系統而著名,Minix 1.0剛推出的3個月時間裡,就有4萬多人的訂閱了Minix 1.0操作系統軟件,Minix的迅速發展,很快在internet上便有了專門的的新聞組comp.os.minix,當時的internet還只是使用在大學和一些研究機構之間,遠遠沒有現在這樣普及。
在早期采用Minix軟件來運行PC的那批人中,就有芬蘭大學生Linus Torvalds,Linus非常仔細地研究了Minix的源代碼,完全吃透了其中的奧秘,在Minix成功的鼓舞下,Linus決定寫自己的操作系統,據說Linus沒有剽竊Minix中的任何代碼,Linux內核是Linus在Minix的啟發下,重新寫出的內核程序代碼。沒有Tanenbaum寫出Minix也就不會有Linus寫出Linux,所以筆者認為Minix的作者Andrew S. Tanenbaum也差不多能算是Linux的祖師爺了吧?
在Linux順利發展到今天這種規模的歷程中,Minix一直是默默地在學校的操作系統教學課程中,Tanenbaum把教學研究Minix當成了自己最重要的工作,一直堅持到現在。1992年和2006年,Tanenbaum和Linus關於操作系統內核的設計思想有過兩次公開的探討(Linux的Monolithic內核設計與Minix的Microkernel內核設計思想)。Windows用戶都知道Windows 3.1和WindowsXP之間的重大區別,那麼在Minix世界裡,Minix 1.0、Minix 2.0和Minix 3之間的也有著同樣重要的區別。
2005年Tanenbaum組織了一個精華的開發團隊,對Minix進行了一次重要的設計層改進:把內核層源代碼精簡到了4000行(3000行C代碼和800多行匯編代碼),將往往造成85%以上系統崩潰問題的大量的驅動程序代碼徹底“移出”了Minix3的內核層,需要占用Linux操作系統代碼70%以上的驅動程序代碼,在Minix3中則不具備內核層的執行特權,只能在用戶層執行;而內核層被穩定地保護起來,僅運行“中斷處理、MMU、時間分配、進程間通信”等任務,Minix3的這種有效隔離錯誤或Bug代碼,保護特權級內核層的穩定性的設計思想,是當今的操作系統軟件界重大事件,這種有利於穩定性的改變,將推動計算機操作系統的運行最終實現電視機那樣可靠穩定性。相關的論文已經出現,參考構建超級穩定可靠安全的OS內核等文檔。
2005年Minix3操作系統一經推出就引起了巨大的反響,軟件發布站點收到了30萬獨立IP的訪問,Minix3的全部源代碼按照BSD許可協議免費為所有用戶開放,ISO文件已經被下載了7萬5千多份,目前www.minix3.org站點每天有1000以上的訪問者,Minix3已經完全開放地來到了你的身邊,想成為Linus那樣的人嗎?也許這又是一個不錯的機會哦。(T002)
來源:賽迪網技術社區