看今期的麥客情報(Macwired),內容有一格字講到Steve Jobs曾經在發展OSX時,想請Linus Torvalds加盟蘋果。可能你不知道誰是Linus Torvalds,但應聽過Linux系統,這個東西就是由這個芬蘭小子發展出來的。

Linus當時拒絕了這個Offer。

最近Linus Torvalds推出了自傳Just for fun,內容有一段講到OSX!

他的評價只有一個字:「爛」!

他 在書中講到他被Steve請到蘋果總部,商談加入Apple的陣營。可是他一口就向Steve說,OSX使用的微核心﹣即那來自BSD系統的Mach,是 一件不折不扣的廢物。問題極多。而OSX新加入的記憶體保護弁遄A應該一早加入去MacOS,現在為了令OSX兼容OS9的東西,Classic Envionment竟不能加入記憶體保護弁遄A又是另一令人不安的問題。這位朋友更指出蘋果以公開原始碼(Open Source)方式發表OSX的核心程式Darwin,根本就沒有用。

了解一下Linus Torvalds的歷史,你會發現他有以上言論,其實是極之正常的。

Linux系統是以Minix系統作為藍本,以接近Reverse Engineering的方式寫出來的。

就 是因為當年發展Minix的教授Andy Tanennbaum當時不肯公開其原始碼。而Minix當時是隨一本教授開發作業系統的書藉所附送的,很多人因此而可以使用。但可惜的是,Minix很 爛,又不公開原始碼,令人不能更改其弁遄C再加上使用條例使Minix不能公開給其他人使用,於是Linus Torvalds就想自已寫一個名為Linux的作業系統。本來想用Minix的原始碼改造成Linux,但Andy Tanennbaum不肯公開其原始碼,於是Linus Torvalds便自行開發一個新的。

後期,當Linux真的發展出來了之 後,Linus Torvalds在Minix的新聞組發表此消息。當更多人使用之後,在那個Minix新聞組中充滿了有關Linux的討論。Andy Tanennbaum覺得很不滿,於是在此新聞組發表了一篇名為LINUX is obsolete(LINUX是過時的。)的文章。Linus Torvalds和Andy Tanennbaum因此在網上引起了罵戰,這場罵戰在GNU的發展上,是一個重要的里程。

他提出的理由有兩個:Microkernel VS Monolithic System,Portability。而且他說,作業系統的最終勝利者都只會是微軟,而不是Linux或者Minix。

Linux一直是Monolithic System,不是如Minix般使用microkernal,甚至是Andy Tanennbaum的另一失敗作品Ameoba,都是使用微核心架構。而FreeBSD和OSX都是用Microkernal架構的。

Monolithic system的好處是Multitasking效能較好。但可惜的是,難於開發。

MicroKernal架構卻易於開發,易於改錯。但效能差。

Linus Torvalds一直都喜歡Monolithic system,故他認為MACH爛也是無可厚非的。

這場罵戰之後,Linux變成了如日方中的東西,Linux更加打破了Tanennbaum的說法,能夠成仙ortable到其他硬體架構,而非單一限死於X86架構。Minix最終都是要Open source,但都沒有人用。

但,Linux仍是Monolithic System。

今日講的東西太深,但作為趣聞看看也未嘗不可。

如果你對於當年的Linux is obsolete罵戰有興趣,這處有Archive。當年參加罵戰的那堆人仍是大學生,現在大半已經成為open Source界的出名人物。

14:01 - Saturday, Feb. 23, 2002