【Chenglap的资讯通鉴】你知道640kB记忆体已多过任

时间:2020-06-12

【Chenglap的资讯通鉴】你知道640kB记忆体已多过任
Microsoft co-founder Bill Gates speaks at Peking University in Beijing, China March 24, 2017. Picture taken March 24, 2017. REUTERS/Stringer ATTENTION EDITORS - THIS IMAGE WAS PROVIDED BY A THIRD PARTY. EDITORIAL USE ONLY. CHINA OUT. NO COMMERCIAL OR EDITORIAL SALES IN CHINA. - RTX32NJ8

知道谁是比尔盖兹吧?虽然对于年轻一辈而言,大概可能比较认识 Steve Jobs 或者脸书的马克祖克伯。 不过也很难没有听过曾经是资讯界一哥、全球首富的他。要谈起这个人,就不能不谈传说中他最为人记得的发言,但可能很多人已不记得了的一句话:「640kB 记忆体已多过任何人需要的记忆体。」

这段发言是出自 1988 年美国 Infoworld 杂誌的引述,而比尔盖兹本人则声称他没有这样说过。他有没有说过,倒不是这文章的重点,重点是大家还记得这个 640kB 记忆体是什幺吗?这个问题应该考倒了大部份的人,因为这是使用电脑超过二十年的人才会知道的。

这就是所谓的「传统记忆体」, 在还是 DOS 时代的时候,个人电脑的规格是只有 640kB 的记忆体。什幺是 640 kB 呢?也就是 0.64 MB,是今天常用的单位 1 GB 的千份之一都不到。今天你随便开个小软体都要用这个数字的十倍以上,但那时候这大小却是你整部电脑记忆体的大部份甚至全部。当年的软体,是要把资料连同程式码,都放进这个有限的空间里。

对于现在的使用者来说,最难以想像的是,你是不能使用 640 kB 以上的传统记忆体的。有些比较老的使用者可能也会产生质疑,因为他们记忆中,就是那时的电脑,也可以加装记忆体,变成什幺 1 MB, 2 MB, 4 MB, 16 MB 记忆体之类的。很遗憾的是,你是可以加装记忆体,但那些多过 640 kB 的记忆体,都不叫作传统记忆体,而叫作扩展记忆体,那是和传统记忆体不同的东西。

记忆体还有分种类?这种事情对于今天的人来说可能难以理解,可是这却是当年的事实。如果你是在当年有写程式的人,就会知道我在说什幺了。那些扩展记忆体,是无法直接使用的,不过我不想在这里谈怎样写以前的程式,我打个比喻,它很像图书馆的书,你用之前必须先从图书馆里借出,之后还要还回去。所以虽然扩展记忆体能够帮助你载入一些东西,但却不能取代传统记忆体,它基本上只能放资料,不能放程式码。

这导致了一个现象,就是你当年玩游戏,游戏说只要 4 MB 记忆体,而你明明有 16 MB,却会告诉你记忆体不足。很多人都会头大,为什幺会记忆体不足啊?深究之下,原来是指「传统」记忆体不足,很多游戏都需要你在 640 kB 当中,挤出 600 kB 以上的记忆体才能够运作,偏偏那时候你想要使用每个电脑的功能,都会耗用一些传统记忆体。

例如说滑鼠。当年的滑鼠,没有驱动程式是不能动的,但是载入了驱动程式的话,又会消耗了一些传统记忆体。很多你今天觉得理所当然的东西,当时也是要驱动程式,例如音效卡。游戏对于传统记忆体的要求,通常十分的严苛, 少一点都开动不了。

结果当年玩电脑游戏的人,往往在玩游戏之前,便已经要学怎样修改设定档,以便释放出更多记忆体,买了游戏回来第一件事就是跑不动,然后不断试验怎样的设定档才能玩,成为很多游戏玩者痛苦的回忆。怎样从 640kB 挤到多几 kB 出来,往往就是跑不跑得动一个游戏的关键。

至于写程式的工程师,更需要不断的对着这有限的记忆体奋斗,为了减少记忆体的使用,什幺奇怪的方法都会祭出来,例如在源码里直接写汇编码。建立各种奇怪的、複杂的记忆体使用机制等,强大的工程师,往往能够把记忆体管理得出神入化,很多今天的工程师看当年的程式码,都会觉得像经文一样难以看懂,那正是因为当年的程式码, 需要更多直接利用硬体的特技,简直有如艺术一样。可是在当年,却是当工程师的基础知识。

所以那时候的电脑使用,门槛之高,不仅仅是因为价钱。别以为只有开发者才需要懂资讯科技,当年连一个普通的使用者,都需要具备相当的软硬体知识,才能把东西跑得动。当个「使用者」也是不容易的。

Did Gates Really Say 640K is Enough For Anyone? | WIRED

相关推荐