| 1961的IT大事记——分时运行 那是50年代末期,而你是麻省理工学院的一名计算机操作员,正在一台由IBM捐赠的计算机上从事一项需很长时间的工作。这时电话铃响了。电话是IBM总裁打来的,他在Long
Island Sound上玩滑艇比赛游戏,请求运行给这些船只分配一些障碍点的程序。这项请求意味着你必须中止正在进行的工作,安装一个新的磁带,然后重新从零开始进行当前的工作。或者你也许是个计算机编程人员。傍晚的时候,你正在整理你当天早上启动的计算机程序的运行结果。打印结果中包含有一项错误信息。在为获得程序运行结果而等待了1天之后,你发现你漏掉了一个逗号。
正是在这种环境中,麻省理工学院的一位教授John McCarthy向该院计算机中心主任Philip
Morse提交了一份备忘录,概述了一种叫做“分时”的新概念。这种新的计算模式和批处理不一样,可望使计算机更容易让用户访问并与用户发生交互作用。而在批处理模式中,编程人员将程序放在穿孔卡片上,交给计算机中心。由于Morse鼓励实现这一概念,一位名叫Fernando
Corbato的副教授及其领导的小组
于1961年开发了Compatible Time-Sharing System(CTSS),首次演示了“分时”的实现过程。简而言之,“分时”能够让一台计算机同时为许多用户服务,所以每个用户感觉好像是在使用自己的私人计算机一样。
就功能而言,分时计算机可以让一项很长的工作停下来,将内存拷贝到磁盘上的某个地方,运行其他程序,然后再启动那项很长的工作,而此期间并不中断用户的工作。Tom
Van Vleck是CTSS小组的一名资历较低的成员,也是CTSS的后继系统Multics的一名开发人员。他解释说:“每个用户的程序可使用机器的全部资源,而且几个程序可以在该机器上分享时间。”
此外,计算是交互型的。编程人员在键盘上创建程序之后,计算机几乎立即做出响应,显示运行结果或错误信息。虽然这对90年代的用户来说是完全合理的,但在1961年,甚至连硬件都没有为这种激进的观念做好准备。例如,Corbato的小组使用的IBM
7090就没有键盘。Corbato说:“令人欣慰的是,我们从AT&T公司那里能够得到Teletype电传打字机,并有IBM的Selectric电子打字机。但即使如此,我们也必须为大写体和小写体而绞尽脑汁。”
Corbato的小组与IBM合作,对第二台机器IBM 7094进行了修改,以解决这一问题及其他许多问题。Corbato说:“这些解决方案中有许多今天仍在使用。”这些解决方案包括一个中断用户程序的硬件定时器,还有一种阻止程序在指定存储器边界之外运行的方法。据Corbato说,1961年的演示是“粗糙的和不完整的”。不过,它证明了“分时”是一种可行的概念,而且许多分时系统后来遵循了CTSS演示的方式。最后完成的分时系统向麻省理工学院、新英格兰的一些大学以及Woods
Hole海洋协会提供了分时服务。但最重要的是,CTSS演示导致了“MAC项目”的设立。1962年ARPA资助此项目300万美元,其首要目标是开发一个完善的分时系统,名为Multiplexed
Information and Computer System(Multics)。Multics直到1969年才准备好,它在商业上从未取得成功。不过,它在许多方面都具有重要意义。举例来说,Unix的发明者Ken
Thompson和Dennis Ritchie使用了来自Multics的许多思想。
但也许最重要的是“分时”将用户带入了计算机设计世界。Corbato说:“分时导致了一个工程规则:用户的交互式需求和设备效率一样重要。”
|