作者 | Jeremy Reimer
譯者 | 蘇本如
責編 | 屠敏
來源 | CSDN( ID:CSDNnews)
提及桌面作業系統,想必眾人熟知如今佔據全球市場第一的 Windows、以及蘋果的 OS X、開源的 Linux 等,誰還能記得由藍色巨頭 IBM 和微軟曾經耗費很大精力開發的 OS/2 作業系統。
OS/2 是第一個執行於 X86 體系的 PC 之上的 32 位作業系統 ,對此,有網友評價道,在 Windows 3.x 開 始 為 世 人 接 受 之 初, 個 人 電 腦 的 操 作 系 統 中 唯 一 可 以 與 Windows 操 作 系 統 分 庭 抗 禮 的 就 是 OS/2。
那麼,OS/2 為何會在作業系統的長河中,被逐漸淹沒,接下來,在本文中,我們將與大家一起從檔案中尋找 IBM 放棄生產消費型桌面作業系統的深層原因。
以下為譯文:
1980年下半年,西雅圖的一個陰雲密佈的上午,一家名為微軟(Microsoft)的小公司的年輕董事長比爾·蓋茨(Bill Gates)與藍色巨人IBM安排了一場會面,這場會面將決定未來幾十年消費計算機行業的命運。
比爾·蓋茨走進一個房間,裡面坐滿了IBM的律師們,他們都穿著剪裁完美的西裝。而蓋茨的西裝皺巴巴的,很不合身。但沒關係,他來這裡不是為了贏一場時裝比賽。
在這一日,他們簽署了一份合同,IBM將一次性以約8萬美元的價格為即將生產的PC購買微軟MS-DOS作業系統的永久使用權。同時IBM還有權使用微軟的BASIC 程式語言、該公司的所有其它程式語言以及它開發的一些新的應用程式。對蓋茨來說,精明的做法應該是堅持要一份提成,這樣他的公司就可以從IBM銷售的每臺個人電腦賺取一點利潤。
但蓋茨的做法何止精明,他太聰明瞭。
作為對其放棄MS-DOS(現在應該稱為IBM PC-DOS)永久使用權的交換,蓋茨堅持保留將MS-DOS出售給其他公司的權利。律師們互相看了看,笑了。其他公司?他們會是誰呢?IBM是唯一一家生產個人電腦的公司,而且當時的個人電腦要麼帶有自己的內建作業系統,要麼是使用數字研究公司(Digital Research)授權的CP/M作業系統,後者已經成為了當時確立的標準。
不過,蓋茨那時沒有想得那麼遠。在1996年PBS紀錄片《書呆子的勝利》的採訪中,蓋茨解釋說:“計算機工業在大型機上得到的教訓是,隨著時間的推移,人們製造出了相容的機器”。作為大型計算機的領先製造商,IBM經歷了這一現象,但是該公司始終能夠保持領先地位,通過釋出新的機器,並依靠其營銷和銷售隊伍的力量,將那些克隆者變成競爭的失敗者。
然而,個人計算機市場的運作方式卻有點不同。與大型計算機競爭對手相比,個人計算機的克隆者是一些規模更小、速度更快、更渴望成功的公司。他們不需要太多的啟動資金來開始製造自己的機器,特別是在Phoenix和其他公司對IBM PC體系結構中唯一的專有晶片 - BIOS(基本輸入/輸出系統)進行了合法的、乾淨的、逆向工程的實現之後。要製造一個PC克隆機,你所需要做的就是把一個Phoenix BIOS晶片放入你自己設計的主機板中,然後設計和製造一個機箱,購買一個電源、鍵盤和軟盤驅動器,並獲得一個作業系統的授權就足夠了。而比爾·蓋茨已經準備好並願意授權你使用微軟的作業系統。
IBM繼續努力,試圖生產出一種新型計算機,以保持它對克隆機型的領先地位,但留給PC/AT機型的好時光已經不多了。英特爾公司向那些計算機克隆公司兜售其80286晶片的生意正在做得風生水起,而買家們也對能以遠低於IBM正牌機器的價格搶購到100%相容AT機型的克隆機器感到興奮不已。
英特爾和微軟的生意正在越做越大,但IBM在個人計算機市場的份額卻在逐年縮小。到了必須要做點什麼的時候了。戰爭的火種已經播下,藍色巨人必須打一場史詩般的戰鬥,從這些小暴發戶手中重新奪回對計算領域的控制權。
一、OS/2的曙光
IBM最初和微軟合作只是為了一個作業系統,因為時間緊迫。到1980年,個人電腦產業開始騰飛,給全球商業領域帶來了一場小小的革命。大多數大型公司都已經有了IBM大型機,或者可以訪問它。但這些又慢又笨重的機器,都由像祭司一樣的技術管理人員看守著,不能供個人使用。那些個人電腦的狂熱愛好者們會偷偷地把像TRS-80、Osborne和 Apple II這樣的個人電腦帶入工作區域,幫助他們超越其他同事。IBM前執行官傑克•薩姆斯(Jack Sams)在接受採訪時說:“人們擔心的是,我們正在失去人心。所以,訂單就從上層空降下來:給我們一臺機器,讓我們重新贏得民心。”但IBM董事長擔心,由於公司龐大的官僚作風,任何內部PC專案的生產都需要數年時間,到那時,個人電腦行業可能已經完全被非IBM機器所取代。
因此,在遠離IBM總部的佛羅里達州博卡拉頓(Boca Raton),一個不安分的團隊被允許使用一種激進的策略來設計和生產一臺主要使用現成部件和第三方CPU、作業系統和程式語言的機器。最後兩項他們找上了微軟,但微軟沒有權利向他們出售作業系統,而是將該團隊介紹給了數字研究公司(Digital Research),後者正在準備一個16位版本的CP/M作業系統,該系統將執行在IBM準備把它用在它的新PC上的8088 CPU上。就在這個後來成為傳奇的故事中,數字研究公司的律師拒絕簽署一份保密協議,然後數字研究公司就把IBM的人送走了。因為擔心整個交易會分崩離析,微軟作了一個瘋狂的舉措,他們從西雅圖電腦產品公司(Seattle Computer Products)手中購買了蒂姆•帕特森(Tim Patterson)的QDOS(快速而骯髒的作業系統)的版權。微軟為IBM“清理”了QDOS,去掉了這個不好聽的名字,並允許IBM PC按計劃推出。每個人都很開心,除了數字研究公司的創始人Gary Kildall外。
但那些都已經成為昔日黃花。到了1984年,IBM遇到了另一個問題:DOS仍然是一個快速而骯髒的黑客。唯一真正的新功能是目錄支援,以便在IBM PC/AT的新硬碟上更好地組織檔案。而且由於IBM和微軟在1980年簽署的協議,克隆機器可以得到完全相同的DOS副本並執行完全相同的軟體。IBM需要設計一個全新的作業系統,使公司區別於克隆產品。為此,一個委員會成立並召開了 會議,新的作業系統被命名為:OS/2。
在作業系統借鑑了巨型貓的名字和以狗為名的加州小鎮的傳統,而為自己取了一些令人興奮的名字之前,它們的名字大多相當無聊。比如,IBM設計了一款全新的大型機,併釋出一個同名的作業系統。因此,新的System/360主機系列將執行全新的OS/360。它整潔,就像IBM的西裝和夾克(無聊)。
IBM希望製造出一種新的PC機,這種PC機不能像第一次嘗試那樣容易克隆,而且公司還希望以營銷的方式將其與大型機捆綁在一起。因此,你將擁有一個個人系統(Personal System),而不是個人計算機或PC,因為它是PC的繼承者,所以它將被稱為PS/2。而新的高階作業系統就被稱為OS/2。
二、“騎熊”
然而,命名一個作業系統要比編寫一個作業系統簡單得多,IBM管理層仍然擔心編寫這樣的作業系統本身所需的時間太長。因此,小組決定IBM將負責設計OS/2,而微軟將編寫大部分實際程式碼。與上一次不同的是,IBM將完全擁有該產品的權利,只有IBM可以將其授權給第三方。
為什麼微軟管理層會同意開發這樣的一個專案,旨在消滅讓他們成為億萬富翁的搖錢樹呢?史蒂夫·鮑爾默這樣解釋道:
這就是我們當時所說的“騎熊”,你只需要試著待在熊背上,熊就會扭來扭去想甩掉你,但我們想待在熊身上,因為熊是最大的,最重要的……你必須和熊在一起,否則你就會被壓在熊下面。”
當時,IBM就是一隻有點憤怒的熊,因為克隆行業的小雪貂們繼續偷吃著它的午餐,甚至在OS/2被寫出來之前,許多業界人士就開始非常,非常,認真地對待它。然而,人們都不知道的是,後續發生的所有事情,共同導致了OS/2的巨大失敗。
作者注:
本文引用了1996年PBS紀錄片《書呆子的勝利》的大量資料。這部紀錄片在亞馬遜上有售,作者在研究期間多次觀看。
三、腦殘晶片
1984年,IBM釋出了PC/AT機型,它搭載了英特爾的80286中央處理器。然而,就在第二年,英特爾釋出了一款新的晶片80386,這款晶片幾乎在各個方面都超過了80286。
80286是一個16位的CPU,可以通過24位的地址匯流排定址16兆位元組的隨機存取儲存器(RAM)。它的記憶體定址方式和比它更老更慢的同類晶片8086略有不同,80286是第一個內建記憶體管理工具的英特爾晶片。要使用這些工具,你必須進入英特爾所謂的“保護模式(Protected Mode)”,在這種模式下,80286開啟所有24位的記憶體匯流排,全速執行。如果它沒有進入保護模式,它就處於“真實”模式(Real Mode),在這種模式下,它就像一個速度更快的8086晶片,僅能定址1兆位元組的記憶體(640KB的記憶體限制是IBM隨意決定的,它允許原始PC使用額外的記憶體空間進行圖形和其他操作)。
80286的“保護模式”的問題是,當你進入了“保護模式”後,如果不重新啟動,你就無法回“真真實模式”。不在真正模式下執行MS-DOS程式是非常困難的,因為MS-DOS程式希望在任何時候都能完全訪問和控制計算機。比爾·蓋茨對80286晶片瞭如指掌,並稱之為“腦殘晶片”,但對英特爾來說,它是一個承前啟後的CPU,引領了其後續CPU的許多設計決策的方向。
80386是英特爾第一款真正現代化的CPU。它不僅可以在32位保護模式下訪問驚人的4GB記憶體,還新增了一個可以同時執行的“虛擬8086”模式,允許許多MS-DOS應用程式的完整例項同時執行,而不會相互干擾。今天,我們認為虛擬化是理所當然的,並且很高興在一臺機器上同時執行所有的作業系統,但是在1985年,這個概念似乎來自未來。而對於IBM來說,未來很可怕。
80386在推出時是一款昂貴的晶片,但IBM在PC/AT方面的經驗告訴該公司,隨著時間的推移,價格顯然會下降。一臺擁有80386晶片和386優化作業系統的個人電腦,在一個巨大的記憶體空間中執行多個虛擬化應用程式……這聽起來非常像一臺主機,只不過是以PC克隆機的價格。那麼OS/2應該為80386量身定製嗎?IBM的大型機部門像發了飈似地嚴厲譴責了這一想法。為什麼要設計一個可能導致大型機過時的系統呢?
所以OS/2必須要在80286上執行,如果DOS程式可以執行的話,就必須在一個“相容性框”中一次執行一個。從IBM的角度來看,這並不是一件壞事,因為它會迫使人們轉向執行更快的OS/2本機應用程式。於是,決定就這樣做了,而微軟和比爾·蓋茨就不得不接受它。
四、圖形使用者介面(GUI)的煩惱
1985年發生了另一個問題,一個IBM和微軟都痛苦地意識到了的問題。1984的年Macintosh作業系統和1985年的Amiga和Atari作業系統的推出表明,價格合理的個人電腦現在有望內建圖形使用者介面(GUI)。微軟在同一年匆忙釋出了功能弱得可笑的Windows 1.0,這樣它就可以在圖形使用者介面遊戲中佔有一席之地。IBM也必須這樣做,否則就會落伍。
問題是圖形使用者介面的開發需要一段時間,而且它們佔用的資源比非GUI對應的要多。在這個世界上,大多數80286克隆機只有1MB的記憶體標準配置,這將是一個問題。一些圖形使用者介面,比如執行在高階Amiga作業系統上的工作臺,可以壓縮使用的記憶體數量,但是Amiga作業系統是由一群瘋狂的天才設計的。而OS/2則是由一個龐大的IBM委員會設計的。最終的結果永遠不會是美好的。
五、記憶體危機對OS/2的重創
OS/2被拖延症和官僚主義的內訌所困擾。IBM有關保密的規定意味著,微軟的一些員工,如果在沒有法律翻譯陪同的話,他們就無法與其他微軟員工交談。IBM還堅稱,微軟將按照公司的標準外包費率(“kLOC”或每千行程式碼)獲得報酬。正如許多程式設計師所知,假定兩個可以完成相同功能的程式,程式碼行數較少的程式通常更為優越,因為它將可能使用更少的CPU,佔用更少的記憶體,並且更易於除錯和維護。但IBM堅持使用kLOC這個計費標準。
所有這些問題意味著,當OS/2 1.0版於1987年12月釋出時,它並不是現售PC中的最精簡的作業系統。更糟糕的是,圖形使用者介面還沒有準備好。所以在這個有著蘋果Mac、Amiga,甚至微軟Windows的世界裡,OS/2帶著一身黑白、80列、單行距的文字“自豪”地出現了。
與DOS相比,OS/2確實有一些優勢,它本來就是要取代DOS的。它可以同時多工處理自己的應用程式,而且由於80286的記憶體管理功能,每個應用程式都得到少量的保護,使其免受其他應用程式的影響。但OS/2應用程式在釋出之初就顯得相當薄弱,因為儘管對作業系統進行了大量的宣傳,但從市場份額來看,它仍然是從零開始的。但是如果不是記憶體危機的話,即使這樣的情況也有可能被克服。
記憶體(RAM)的價格多年來一直呈下降趨勢,從1985年的880美元/MB降至1987年的133美元/MB的低點。這一趨勢在1988年突然急劇逆轉,當時對記憶體的需求和製造更大記憶體晶片的生產困難導致市場突然出現缺口。隨著需求的增加和供應的減少,記憶體的價格飆升至500美元/MB以上,並持續了兩年。
克隆計算機的購買者們有一個選擇:他們可以堅持使用標準的1MB記憶體,並且非常高興地執行DOS程式,甚至可能是Windows應用程式(Windows 2.0在1987年12月推出,雖然它不太好,但至少價格合理,而且它幾乎無法使用那麼多記憶體)。或者他們可以花325美元從IBM購買一份OS/2 1.0標準版,然後再額外支付1,000美元,將記憶體增加到3MB,這樣大的記憶體對於舒適地執行OS/2及其應用程式是必要的。
不用說,OS/2不會成為一個市場上瞬間的大熱門。
但是等等。OS/2作業系統不是IBM銷售其令人眼前一亮的新PS/2計算機的一大優勢嗎?IBM為什麼要把它賣給克隆電腦的擁有者呢?為了執行OS/2,難道不需要擁有一個PS/2嗎?
這種混亂不是偶然的。IBM正是希望人們這樣想。
六、IBM的克隆機大戰
IBM花費了大量的時間和金錢開發了PS/2系列計算機,該系列計算機於1987年釋出,略早於OS/2的首次面世。IBM拋棄了舊的16位工業標準體系結構(ISA),儘管它已經成為所有克隆計算機的標準,取而代之的是其專有的微通道體系結構(MCA),這是一種理論上速度更快的32位匯流排。為了阻止克隆機生產商的發展,IBM向MCA注入了最先進的法律技術,以至於MCA擴充套件卡的第三方生產商實際上不得不為每一張售出的卡向IBM支付版稅。事實上,IBM甚至試圖收回他們過去購買ISA卡時未繳的版稅。
PS/2也是最早轉換到3.5英寸軟盤驅動器的PC機,他們還開創了鍵盤和滑鼠的小圓介面,這些介面至今仍保留在一些主機板上。它們的包裝很吸引人,低端產品的價格也相當合理,但效能卻不盡如人意。PS/2系列開始於型號25和 30,它們沒有微通道,只有一個低端的8086 CPU以保守的慢時鐘速度執行。釋出它們的目的是將買家的興趣吸引到型號50和60,這兩種型號搭配了80286晶片,並且有MCA插槽,而高階型號70和80搭配了一個80386晶片,當然也有一個令人瞠目結舌的高價格標籤與之相配。當OS/2釋出後,你就可以訂購安裝有OS/2的型號50以及更高版本的產品。你也不必只是訂購“標準版”。因為IBM還提供了OS/2的“擴充套件版”,它配備了通訊套件、網路工具和SQL管理器。擴充套件版只能在真正的藍色IBM PS/2計算機上執行,而“克隆人”則不允許參加這個化裝舞會。
推出這些機型的本意是要將個人電腦行業的控制權從克隆電腦製造商手中奪回來,但它們也意味著巧妙地將人們推回到那個“個人電腦是僕從、大型機是主人”的世界。這些機型從來沒有被允許執行得太快或執行一個合適的,可以利用80386晶片提供的32位計算能力的作業系統。他們試圖同時做兩件相互矛盾的事,所以最終都失敗了。
計算機克隆行業決定不去費心與IBM龐大的法律部門糾纏,他們只是嘗試從表面上克隆PS/2機型。當然這樣做的話,他們不可能有閃亮的新MCA擴充套件槽,但由於MCA卡非常稀有而昂貴,而且無論如何它的效能都有侷限,所以堅持使用ISA槽並不是那麼糟糕。Compaq公司甚至召集了一個PC克隆機供應商聯盟來建立一個新的標準匯流排,稱為EISA,在其他標準面世之前,這個標準填補了高階市場的空白。而作為PS/2王冠上的寶石 - OS/2作業系統卻姍姍來遲。最初它還沒有圖形介面,當OS/2 1.1版在1988年釋出時,圖形介面才終於來臨,然而它對記憶體的大量需求,導致它對大多數使用者而言,經濟上並不可行。
隨著市場的變化,克隆機制造商開始銷售越來越多的搭載快速又便宜的80386晶片和ISA插槽的機型,這時候,比爾·蓋茨休了次假, 也就是後來聞名遐邇的“讀書周”假期之一,在這次假期中,他萌生了一個想法,OS/2的前景可能非常不妙。也許這隻IBM巨熊正準備直接從懸崖上衝下來。但無論如何,一個騎熊的人如何才能安全脫身呢?答案是“非常,非常小心”。
七、微軟與IBM的分道揚鑣
那是1989年末,微軟正在努力工作,最終敲定了它所知道的迄今為止最好的Windows版本。Windows 3.0版將通過一個令人興奮的新的3D斜面設計(它最初出現在OS/2版本1.2上)和閃亮的新圖示在圖形使用者介面上投下了重注。Windows 3.0還將支援80386上的虛擬8086模式,使人們更容易在Windows上花費更多的時間,而無須花時間用回DOS。這將是一個令人興奮的產品,微軟這樣告訴IBM。
IBM仍將微軟視為作業系統業務的合作伙伴,並表示願意通過全面推廣Windows 3.0來幫助這家較小的公司。但作為交換條件,IBM希望買下該軟體本身的版權,並且取消允許微軟向第三方授權的DOS協議。比爾蓋茲看了這一點,仔細考慮了一下,決定放棄這筆交易。
IBM認為這是一種背叛,並散發內部備忘錄,稱公司將不再為Windows編寫任何第三方應用程式。雙方的分離即將變得非常令人不快。
不幸的是,微軟仍然有開發OS/2的合同義務。IBM一氣之下決定不再需要這家軟體公司的幫助。考慮到作業系統的名字,兩家公司決定將OS/2一分為二。當時,這兩家公司的分道揚鑣被比作離婚。
IBM將接管OS/2版本1.x的開發,包括即將釋出的1.3版本,該版本旨在降低對記憶體的需求。它還將接管在OS/2版本2.0上已經完成的工作,這是期待已久的32位重寫。此時,IBM終於向不可避免的趨勢低頭,承認它的旗艦作業系統確實需要脫離80286晶片。
微軟將保留其現有的Windows系統的權力,不再支援IBM的市場需求,微軟還將接管開發OS/2 版本3的權力。這個系統在內部被稱為OS/2 NT,是對作業系統的一種“空中樓閣式”的重寫,它將包含一些未指明的“新技術”,並且是真正的先進和獨立於平臺的。考慮到OS/2也會蠶食大型機市場,IBM似乎很樂意擺脫這一高階版本,事實上IBM有自己的高階版本計劃。
OS/2 1.3於1991年釋出,並取得了一定的成功,部分原因是因為記憶體價格的最終下降,而新版本對記憶體的需求並不大。然而,此時Windows 3.0已經像坐上了火箭一樣,快速起飛了。它表面上看起來很像OS/2,但成本更低,佔用的資源更少,而且沒有以一種可笑的似是而非的方式預裝進PS/2系列計算機中。微軟還積極地以極具吸引力的捆綁交易來吸引克隆計算機生產商,將Windows 3.0應用到大多數新銷售的電腦上。
IBM再次失去了對個人計算機行業的控制。市場並沒有遠離克隆機器,真正的DOS繼承者是Windows,而不是OS/2。如果說熊(注:指IBM)以前只是生氣,現在它是憤怒了。它將在自己的地盤上與微軟抗爭,希望永遠摧毀這個Windows新貴。這將是一場史詩般的戰鬥。
八、製造怪獸
實際上,IBM與微軟合作開發OS/2版本2.0已經有很長一段時間了, 1990年兩家公司分拆時,很多程式碼已經編寫完成。這使得IBM能夠在1992年4月釋出了OS/2 2.0版本,而在此一個月前,微軟釋出了Windows 3.1。遊戲開始了。
OS/2 2.0版是一個32位作業系統,但它仍然包含它的前期版本1.x中的大部分16位程式碼。和許多裝置驅動程式和執行圖形使用者介面的圖形引擎(Graphics Engine)一樣,高效能檔案系統(HPFS)仍然是一個16位的子系統。不過,核心和記憶體管理器都已經改用32位的程式碼重新實現了。
IBM還進行了一次大型的採購考察,尋找任何可能有助於使OS/2更華麗、更閃亮的新技術。它與蘋果公司達成合作協議,開發下一代作業系統技術,並從史蒂夫•賈伯斯(Steve Jobs)手中獲得了NeXTStep的許可權。雖然這兩個平臺的技術並沒有直接融合進OS/2中,但Amiga作業系統的一部分程式碼確實進入OS/2了:IBM向Commodore公司授予了REXX指令碼語言的許可證,以交換一些Amiga技術和圖形使用者介面的思想,並將它們包含在OS/2 2.0版中。
當時,最熱門的行業流行語是“物件導向”,雖然物件導向程式設計已經存在多年,但它剛剛開始在個人電腦上獲得吸引力。IBM本身就是物件導向技術的老手,在20世紀80年代就使用物件導向的Smalltalk語言開發出了V isual Age軟體,因此IBM希望將OS/2吹噓為比其他任何作業系統都更物件導向,這是有理由的。但是這項任務的棘手部分是,物件導向主要是一個內部技術問題,即如何構造程式程式碼,而終端使用者是無法看到的。
IBM決定讓OS/2 2.0版的使用者介面以一種“物件導向”的方式執行,這個專案最終被稱為Workplace Shell,它也成為OS/2的粉絲們既崇拜又鄙視的頭號功能。
九、沒有給Shell記憶體空間的Workplace
作為OS/2的預設桌面,2.0版本看起來相當簡單,圖示也不是特別醒目,因此它並不能立即顯示Workplace Shell的新特性和不同之處。但是,當你開始使用它時,你會發現它與其他的圖形使用者介面非常不同。右擊任何圖示都會彈出一個上下文選單,這是以前從未見過的。圖示在這裡被看作“物件”,你可以對它們做一些像物件一樣模糊的操作。比如說:將一個圖示拖到印表機圖示上即可開始列印。而把把一個圖示拖到碎紙機圖示上,它就被刪除了(是的,永久刪除!)。有一個奇怪的圖示叫做“模板”,你可以開啟,然後“拖出”空白頁,如果你點選這些空白頁,就會開啟各種各樣的應用程式 – Apple L isa (注:蘋果公司釋出的世界首臺圖形介面計算機)在1983年做了類似的事情。對於OS/2來說,這樣的物件導向足夠了嗎?不,還不夠。
有很多不同的東西可以拖動到每個資料夾視窗,資料夾會有不同的反應。如果從調色盤中將一種顏色拖入一個資料夾,那麼該資料夾的背景色就變成這種顏色。你也可以對桌布做同樣的事情。字型也是一樣。事實上,你可以對所有資料夾做這三件事,並,然後以一個可怕的組合,迅速改變任何一個資料夾,使得每個資料夾都可以用這種方式獲得不同的樣式。
實際的情形可能大部分是這樣的:你無意中這樣做了,然後不知道如何修復,或者給朋友演示了一次,然後再也沒法改回來。這些功能雖然很酷炫,但是佔用了大量記憶體,而1992年的計算機通常仍有2MB或4 MB的記憶體。
OS/2 2.0版本對記憶體的最低要求,如包裝盒子上所示(它是一個很重的盒子,帶有不少於21張3.5英寸的軟盤!),是4MB。我曾經目睹過我的本地Egghead經銷商試圖在一個有這麼多記憶體的系統上啟動OS/2。啟動過程很不順利。作業系統甚至在啟動完成之前就開始發出寫磁碟的嘈雜聲以交換記憶體。然後它嘗試繼續啟動,再交換記憶體,再繼續啟動,再交換記憶體,如此反覆多次,可能要花10分鐘才能進入功能桌面。想象一下如果你右鍵單擊一個圖示會發生什麼?記憶體交換。基本上,OS/2 2.0版本在這個數量的記憶體中無法正常使用。
在記憶體8MB時,系統可以會如廣告承諾般地執行,而在16MB時,系統將執行得很順暢,而不會過度讀寫磁碟。幸運的是,到目前為止,記憶體已經降到了每MB 30美元左右,所以記憶體升級並不像OS/2 版本1.x時代那麼重大。儘管如此,這仍然是一個採用的障礙,特別是當Windows 3.1在2MB中都可以執行得很順暢的時候。
但Windows 3.1也是易於崩潰的,這個協作多工作業系統有一個奇怪的、風格不一致的使用者介面,只有比爾·蓋茨才會喜歡這樣的使用者介面。OS/2渴望做得更好。在很多方面,它確實做到了。
十、比DOS更好的DOS,比Windows更好的Windows
儘管最初的個人電腦取得了成功,但IBM從未真正成為一家消費性計算機公司,也從未真正理解個人使用者市場營銷的意義。例如,PS/2的推出,伴隨著一場廣告攻勢,而這場廣告攻勢的主角是上世紀70年代電視連續劇《陸軍野戰醫院》的陣容老化且有些迷茫的演員們。
這種牛頭不對馬嘴的營銷方式繼續用在了OS/2上。OS/2究竟是什麼?它是如何讓你的電腦變得更好的?它是否足以證明在作業系統和記憶體上的額外開銷能夠幫助你的電腦更好地執行?出色的多工處理能力是一個答案,但這些好處很難通過觀看一個男人打斯諾克的長而無聊的鏡頭來理解。它的廣告投放的選擇也有些奇怪。多年來,IBM一直花錢贊助嘉年華草地滾球比賽,並將OS/2每年的大部分廣告預算都花在這一個場地上。大學生球迷真的是多工作業系統的最佳受眾嗎?
最終,IBM為OS/2 2.0版定下了一條宣傳標語:“比DOS更好的DOS,比Windows更好的Windows”。這個口號的第一點絕對正確的,第二點也可以說是正確的。但正是這個標語導致了這個作業系統的最終失敗。
OS/2擁有當時最好的DOS虛擬機器。它可以讓你在後臺執行多工時,很容易地在全臺全屏執行DOS遊戲,許多遊戲(如銀河飛將Wing Commander)甚至可以在一個320 x 200的視窗中執行。你還可以在DOS虛擬機器裡執行一個完整的Windows作業系統,而且由於IBM與微軟的分離協議,OS/2的每一個拷貝都附帶了IBM稱為“Win-OS2”的東西,它本質上是一個免費的Windows作業系統的拷貝,可以全屏執行,也可以在視窗內執行。如果你有足夠的記憶體,你可以在每一個完全獨立的DOS虛擬機器上執行一個Windows應用程式的副本,這樣一個Windows應用程式崩潰不會影響到任何其他Windows副本的執行。
這是一個非常酷炫的特性,但是這個特性使得圖形使用者介面(GUI)的應用程式開發人員可以很簡單地做出支援哪個作業系統的決定。既然OS/2(在開箱即用的情況下)可以很好地執行Windows應用程式,那麼開發人員只需編寫一個Windows應用程式,兩個平臺都可以執行這個應用程式了。而另一方面,對於Windows開發人員來說,編寫一個本地OS/2應用程式是一項繁重的工作。兩個平臺的底層應用程式程式設計介面(API)有很大的不同:Windows使用了一組簡單的API,稱為Win16;而OS/2使用了一個更為擴充套件的集,並取了個笨拙的名字為Presentation Manager。這兩種API在很多方面都大不相同,甚至在計算視窗的定位畫素是從螢幕頂部還是從底部開始計算都不一樣。
一些公司最終使用Presentation Manager製作了本機執行的OS/2應用程式,但這樣的公司數量極少。IBM當然是其中之一,Lotus也加入其中。Lotus仍對微軟過去針對該公司的嘗試感到憤怒。不過,真正讓Lotus(以及Corel等其他公司)對微軟感到憤怒的是Windows的突然成功,以及執行在Windows上的微軟應用程式(Word、Excel和PowerPoint)的銷量猛增。在DOS時代,微軟為個人電腦開發了作業系統,同時也開發了針對個人電腦的應用程式。隨著Windows開始流行,微軟也開始將應用程式開發人員推到了自己這邊。為OS/2編寫應用程式是對微軟的一種反擊。
對於那些不想與微軟爭奪應用程式市場份額的初創公司來說,這也是一個機會。其中一家公司名為DeScribe,它為OS/2做了一個非常好的文書處理器(我曾經用自己的錢以學生的價格購買了這個軟體)。對於一個有抱負的寫作者來說,DeScribe提供了一個支援長檔名的乾淨書寫板。而Windows下的Word應用程式,和Windows本身一樣,檔名仍然限於8個字元。
不幸的是,像Lotus和Corel這樣的老牌巨頭最終在應用程式方面比像DeScribe這樣的小公司做得差得多。OS/2版本的Lotus 1-2-3和Coral Draw速度很慢,消耗記憶體多,並且有很多缺陷。這給OS/2本機應用程式市場帶來了更大的衝擊。當Windows版本可以執行得更快更好,並且可以在Win-OS2中無縫執行時,為什麼要購買OS/2本機應用?
隨著本地應用程式方面的情況變得更加越來越絕望,IBM甚至開始付費讓開發人員編寫OS/2應用程式。Borland公司是這項工作中最有名的一個,正如你可以想到的那樣:Borland公司沒有動力使得它的應用程式足夠快速或無bug,它能做到的只是儘快釋出它們。結果可想而知,他們在市場上幾乎沒有掀起什麼風浪。
儘管如此,OS/2作業系統本身的銷量相當不錯,達到了100萬臺的總量,並創下了許多軟體暢銷排行榜,雖然OS/2原生應用情況看上去讓人絕望。許多使用者對作業系統如何改變你使用電腦的方式產生了宗教式的狂熱。與Windows 3.1相比,OS/2確實是一個改觀。但另一個陰影已經潛伏在地平線上。
十一、比預期更早到達“芝加哥”
面對熊的襲擊,大多數人都會選擇逃跑。微軟對IBM挑戰的反應也是如此:逃跑,建造一座堡壘,再建造一座更大的堡壘,再建造一座配備自動武器和鐳射炮的巨型金屬堡壘。
1993年,微軟釋出了Windows for Workgroups 3.11,它捆綁了對小型企業網路的支援和一些小的修正和改進,包括一些32位程式碼。雖然一開始這個產品沒有馬上熱銷(一位微軟經理曾開玩笑地說,他們內部把這個產品叫做“Windows for Warehouses”),但它是該產品向前邁出的重要一步。同時微軟也在開發Windows 4.0,它將提供更多的32位程式碼、新的使用者介面和搶佔式的多工處理系統。微軟給這個產品取了個代號叫“芝加哥(Chicago)”。
最後,也是決定微軟公司前途至關重要的一步,比爾·蓋茨聘請了工業級微型計算機作業系統VMS的架構師-大衛·卡特勒(Dave Cutler),並讓他負責整個OS/2 3.0 NT的開發團隊。大衛·卡特勒的第一個指令是扔掉所有舊的OS/2程式碼,從頭開始。微軟希望構建一個高效能、容錯、獨立於平臺且完全可聯網的作業系統。這個系統微軟稱之為Windows NT。
IBM獲悉了微軟的計劃,開始準備一個新的主版本OS/2準備反擊。Windows 4.0的釋出出現了幾次延遲,因此IBM決定就此一點對其對手進行冷嘲熱諷。在OS/2 3.0的第三個測試版上(謝天謝地,現在已經用CD-ROM提供了),他們印上了“比預期更早到達芝加哥”的字樣。
OS/2 版本3.0還將以新名字釋出,新版本將被命名為OS/2 Warp, 這名字源自當初開發中的代號,與過去不一樣,這一次IBM決定直接將代號印在盒子上。Warp代表“Warp speed”,意思是喚起力量和速度(見《星艦迷航》影片)。不幸的是,IBM的著名律師們可能在工作中睡著了,忘記了《星際迷航》版權的擁有者是派拉蒙公司。事實證明,IBM確實需要獲得許可,即使它只是在消費電腦廣告上模擬一個通用的“跳躍到曲率速度”也需要這個許可,但是派拉蒙公司不給它這個許可。這下IBM陷入了窘境。這個名字已經公開了,但是IBM公司卻不能將Warp這個詞解釋成與太空船相關的任何意思。它不得不使用Warp這個詞的經典含義(彎曲或扭曲的東西)。顯而易見,這並不是IBM想新產品留給使用者的印象。1994年,在OS/2 Warp的釋出儀式上,帕特里克•斯圖爾特(注:《星際迷航:下一代》中的主演之一)本應是司儀,但後來他放棄了,IBM不得不換上了《星際旅行:航海家號》的艦長扮演者凱特·穆格魯(Kate Mulgrew)。
OS/2 Warp有兩個版本:包含Win-OS2副本的盒裝版的書脊是藍色的,另一個盒裝版的書脊是紅色的,購買它的使用者必須使用Windows副本,可能他們已經不得不執行Windows應用程式。紅色書脊的盒裝版相當便宜,成為最暢銷的OS/2版本。
然而,微軟的“芝加哥”(現在被稱為Windows 95)正在迅速逼近,這對IBM來說將是一個壞訊息。儘管不一定完全正確,但是人們可以很容易地認為,Windows之所以能戰勝OS/2是因為IBM的市場營銷不力。如果一定要找一個正確的理由,那麼我們認為Windows勝出是因為微軟對克隆計算機公司的積極示好。但對於像我這樣的OS/2狂熱者來說,不得不接受的一個殘酷而痛苦的事實是,Windows 95(相比OS/2)確實是一個更好的產品。
我花了幾個月的時間,在同一臺可以雙起動的計算機上測試OS/2 Warp和Windows 95的一個後期測試版,這臺電腦配備有一個486的CPU和16MB記憶體。經過大量的測試,我不得不得出結論,Windows 95,即使是它的Beta版,速度也更快、更流暢。它也有更好的本地應用程式,並且(這是真正的關鍵)很少崩潰。
怎麼會這樣呢?OS/2 Warp現在是一個完全32位的作業系統,具有記憶體保護和搶佔式多工處理能力,而Windows 95仍然是一個夾雜一些32位程式碼的16位Windows的可怕變種。無論如何,OS/2不應該崩潰,但它確實會崩潰,而且總是這樣。
十二、OS/2的SIQ致命缺陷
不幸的是,OS/2在設計上有一個致命的缺陷:同步輸入佇列(SIQ)。這意味著所有傳送到圖形使用者介面視窗伺服器的訊息都將通過一個收費口。如果任何OS/2本機圖形使用者介面應用程式停止了對其視窗訊息的服務,那麼整個圖形使用者介面就會卡住,系統就會凍結。好吧,技術上來說作業系統還在執行。後臺任務可以繼續很好地執行。你只是看不見它們,不能與它們互動,也不能做任何事情,因為整個圖形使用者介面都掛了。一些有進取心的OS/2愛好者編寫了一個應用程式,該應用程式輪詢操縱桿埠,當使用者按下一個按鈕時,應該會釋放其他的選擇。然而它實際上很少能起作用。
具有諷刺意味的是,如果你從不執行OS/2本機應用程式,而只是在VM中執行DOS和Windows應用程式,那麼作業系統就穩定得多。
有報導稱,IBM自己的Aptiva系列電腦的使用者甚至在安裝OS/2時也遇到了麻煩,但這個報導並沒有讓OS/2的命運出現轉機。IBM的PC部門還需要微軟的許可證才能將Windows 95與其系統捆綁在一起,微軟對它的前合作伙伴非常惱火,甚至一度要求IBM停止OS/2上的所有開發。IBM的PC部門最終在Windows 95釋出的同一天簽署了一份許可證。
微軟真的不再需要遷就OS/2了。因為Windows 95已經取得了巨大的成功,打破了以前所有作業系統的銷售記錄。它改變了整個計算領域。Commodore和Atari現在已經出局了,Windows 95的成功讓蘋果公司大吃一驚。IBM現在到了為它的生存而戰的時候了,但是它的主要武器又不給力。
十三、POWER無法拯救OS/2的未來
然而,IBM還沒有放棄這場戰鬥。藍色巨人計劃奪回它在計算機行業的領導地位,如果有幫助的話,它將與所有不屬於微軟的人結盟。
在IBM打擊列表中位列首位的是英特爾公司。IBM和Sun一起,都是精簡指令集計算機(RISC)的新型微處理器設計的早期先驅。基本上,這種設計的想法是刪去冗長複雜的指令,而代之以更簡單、更快捷的指令。IBM設計開發了一款CPU,命名為POWER(Power是Performance Optimization With Enhanced RISC的縮寫),並將其用於非常昂貴的工作站系列中。
IBM開始與蘋果和摩托羅拉兩家公司合作,將其開創性的RISC處理器技術引入桌面電腦,並利用這一影響力加入蘋果公司新的作業系統開發專案,該專案當時代號為“Pink”。這家新成立的作業系統公司更名為Taligent,未來的作業系統核心也從蘋果設計的名為Opus的微核心轉變為IBM正在為一個更大的作業系統開發的名為Workplace作業系統(Workplace OS)的微核心。
Workplace作業系統被設計成一個終極作業系統,一個將會終結所有作業系統的作業系統。它將執行在卡內基梅隆大學開發的Mach 3.0微核心上,除此之外,這個作業系統還將執行各種“個性化的作業系統”,包括DOS、Windows、Macintosh、OS/400、AIX,當然還有OS/2。系統被設計成可以執行在Sun公司的所有處理器架構上,但它主要是展示POWER處理器的強大能力。一切看起來都盡善盡美。
然而,IBM一直沒有完成這項工作。
而此時的微軟在幹什麼呢?大衛·卡特勒團隊已經在1993年7月釋出了Windows NT的第一個版本(3.1版)。它比OS/2有更高的資源需求,但它也做了更多的工作:支援多個CPU,支援多種硬體平臺,非常穩定和容錯,完全32位的作業系統,支援高階64位檔案系統,並且與Windows應用程式相容。一年後,Windows NT 3.5釋出,並計劃在1996年釋出一個帶有Windows 95使用者介面的新版本。雖然Windows NT的早期推廣困難重重,但是它做到了廣告宣傳承諾的所有事情,最終它在2001年與消費性的Windows 9x系列合併,併發布了Windows XP。
與此同時,IBM與摩托羅拉和蘋果兩家公司合作開發的基於IBM POWER架構的PowerPC晶片(價格比Power晶片便宜得多)成功釋出,這一成功最終拯救了蘋果的Macintosh部門。然而,釋出消費級PowerPC機型以執行其他作業系統的計劃一直被推遲。主要問題之一是缺少備用作業系統。Taligent陷入了開發地獄,被重新定位為一個開發環境,最後被完全打入冷宮。IBM匆匆忙忙地為PowerPC編寫了一個OS/2 Warp的實驗埠,但是還未完成就放棄了它。Workplace作業系統從未走出早期的alpha階段。諷刺的是,Windows NT是唯一一個支援PowerPC晶片的非Macintosh使用者作業系統。但是,與執行Windows NT的英特爾系統相比,使用Windows NT執行PowerPC系統的優勢很小。PowerPC晶片的速度稍快一些,但它需要為其指令集重新編譯本機應用程式。Windows應用程式供應商看不到任何理由為一個新平臺重新編譯他們的應用程式,所以他們中的大多數都沒有這樣做。
所以讓我們在這裡總結一下:新的PowerPC晶片本來是要淘汰英特爾晶片的,但除了拯救Macintosh之外,它一事無成。新的Workplace作業系統本來打算淘汰 Windows NT的,但IBM有心無力。而OS/2本來是要淘汰Windows 95的,但是結果卻恰恰相反。
到了1996年,IBM釋出了OS/2 Warp 4,其中包括經過改進的Workplace Shell、捆綁的Java和開發工具,以及期待已久的對同步輸入佇列的修復。但是這些改進遠遠不夠。OS/2的銷量持續下滑,而Windows 95的銷量繼續上升。IBM委託一項內部研究重新評估OS/2相對於Windows的商業潛力,結果並不理想。於是公司高層下達了這樣的一個命令:位於博卡拉頓的OS/2開發實驗室將被關閉,Workplace作業系統的開發將被終止,超過1 300多人將失去工作。熊被打得滿身是血,離開了戰場。
十四、漫長的冷戰熱鬥
IBM將不再開發新版本的OS/2,儘管它將一直銷售到2001年。OS/2的買家都是什麼人呢?主要是銀行,他們仍然對IBM的大型機情有獨鍾。OS/2大多被銀行用在自動取款機上,但Windows NT最終也佔領了這個細分市場。2001年之後,IBM停止了直接銷售OS/2,取而代之的是Serenity Systems公司,這是IBM授權的商業經銷商之一,後者將作業系統重新命名為eComStation。今天你仍然可以買到eComStation系統(確實有人買了),但它的拷貝非常非常罕見。Serenity Systems繼續釋出更新,增加了對現代硬體的驅動程式支援,但公司對於開發作業系統本身並不熱衷,因為根本沒有足夠的需求使得企業可以從中盈利。
2004年12月,IBM宣佈將其整個PC部門出售給中國的聯想公司(Lenovo),標誌著其23年個人電腦銷售統治地位的終結。在這23年中的近10年時間裡,IBM一直試圖用自己的作業系統取代PC的微軟作業系統,但都徒勞無功。最終,它不得不承認失敗。
多年來,許多OS/2愛好者一直呼籲IBM將OS/2作業系統的程式碼庫開源,但IBM一直拒絕。可能IBM無法做到這一點,因為OS/2仍然包含著大量屬於其他公司(最重要的是微軟)的專有程式碼。
今天,大多數想使用OS/2的人都只是出於歷史的考慮,而且OS/2很難在虛擬機器(如VMWare)下執行,這使得他們的任務變得更加困難。上世紀90年代末,莫斯科一家大型銀行聘用了一家俄羅斯公司,為其遺留的OS/2應用程式尋找解決方案。它最終編寫了自己的虛擬機器解決方案,後來變成了Parallels,這是現在一個很流行的應用程式,它允許Mac電腦使用者在OSX上執行Windows應用程式。這給我一種奇怪的感覺,今天Parallels在Mac上的執行讓我聯想到了20世紀90年代中期在OS/2上執行Win-OS2的很多事情,蘋果公司也許很聰明,它從來沒有將Parallels與Mac電腦捆綁在一起。
十五、可以吸取的經驗教訓
那麼,IBM為什麼在OS/2上遭到如此慘重的失敗呢?為什麼微軟能夠巧妙地將IBM拉下消費電腦市場的王座,然後用Windows給予致命一擊呢?更重要的是,這個故事中有沒有什麼教訓可以對今天的硬體和軟體公司有借鑑價值?
IBM對個人電腦行業的忽視已經夠久了,以至於它不得不匆忙推出一種容易被(合法)克隆的個人電腦設計。在這樣做了之後,它又立即想把放出的妖怪收回到魔瓶中,從克隆者手中再次奪回這個行業。當IBM宣佈PS/2和OS/2的計劃時,許多行業專家都認真地認為該公司可以做到這一點。
不幸的是,IBM在一個二選一的岔道口一直猶豫不決。該公司的傳統大型機部門不希望個人電腦太強大,以免它們奪走了大型機的市場份額。而個人電腦部門只想銷售大量的個人電腦,並不在乎為了達到這個目標它必須做些什麼。這場內部的爭鬥來來回回,造成了令人痛心的局面,比如,當IBM自己的低端Aptiva機型無法正常執行OS/2時,PC部門就轉而推廣Windows。
IBM一直認為,個人電腦最適合作為終端,為它所熟悉和青睞的大型主機服務。OS/2的網路工具,只在它的擴充套件版中提供,就是基於這樣一個假設,即PC機將連線到大的伺服器上,而這些伺服器將承擔繁重的工作。這是一種將計算機連線在一起的“自上而下”的方式。相比之下,微軟剛以一個“自下而上”的方式來處理網路,伺服器只是執行Windows的另一臺PC。隨著個人計算能力的增長和更健壯的Windows NT版本的出現,這種自下而上的方式變得越來越可行。當然更加便宜。
IBM在將OS/2提升為“比DOS更好的DOS和比Windows更好的Windows”的過程中也犯了一個致命性的錯誤。與其它流行的作業系統如此驚人的相容性意味著本機OS/2應用程式市場從未得到過發展的機會。很多人購買OS/2,但是很少有人購買OS/2應用程式。
《創新者的窘境》(The Innovator's Challenge)一書提供了一個很好的例證,即在傳統市場上佔據主導地位的大公司在制度上無法轉向新的顛覆性技術,儘管這些公司經常自己發明這些技術。IBM發明了超過歷史上任何一家計算機公司的計算機技術和專利。儘管如此,當壓力來臨時,它為了迎合大型機市場而放棄了個人電腦。直至今天,IBM仍在銷售大型機,並且獲利頗豐,但它已經不再是個人電腦領域的一支主力軍。
今天,許多人已經注意到微軟是傳統計算領域的新的主導力量,傳統計算領域被重新定義為執行Windows的個人計算機。新的顛覆力量是智慧手機和平板電腦,蘋果和谷歌在這一領域已經成為新的主導力量。值得稱道的是,微軟的反應速度之快,足以應對這種新的衝擊。該公司甚至重新設計了它的傳統使用者介面(Windows桌面),使之更適合平板電腦。
當然,我們可以說,微軟的行動遲緩,就像過去IBM一樣。我們也可以說,Windows Phone和Surface平板電腦未能在與iOS和安卓的競爭中佔據市場份額,就像OS/2未能擊敗Windows一樣。然而,微軟與大多數傳統公司有一個不同之處:它不輕言放棄。而IBM在OS/2和普通PC上都直接認輸了。為了在新的移動領域重新奪回霸主地位,微軟願意花費數十億美元。微軟也許仍然不會成功,但至少現在,它還在繼續努力。
OS/2的第二個教訓是,不要與競爭對手的作業系統太過相容,這是今天的手機和平板電腦製造商應該認真吸取的一個教訓。黑莓曾吹噓說,你可以在其BB10作業系統上輕鬆執行安卓應用程式,但這最終對公司毫無幫助。非傳統手機作業系統供應商在構建安卓應用程式相容性之前,應該仔細考慮,以免遭遇與OS/2相同的命運。
OS/2的故事已經成為過眼雲煙。在當今快節奏的計算環境中,它似乎並不特別有參考價值。但它仍然是一個好故事,一個巨大的全球型公司如何試圖與一個年輕而活躍的新貴較量,最終以慘敗告終的故事。這樣的故事非常罕見,正因為如此,它們才是如此珍貴。重要的是要記住,在這場戰鬥前,IBM處在絕對優勢。它擁有可以碾壓比它小得多的微軟的資源、技術和人才,唯獨沒有的是失敗者的遺囑。
PC時代微軟和IBM的產品釋出時間表。
原文:
https://arstechnica .com/information-technology/2019/11/half-an-operating-system-the-triumph-and-tragedy-of-os2/