還記得OS/2嗎?它至今還活躍在紐約地鐵系統中!_風聞
TechEdge科技边界-2019-06-17 19:13
1984年,蘋果計算機利用Macintosh系統在計算機產業丟下震撼彈,其具備的全圖形化操作界面設計,以及使用鼠標操作的方式,為操作系統產業界帶來革命性的概念。
而與此同時,微軟仍還停留在DOS文字界面,基於圖形界面的Windows操作系統還未現身,此時微軟仍在努力學習Macintosh的設計理念。
而與此同時,IBM則是在進行其全新一代的計算機架構計劃PS/2,同時也在開發新的操作系統,而此時,IBM找上了微軟合作。
在初代Macintosh現身之後的3年後,也就是1987年,OS/2(Operating System/2)操作系統1.0版正式推出,雖然仍維持文字模式,但其核心已經支持多工能力,並且定義了相當多的API以供程序開發者使用。而次年,IBM終於在OS/2 1.1版套上的圖形界面,併成為在Intel CPU上的首個多工操作系統。
而後來,微軟利用了與IBM合作得來的系統開發經驗和技術用來開發自己的Windows 3.0操作系統,荒廢了與IBM的合作。IBM得知微軟的盤算之後,便和微軟分道揚鑣,從此完全自主進行OS/2的後續版本更新。
由IBM自主的第一個OS/2版本為1.3版,隨後在1992年發表了2.0版,這是全世界第一個真正的全32位操作系統,穩定性遠優於當時的所有競爭操作系統,且不只具備當時最先進的圖形操作界面,更完全兼容微軟的Windows應用程序。
OS/2 Warp 4.0操作界面
後續的3.0與4.0版也同樣維持其高穩定性的傳統。然而微軟的Window 95操作系統在效率和穩定上進行了妥協,使用了32/16位混合設計,用以兼容過去的老應用。相較之下,OS/2的全32位設計造成老舊軟件的兼容性不佳,也因此,消費者紛紛投向Windows平台。而雖然後續的Windows 98/98SE與ME就只是個金玉其外的垃圾,尤其是後二者,在正常使用下一段時間後就會自我崩潰,使用者往往不得不隔一段時間就重新安裝,穩定性極差。
不過微軟的Windows 2000成功扳回一城,Windows 2000是微軟使用原本僅在服務器上的Windows NT內核開發出來的純32位操作系統,也是微軟第一個純32位消費端操作系統。NT意指New Technology,也就是新科技的意思,其第一個版本約和IBM的OS/2 3.0同時。
當Windows 2000操作系統推出之後, OS/2的穩定性優點也逐漸被追上,雖然業界仍認為其穩定性要優於Windows,但市場份額仍不斷被Windows蠶食鯨吞,而到了2002年,擁有漂亮外在,且內核維持Windows 2000穩定性的Windows XP現身,併成功擄獲了絕大多數計算機使用者的心,最後IBM也放棄了OS/2,並宣佈在2005年停售,隔年停止所有支持。
Windows XP
其實OS/2為何會死亡,其內核設計理念是最大原因。由於IBM一直想要推廣其微內核的概念,但這會產生兩個問題,一個是微內核的整合非常複雜,其次,微內核對系統效能有致命的負面影響,而當時不論是微軟的Windows,或者是開放操作系統Linux,基本上都是基於單內核設計,雖然犧牲了穩定性,但是在系統效率要遠遠優於微內核操作系統。另一方面,微軟最初採用32/16位混合設計,底層實際為DOS,但是在其上面堆了32位 API,雖然穩定性不佳,但擁有更好的老舊軟件兼容性與執行效率表現。而OS/2採用微內核,穩定性至上的訴求,卻犧牲了兼容性,最終落得失敗的下場。
微內核與單內核的比較
在效率上而言,單內核是要超過微內核的。可以想象一下,在windows桌面移動一下鼠標就要發送幾十條消息,就要陷入到內核之中多次。作業系統的管態使用者態轉變是代價很高的,這個對作業系統有一點點常識的人都能知道。而Linux則不需要,因為大部分內核代碼都在內核態執行,不需要通過消息傳遞的方式通訊,也不需要大量的使用者態內核態轉化開銷,因此效率要高很多。
至於在代碼錯誤影響方面,微內核的錯誤容忍度一般是要好於單內核的。微內核可以將大部分的設備驅動包括檔案系統都放入到用户空間中,內核中只運行很小一部分代碼,例如Minix只有3200行的C代碼和800行的底層代碼在內核中。使用者空間中的模塊出現的錯誤會導致模塊崩潰,但不會導致內核故障。而單內核架構內核代碼龐大,一旦其中出現任何故障,可能會直接導致內核崩潰。
而從OS/2停售後,其實有不少愛用者呼籲IBM應該釋出源碼,延續這個高質量操作系統的生命,但當初IBM拒絕了這些要求。除了IBM當時仍未體認到開放源碼操作系統的潛力(如現今的Linux、Android),部分觀點也認為IBM仍持續在某些關鍵平台上使用OS/2,開放源碼可能會造成安全隱憂。
而這個秘密也終於在最近被揭開。
Tedium有篇新聞追蹤了OS/2系統的最終去處。該文章作者挖掘出,維繫紐約地鐵運作的重要關鍵,就是這個已經在消費市場消失已久的OS/2。
紐約地鐵是全世界最繁忙的地鐵系統之一,根據2016年統計的數據,平均每天有570萬人在工作日搭乘地鐵。
由於搭乘的人數極為龐大,系統必須要有極強的穩定性及可靠性,而紐約交通管理局MTA(Metropolitan Transit Authority)在當初要把紐約地鐵全面電子化時,也面臨了艱困的選擇。由於使用人數眾多,且線路管理極為複雜,如果稍有不慎,可能損失動輒數十億美金,以及數百條人命。
當初MTA也在不同操作系統之間猶疑不定,但IBM基於微核心技術的OS/2由於極為強大的穩定性,成功説服了MTA。
MTA進行了不少工作,除了後端管理全面電子化以外,地鐵票務系統進行了大幅更新,傳統的代幣也被磁卡所取代。而OS/2系統雖然被大量應用,但並非直接面對消費者,取而代之的是,它是作為連接各種不同系統的一種管道,讓所有的地鐵前端後端系統可以互相連結併發揮作用。比如説連接地鐵和公交車系統與背後龐大數據中心的中介系統就是OS/2,雖然使用者看不到,也感覺不到OS/2,但實際上它無處不在。
OS/2雖然在消費市場慘遭滑鐵盧,但其高可靠性卻在部分嵌入系統市場獲得了成功。除了紐約地鐵系統以外,過去比較著名的案例還有ATM,也就是自動提款機。
使用OS/2系統的ATM機器
作為一個時代的見證,OS/2有其地位與技術代表性,即便IBM早已放棄,且不再繼續維護,也不願開放源碼,另這個系統失去了走入未來數字世界的機會,但它並沒有真正死去。
IBM失去的開源機會,後來也通過收購Redhat來彌補。而當年OS/2所散發的能量,以及其滿滿的極客堅持,至今仍存在不少技術人的心中。