数码硬件
morning
切换者 (2004)
摘要
The first commercial product that I worked on after going on leave of absence from Apple in March 1984 (see Leave Of Absence ) was a low cost, high resolution scanner for the Macintosh called Thunders...
the
was
that
for
Thunderscan
with
John
his
and
switch
2026-11-13
1 阅读
约6分钟阅读
sammatilda
字号:
1984 年 3 月,我从苹果公司请假(参见休假)后,我开发的第一个商业产品是一款低成本、高分辨率的 Macintosh 扫描仪,名为 Thunderscan,它是我与一家名为 Thunderware 的小公司合作创建的(参见 Thunderscan)。我从 1984 年 6 月开始做这件事,到 10 月初,它几乎完成了。 Tom Petrie,Thunderware 的两位负责人之一(另一位是 Victor Bull,我曾与他合作开发 Silentype 热敏打印机(参见 What Hath Woz Wrought),这是我为 Apple 做的第一个项目),为各种计算机杂志安排了一些演示,以博取好评以推广该产品。 1984 年 10 月 11 日,我和 Tom 开车去希尔斯伯勒的一间办公室,演示 Thunderscan for Byte 杂志。 《Byte》的评论员是约翰·马尔科夫 (John Markoff),他是《旧金山纪事报》的技术撰稿人,也是报道个人计算机行业的最佳记者之一。当我设置演示并开始扫描时,Tom 描述了 Thunderscan。约翰问了几个问题,用他的 IBM PC 做了笔记,这台 PC 运行着一个基于字符的文本编辑器,我对它怀着典型的 Macintosh 纯粹主义者虔诚的蔑视。当我正在回答他的一个问题时,电话响了。 “对不起,”他一边告诉我们,一边按下键盘上的组合键,显示器屏幕立即切换到不同的程序。他在电话里聊了一两分钟,偶尔打字,然后结束对话并按下组合键切换回 Thunderscan 笔记。 “你刚刚做了什么?”我问约翰,对他正在运行的软件感到好奇。 “你怎么这么快就切换到另一个应用程序了?” “哦,我正在运行记忆转移。你没看到吗?”约翰回应道。 “它是一个 DOS 实用程序,可以将多个应用程序驻留在内存中,并允许您在它们之间快速切换。我最近经常使用它。”约翰快速连续地输入了几次 switch 命令,向我展示它能以多快的速度完成任务。 “你知道,我想我可以在 Macintosh 上做到这一点”,在我有意识地思考之前,我突然脱口而出。 512K Macintosh 的内存是原来的四倍,几周前刚刚开始发货。我曾考虑尝试在 512K Mac 上同时运行多个应用程序,但由于内存不足冲突和其他潜在问题而受阻。但现在,当我观察 John 的 PC 上的内存移位操作时,我突然看到了一种简单的方法,而且实现起来似乎并不难。 “是的,那会很酷,”约翰同意道。我继续进行 Thunderscan 演示,但我很难集中注意力,因为我无法停止思考应用程序切换。有一些复杂的问题需要解决,但它似乎非常可行,而且我认为如果我让它发挥作用,它将非常有用。 Tom Petrie 注意到我对这个新想法有多兴奋,当他开车送我结束演示回家时,他提醒我之前的承诺,并让我保证在敢于开始新事物之前我会尽快完成 Thunderscan 的 alpha 版本。我们商定了一份大约有十几个任务的清单,我认为我可以在两周内完成这些任务。 alpha 版本完成后,我可以短暂休息,以便进行应用程序切换,然后再回到 Thunderscan 完成 1.0 版本(预计 11 月底)。在接下来的两周里,我专注于打磨 Thunderscan,为 alpha 版本做好准备,但我也利用闲暇时间思考应用程序切换器的设计。一个基本决定是是否将所有应用程序加载到单个堆中,这将通过最大限度地减少碎片来优化内存使用,或者为每个应用程序分配单独的“堆区域”。我决定选择单独的堆区域来更好地隔离应用程序,但我不确定这样做是否正确。有很多小问题需要解决。最关键的是,系统软件在低内存中保留了大量特定于应用程序的全局变量(请参阅 Mea Culpa ),这些变量需要在上下文切换期间进行交换,因此每个应用程序都可以维护自己的一组变量。困难的部分是列出需要交换的内容的精确列表;许多变量是显而易见的,但有些变量非常微妙,并且取决于应用程序如何使用它们。我知道我的第一次剪辑不会是完美的,但我相信,一旦我看到应用程序实际上是如何失败的,我就可以调试不可避免的问题。在开始推动完成 Thunderscan 几天后,我接到了微软 Macintosh 应用程序团队经理 Jeff Harbers 打来的一个有趣的电话。杰夫告诉我,微软有一个非常具有战略意义的项目,他们需要 Macintosh,他们认为我是实施该项目的理想人选。他不会告诉
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