你正站在十字路口 (1)—論 16/ 32 位元作業系統

>>>  名人論史——近當代作家的史學觀點  >>> 簡體     傳統

1994.12

人類在田徑場上追求更高更遠更快,
電腦族也追求更快更大更好用更漂亮。

你正面臨十字路口,
但是打橫的那一條沒有前景。


32 位元個人電腦早已進駐你的桌面 (難道你還在用 286 嗎)。但,若不使用 32 位元作業系統,你的 486 就只剩下 243,不過是個振蕩頻率更高的 XT !!! 電腦的價值不光靠 CPU 片面決定,作業系統還貢獻一半力量呢 !

打對折并不夸張。想想看,386 以上的 CPU 擁有 32 位元平滑模式 (flat model) 定址空間、虛擬記憶體管理、虛擬機器、32 位元資料傳輸、強制性 (優先權式) 多工...,如果你在 32 位元電腦內安裝一個 DOS,面對滿盤佳肴,什麼也吃不到;如果你裝的是16 位元 Windows,吃到的只是三兩盤小菜。

「Windows 記憶體管理-系統篇」(旗標 1993) 一書的序里頭這麼寫著 : 『1992 年是等待、猶豫、觀望的一年。IBM 推出了 OS/2 2.0,真正的 32 位元個人電腦作業系統;Windows NT 則是樓梯嗄嗄響,不見人下來,推出日期一延再延。念舊的人懷念他喝得很習慣的咖啡,也懷念他用的很習慣的DOS。16 位元與 32 位元作業系統之爭,以及 32 位元與 32 位元作業系統之爭,終於邁進了 1993 年』。現在呢,Windows NT 出現了,Windows 95 即將現身,OS/2 3.0 剛向大家說哈羅,讓我們看看即將邁入 1995 年的今天,誰來逐鹿中原。

這里我討論的對象局限在 DOS、Windows、OS/2,這是一般 PC 個人用戶比較可能選擇的作業系統,我并不討論諸如 Unix、NeXTStep 等傳統上在工作站跑的產品。

■ 遠古孑遺 ?

DOS,是許多人心中的愛,是許多人心中的惡。愛惡情仇之間其實一句話就可以形容 : 「你從 DOS 環境中獲得了寡占性的利益嗎 ?」噢,既得利益者怎麼愿意放棄他的優勢呢 ! 所以,由於 DOS 這個作業系統沒有能力把各種周邊設備納入管理因而在紛紛擾擾的周邊驅動程式中獲利的廠商,由於 DOS 文字模式之 shell 要求使用者必須記住復雜繁瑣的指令因而特別更顯得鶴立雞群的 Power User,以及由於單工作業就足夠應付生活所需因而根本不知井外還有藍天的單純用戶,都成為 DOS 潛在的擁護群。從技術的角度來看,雖然 64K 以及 640K 徹徹底底令人失望,但也許能夠提供解決方案的廠家 (例如 DOS Extender 廠商),以及有能力以擴展記憶體、延伸記憶體、磁碟空間解決記憶體限制的技術人員,私底下也希望繼續保有他們的優勢呢 !

但是,在技術上 (我指的是軟體開發),電腦終究要結束它艱澀的一面;在使用上,電腦終究要結束它冰冷的一面。MS-DOS 已經有上億套的安裝量,但我們更應注意,每年更有多少全新的 (未曾受過桎錮的) 終端使用者和程式開發人員進入這個世界。DOS 能夠滿足我們對現實生活的需求嗎 ? 不 ! 更別提即將把舊世界摧枯拉朽的資訊爆炸時代了。

■ Windows 3.1

我要講的其實是 16 位元 Windows。既然 Windows 3.1 是末代產品,直接挑明了說也是一樣。

Windows 3.1 不是個作業系統,是個 DOS 程式。開機後你不是進入 DOS 嗎 ? 你不是在 C:\> 提示號下鍵入 win 然後才進入 Windows 3.1 嗎 ? Windows 只是個 DOS 程式 ! 可它不全然「只」是個應用程式,它改變了臺面下的 DOS 對於行程 (process) 的處理,對於記憶體的管理,以及對於各種周邊資源的管理,然後再提供一個圖形人機介面。它是一個超級的 DOS Extender。這家伙有點黏又不太黏,有點帥又不太帥;把 DOS 改頭換面,卻保留 FAT 檔案系統,以至於在號稱友善人機介面的同時,還要求你把 "F318 Books Content of Top Studio" 檔案名稱縮小到像 F318TOPS.BOK 這種隱藏了許多意義的 8.3 檔名格式;它擁有多工,卻不是「真正的」優先權式多工,哪個壞份子沒照規榘來,可就壞了一鍋粥;它雖然在 386 加強模式中進入了 32 位元CPU 保護模式,卻沒有完全發揮這個模式的硬體性能,最大可用記憶體還局限於 64MB 而不是硬體極限的 4GB,甚至連 64KB 節區的突破都還是運用內部的tiling (磁磚拼貼) 技巧完成的。

Windows 3.1 為德不卒 !

關於友善人機介面,你可以從作業系統外殼 (Shell) 的角度來看,也可以從周邊設備安裝的角度來看。Microsoft 聘請了一大堆人體工學專家、使用者心理專家、視覺觀感專家,評定 Windows 3.1 的使用者介面還有待改進 (要不然他們怎麼在 Chicago 計劃中做點專家被期望要做的事 ?)。專家們的評論并沒有影響我認為其介面已經不錯的看法。

可是如果你從周邊設備安裝容易與否的角度來觀察,Windows 3.1 就稱不上什麼友善。我剛新添一臺電腦,銷售工程師在我的工作室中運指如飛,調整顯示幕解析度,安裝聲霸卡,安裝數據機,安裝 LPT2 給雷射印表機、LPT1 給 LL3 做兩臺電腦傳輸檔案用。光這些環境就搞了他一下午,而我只能在旁邊遞水倒茶佩服得不得了。像我這種硬體外行,怎麼搞得懂 IRQ 怎麼調整以避免相沖 ? 怎麼搞得懂 COM1 使用 3F8h 埠而 COM2 使用 2F8h 埠 ? 又怎麼知道 LPT1 使用 3BCh 埠而 LPT2 使用 378h 埠 ? 如果加上網路卡 (這最棘手)、多媒體各種周邊 (這更棘手),那還了得 ? 可不撞得頭破血流嗎 ?

Windows 終端用戶如果必須完全依靠外力建立起舒舒服服的安樂窩,這種使用者與產品之間的關系十分脆弱,脆弱到一有風吹草動,客戶就全跑了。

■ Windows 95 與 Windows NT

其實我要的不多。站在使用者立場,我只希望花在硬體上的每一塊錢發揮它應該有的價值,我只希望周邊的安裝能夠輕輕松松快快樂樂一些,我只希望 UI 介面有完整考量,不要改來改去。站在開發者的立場,我希望那個惡夢般的魔術數字 (64) 離我愈遠愈好,我希望別人的爛程式不要影響到我,萬一我的程式行為不當也不要背負老鼠屎的罪名。我希望該我拿到的輸入訊息不要因為別人的忙碌就被阻塞住。噢,對了,那個令人手足無措的 8.3 短檔名最好滾到地獄里頭去。

32 位元作業系統才能帶給我得意的笑。它能夠把每一個應用程式管束在自己的定址空間中不逾榘,它能夠充份發揮 CPU 保護模式的功能,包括多工多線、每一行程 4GB 定址空間 (這下子夠咱們這些貪求無厭的工程師用到 2001 年了)、無節區的平滑定址模式 (和嘉南平原一樣平坦)、私有而不受干擾之輸入訊息佇列。它提供長檔名、隨插即用 (Plug and Play) 的安裝性質、許多系統管理工具和網路管理工具,并且內建網路功能。它能夠移植到許多硬體平臺上,也能夠發揮多 CPU 同處一機的性能。
你還不能夠從 Windows 家族系列中看到這麼一個實際產品。大哥 Windows NT 目前還未支援隨插即用,二哥 Windows 95 (代號為 Chicago) 則不支援多重硬體平臺的移植 (它只在意 Intel 機器的市場)。Microsoft 的這兩個 32 位元作業系統,一個定位在 Client 端,另一個定位在 Server 端,但是它們愈走愈近愈走愈像,最後你會看到 Cairo 作業系統 (Cairo 也是代號)。

回溯相容與 DOS 7.0

相容性絕對是第一要考量的因素。劃時代的產品如果沒有回溯相容的能力,充其量會被尊崇為「先驅」而已,蠃得了掌聲和實驗室中的鎂光燈,卻蠃不到市場,以及操控世界的影響力。新舊交接的時代,DOS 絕對還有存在的必要,個人電腦上的哪一套作業系統膽敢沒有一個 DOS Box 呢 ? 數以億計的人沒看到熟悉的 C:\>,會起恐慌的。但 DOS 角色地位應該改一改,不應該再是「大地之母」。32 位元 CPU 保護模式已有能力虛擬出一個 DOS 模式來 (Virtual 8086 Mode),作業系統應該善用這份硬體性能。事實上現在所有的作業系統都這麼做了。

Microsoft 和 Novell 宣稱不再開發 DOS 新版的那一天,一定令不少人茫然失措。也許是危機,也許是轉機,不過純就市場,我的看法是,只要有錢賺,只要想賺的大錢 (Chicago) 不如預期地好賺,見風轉舵的機率大得很。我的機器上就有 MS-DOS 7.0 你相信嗎 ? 把 Chicago (當然是 Beta 版) 的 WIN.COM 改名,重新開機,它找不到圖形人機介面,自然就以字元模式的 shell 面對你了。這時候你利用 MSD.EXE (Microsoft 附贈的診斷軟體) 觀察,OS 那一欄記錄的是 MS-DOS 7.0。

