被蘋果“先捧後殺”的操作系統

被蘋果“先捧後殺”的操作系統

在計算機的發展過程中出現過許多不同的操作系統,比如DOS、Mac OS、Windows、Linux、Free BSD、Unix/Xenix、OS/2等等,其中90年代的很多操作系統至令仍風頭強勁。但是同時期蘋果公司力捧的Copland卻折戟沉沙,悄然泯滅。其背後究竟為何?本文一探究竟。

1.90年代的那些操作系統們

90年代左右的操作系統市場是極為熱鬧的。

彼時的OS/2 1.x是一個全新的,和傳統操作系統有很大不同的操作系統,它只保留了對DOS系統的有限的向下兼容性。

OS/2 2.x和後續版本則使用了多個DOS虛擬機來處理DOS仿真難題,因為它們通過80386的虛擬86模式,運行在帶有硬件輔助的DOS虛擬機的芯片上。

NeXTstep是個UNIX操作系統,它早於FreeBSD,但它們是基於同一“BSD Unix”代碼庫的。NeXTstep“僅僅”引進了一個新的顯示層,這個顯示層本身是基於已有的Adobe PostScript代碼,這在當時還是相對新的面向對象的開發技術。它是個了不起的進步,因為它是建立在已有代碼的基礎上,並不需要考慮向下兼容性。

BeOS則是一個從新打造的全新操作系統,它完全不需要考慮和其他任何操作系統的向下或橫向兼容性。

NT是基於OS/2 3.x開發的,這個計劃中的兼容不同CPU的便攜式操作系統版本,集成了DEC公司的VMS操作系統的許多設計思想,因為由於它的首席架構師Dave Cutler同時也是VMS的首席架構師。另外,NT操作系統的核心不兼容任何其他系統,這很難被理解。NT也沒有一個Win32兼容的內核。並且NT操作系統與其他任何系統都不兼容(包括VMS),它就是一個新事物。但是NT支持個性化,就像在內核之上運行了一個仿真層。當NT交付時,它包括了3種版本:OS/2版,POSIX版和Win32版——OS/2版現在已被廢棄了; POSIX版已經發展成Linux子系統;Win32版仍然存在,只不過現在支持64位。

關鍵是,以上這些操作系統都不是任何其它操作系統的增強版本,也沒有受限於對已有的驅動、擴展、應用程序或其他任何方面的兼容性。

當然的蘋果公司想要走得更遠,因此試圖開發另外一個新的操作系統(Copland)來替換它那基於68000處理器的單用戶單任務操作系統(後來變成了協作式多任務,也不是很好,68000處理器不像68030或者68040那樣有存儲器硬件保護機制)。

新的蘋果操作系統將引入這些新特性:搶佔式多任務、虛擬內存、存儲器保護、基於標準的網絡集成,等等。所有這些改變都將支持已有的應用程序,沒有計劃去重新設計或重寫這些應該已有的應用程序。

不支持已有應用程序,就等於新操作系統沒有市場,也意味著失敗。

2.蘋果的Copland最終失敗了

與任何其他公司相比,蘋果走的是一條更難的有爭議性的路,沒有什麼經驗可以借鑑,甚至當時連支持虛擬機的基礎硬件都沒有。

很遺憾這個操作系統(Copland)失敗了。其實蘋果公司已接近成功,它確實做出了一個可工作的原型。

被蘋果“先捧後殺”的操作系統

蘋果的Copland

人們常說,不是蘋果公司接管NeXT公司,也不是蘋果收購了NeXT公司。從很多重要方面來看,是NeXT公司接管了蘋果公司。大多數蘋果操作系統的開發人員和項目經理都離開了,NeXT公司的開發團隊取而代之。

NeXT管理層拋棄了Copland,基本上除了QuickTime之外的大多數蘋果自有的技術,如OpenDoc、OpenTransport、GameSprockets,都被拋棄。這是非常勇敢、徹底的行動。蘋果已有的MacOS經典的API被採用了,這些API並不是一開始就計劃和設計好的,在經過了近15年的演化,並且去除了那些不適合在一個整潔的、現代化的、具備內存管理能力的多任務操作系統上工作的所有部分,由此簡化而來的清潔版API被命名為“Carbon”。這些API提供給開發人員使用,如果他們希望他們的應用程序在新的蘋果操作系統上能運行,那就必須使用這些API。

或者,他們可以使用已有的、更乾淨的、和更豐富的NeXT API,現在它被命名為“Cocoa”。

NeXT開發團隊沒有真正嘗試與經典MacOS系統兼容。相反,他們只是計劃在虛擬機中運行所有經典的MacOS。在新的操作系統發佈後,計算機的硬件性能將足夠支持在基於Unix的NeXTstep系統(現在被重新命名為“MacOS X”)之上的窗口中運行一個完整的經典MacOS環境。如果你想讓你的應用程序運行在虛擬機之外,你必須在”Carbon”上重建你的應用程序。基於”Carbon”的應用程序既可以運行在經典Mac OS的後續版本上,也可以運行在OS X的後期版本上。

這與NT所做的類似:它在基於NT的“個性化”中提供了一個Win32 API的安全子集,也給基於Win16的應用提供了DOS虛擬機。

這是一次勇敢的行動,令人印象深刻的是它工作得很好。這是為了拯救蘋果公司和蘋果操作系統平臺的孤注一擲,當人被逼到牆角別無選擇時,更容易做出重大的、勇敢的決定……尤其是那些讓你陷入絕境的錯誤是別人造成的。

一大批老的Apple開發人員都厭惡地離開了,多年來他們所有的時間都放在Apple子系統和API的開發上,結果卻被丟進了垃圾堆。一些第三方開發人員也不太高興,但是至少現在有一個很好的前進方向。

3.蘋果公司還有其他選擇

事後看來,很明顯蘋果公司確實有其他選擇。它有一個好的、相對現代的操作系統,以它為基礎是可以向前推進的,這就是A/UX,它是蘋果公司開發的基於680x0的Unix系統,基本上是作為滿足美國軍事採購的一個備選方案業餘項目完成的。A/UX給人印象深刻的是它的推出時間——它在1988年推出,比Windows 3.0還早。它可以同時運行Unix應用程序和經典的MacOS應用程序,並在Unix上提供了一個友好的界面,而在80年代末和90年代初,Unix的界面非常醜陋。

然而A/UX從沒有被移植到新的PowerPC蘋果電腦上。

從另一方面來看,對NeXT公司的收購讓史蒂夫·喬布斯回到了蘋果。而NeXTstep操作系統也有著世界一流的開發工具,但是A/UX操作系統沒有,而吉爾·阿梅里奧時代蘋果公司的另一個外部可選項BeOS操作系統也不具備這一優勢。

被蘋果“先捧後殺”的操作系統

年輕的喬布斯

沒有喬布斯,就沒有下一代開發工具,也沒有今天的蘋果。

原文:https://liam-on-linux.livejournal.com/60604.html#/60604.html


分享到:


相關文章: