你正站在十字路口 (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 軟體開發工具
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表