談論有沒有 DOS 新版,重點其實應該是 : 這個 DOS 7.0 是我們刻板印象中那個老態龍鍾的家伙嗎 ? 把老虎叫做貓并不會改變它的老虎本色 (當然你把貓叫做老虎也不能增添多少雄姿),如果你看到的 7.0 是有著 32 位元體質、多工多線的作業系統,如果你看到的是 Chicago 的字元模式外殼,那麼這個東西對於天天引頸鵠望 DOS 的先生們又怎麼樣 ?

■ OS/2 3.0

談論個人電腦上的 32 位元作業系統,怎能少了 OS/2 ? 它的許多技術甚至比起市場上獨領風騷的 Windows 強,可惜客戶的心一去難回頭。

面對 Windows 的市場占有率,OS/2 采取「我喚山山不來,我便向山走去」的策略。它可以執行 16 位元 Windows,把它視為 OS/2 的應用軟體,再在其中執行 Windows 軟體。因此 OS/2 可以做到 Windows 3.1 本身所達不到的保護功能 : 如果你在OS/2 上跑三個 Windows,再在每一個 Windows 上跑一個 Windows 程式,那麼任何一個 Windows 程式死掉,都不會影響其他兩個。

就技術面而言,OS/2 擁有 32 位元作業系統該有的全部功能,使用者介面也比Windows 95 更具物件導向性質。舉個例,桌面上的物件有繼承能力,肇因於臺面下的SOM (System Objects Model) 系統。能夠和 OS/2 3.0 同臺競技的,根本不是 Windows 3.1 而是 Windows 95。可憐 OS/2 實際獲得的喝采與它的內涵不成比例。另外,在開發工具方面,IBM 太把焦點放在 MIS 層級的高檔產品,如 VisualGen、VisualAge,它們都很高級,但裝機量占絕大比例的個人用戶卻絕不可能看它們一眼。IBM 的這種作法當然其來有自,因為它自己許多大型主機上的資料庫系統或其他系統,都以 OS/2 為前端,IBM 必須為大型客戶提供網路上的、大規模團隊合作方式下的開發工具。但如果不多多支援個人客戶所需,只怕要蠃得為數不少的個人市場 (包括學生、工程師、獨立工作室、中小型企業公司與軟體公司),前景堪虞。

■ 硬體考量

如果軟體美夢成真,硬體卻惡夢連連,那也是憾事一樁。

當然我不是講硬體的穩定度,我講的是白花花的銀子。誰都不想買個錢坑回來供著是不是。一位朋友當初不聽勸,說一定要和公司相容 (相同),買了個蜂鳥 386,我看他現在真成了瘋鳥 386 ! 他要担心的問題和大家不太一樣,不是 1MB RAM 多少錢,而是去哪里買這1MB RAM。

想要獨占市場的人,永遠會被市場教訓。

不過,我們還是把話題拉回來,我要說的是這些 32 位元作業系統吃硬體的能力兇不兇 ? 基本上我認為不兇。現在硬體價格并不構成負担 --- 以我們的國民所得而言。最近詢問了一下硬體行情,覺得實在便宜,不是我找到什麼便宜貨,而是普遍如此。硬體機能節節上升,價格則節節敗退,咱們真好福氣。OS/2 和 Windows 95 都宣稱記憶體只要 4MB 就上路,Windows
NT 需要 12MB。硬碟最好大一些,揮灑起來才有馀裕。

RAM 和硬碟都很便宜,通往 32 位元的路上沒有任何阻礙 !

人類在田徑場上追求更高更遠更快,電腦族也追求更快更大更好用更漂亮。你正面臨十字路口,但是打橫的那一條沒有前景。32 位元作業系統此其時矣。

■ 私房話

雖然沒有一個人喜歡活在板蕩不安的時局里,我倒一直慶幸自己親身經歷了這場作業系統的惡血大拼斗。前數年我有機會深入看看那個不設防的 DOS,以及那個防御工事做一半的 Windows,實際感受深入核心的快樂;現在以及未來數年我有機會使用高階圖形介面,還有那些融入了物件導向觀念的應用軟體與開發工具。我很滿足,真的。也許再過幾年,所有高度保護的作業系統都成熟了,喜歡東摸西搞的朋友們,要大嘆一句

"Where did the good times go ?"
 


侯捷 2010-07-28 06:29:20

[新一篇] 回顧十六 展望三二

[舊一篇] 你正站在十字路口 (2)—論 Application Framework 軟體開發工具
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表