# 伦敦寒夜里的赌注:GEORGE 3如何用一张穿孔卡片改变了计算机的命运
1961年的伦敦,冬夜湿冷刺骨。在ICT公司(International Computers and Tabulators)一间堆满穿孔卡片和磁带卷的实验室里,一群工程师正围着一台庞大的Atlas计算机,盯着它缓慢闪烁的指示灯。机器的轰鸣声几乎盖过了他们的对话。此时,一个名叫约翰·M·M·平克顿(John M. M. Pinkerton)的年轻程序员,正把一叠厚厚的卡片塞进读卡机。他回头看了一眼同事,轻声说:“如果这次调度算法崩溃,我们就得重新手动加载磁带——那意味着又要熬一个通宵。”这不仅仅是一次测试,这是一场赌局:赌的是计算机能否学会自己“思考”下一步该做什么。而这场赌局的结局,将催生一个名为GEORGE 3的操作系统,并永久改变人类与机器协作的方式。
## 磁带山与排队噩梦:一个商业决策的诞生
20世纪50年代末,计算机是昂贵得令人窒息的庞然大物。一台Atlas计算机的价格相当于今天数百万美元,而它的运行效率却低得可怜。当时的“操作系统”充其量只是人工调度——操作员拿着一份作业清单,像火车调度员一样,手动决定哪个程序先跑,哪个磁带该装到哪个驱动器上。一个典型的场景是:一个科学计算任务可能只需要5分钟CPU时间,但操作员花在找磁带、换磁带、调整参数上的时间,却可能长达半小时。大型机的利用率常常不到30%,这意味着企业为闲置的计算能力付出了惨痛的代价。
ICT公司正面临一个严峻的商业决策。作为英国本土最大的计算机公司,它刚刚赢得了为曼彻斯特大学和英国原子能研究机构提供Atlas计算机的合同。但客户们开始抱怨:“我们花了大价钱买机器,却要养一群操作员来伺候它。你们能不能让机器自己干活?”ICT的高管们意识到,如果不能解决效率问题,他们不仅会失去后续订单,还可能被IBM等美国对手彻底击垮。于是,一个代号为“通用命令执行器”(General Order Executor)的秘密项目启动——这就是GEORGE的原型。
项目的技术挑战远超想象。当时的计算机内存只有几千字(kilowords),而Atlas采用了当时极为激进的分页技术(paging),试图在有限内存中运行多个程序。但分页需要硬件支持的中断和地址转换,这在1960年代初是前沿中的前沿。更头疼的是,GEORGE必须处理“作业描述”语言——用户通过穿孔卡片上的控制语句告诉系统需要多少内存、哪些磁带、优先级如何。这意味着系统要读懂人类用卡片写下的“指令”,然后自主排队、加载、调度、回收资源。平克顿后来回忆:“我们实际上是在发明一个微型‘交通警察’,它必须同时监控十几个程序的运行,还要防止它们互相踩踏。”
## 穿孔卡片上的革命:调度算法的闪电一击
1961年深秋,GEORGE 3的第一次全系统测试在ICT的实验室进行。会议室里挤满了公司高管、客户代表和几位来自曼彻斯特大学的教授。空气中弥漫着紧张和期待。测试方案是:同时提交5个不同优先级的作业——一个大型气象模拟(需要大量磁带访问)、一个简单的工资计算、一个矩阵运算、一个数据库查询,以及一个故意设计的有语法错误的“坏作业”。如果GEORGE 3能自动识别错误作业并跳过它,同时优先执行高优先级任务,并且让磁带机在不同作业间无缝切换,就算成功。
平克顿亲自按下读卡机的启动按钮。卡片“哗啦哗啦”地流过读卡机,指示灯开始疯狂闪烁。前30秒,一切正常:工资计算几乎瞬间完成,矩阵运算开始占用CPU,而气象模拟则在等待磁带装载。突然,系统控制台打印出一行错误信息:“作业#4:语法错误,已跳过。”会议室里响起一阵低语——GEORGE 3成功识别了“坏作业”。紧接着,更惊人的一幕发生了:当气象模拟需要访问第二盘磁带时,系统自动暂停了它,把CPU时间分配给了优先级更高的数据库查询,等磁带就绪后又无缝切换回来。整个过程没有任何人工干预。
“它做到了,”ICT的首席工程师汤姆·基尔本(Tom Kilburn)低声说,“它自己管理了磁带。”测试结束时,5个作业全部完成,耗时比人工调度缩短了40%。高管们面面相觑,随即爆发出掌声。但平克顿却盯着控制台上的一串数据,皱起了眉头。他注意到,在作业切换时,内存分页出现了几次微弱的延迟——尽管不影响结果,但意味着调度算法还有优化空间。他当晚没有回家,而是和团队一起修改了中断处理程序的优先级逻辑。三天后,他们拿出了最终版本。
这个版本后来被称为GEORGE 3的核心调度器,它首次实现了“多道程序批处理”(multiprogrammed batch processing)——多个作业同时在内存中驻留,CPU在它们之间快速切换,仿佛每个作业都独占机器。更重要的是,它引入了一种基于“作业权重”的动态优先级算法,能根据作业的CPU使用量、I/O频率和等待时间自动调整调度顺序。这个思想,后来直接影响了IBM OS/360的调度模块设计。
## 冰山下的遗产:从伦敦到世界
GEORGE 3的成功,并没有立刻带来商业上的巨大成功。ICT公司虽然凭借这一技术赢得了英国政府和大学的多个订单,但很快陷入了财务困境,最终在1968年被并入国际计算机公司(ICL)。然而,GEORGE 3的遗产远不止于此。它的设计文档和源代码(穿孔卡片形式)被工程师们带到了美国,参与了IBM System/360操作系统的早期设计讨论。OS/360的多道程序批处理子系统,明显借鉴了GEORGE 3的作业队列管理思想。
更深远的影响在于工作流程的变革。在GEORGE 3之前,操作员是计算机的“保姆”;在它之后,操作员变成了“监督者”。用户可以远程提交作业(通过读卡机或电传打字机),系统自动处理一切。这直接催生了后来的远程作业输入(RJE)和分时系统。今天,当我们习惯性地打开任务管理器,让操作系统自动调度十几个应用时,我们实际上正在享受GEORGE 3开创的自动作业管理理念——尽管它已经演变得面目全非。
GEORGE 3也留下了一个商业教训:技术创新不等于商业成功。ICT拥有当时世界上最先进的批处理操作系统,但因为缺乏市场推广能力和资本支持,最终被竞争对手超越。相反,IBM虽然起步较晚,但凭借强大的销售网络和生态系统,把类似的思想商业化并统治了市场几十年。这提醒我们,在软件行业,技术突破只是起点,商业执行同样关键。
## 评论
GEORGE 3的故事,本质上是一次关于“自动化信任”的突破。在1960年代初,让计算机自主决定作业的优先级和资源分配,是一个近乎疯狂的想法——因为一旦出错,昂贵的硬件和宝贵的数据可能毁于一旦。但平克顿和他的团队赌对了。他们不仅证明了自动化调度可行,还揭示了软件在计算机系统中真正的角色:不是辅助硬件的“配件”,而是决定系统效率的核心。GEORGE 3的诞生,标志着操作系统从“硬件管理程序”向“资源智能调度器”的转变,这一转变是软件工程独立成为一门学科的关键一步。它告诉我们,有时最伟大的创新并非来自全新的技术,而是来自对现有流程的彻底反思——就像一张简单的卡片,当它承载了“调度”的智慧,就能撬动整个计算世界的效率革命。
## 参考资料
- [Wikipedia: George 3 (operating system)](https://en.wikipedia.org/wiki/George_3_(operating_system)) — 关于GEORGE 3操作系统的基本信息和技术细节
- [ICT 1301 computer history](https://www.computinghistory.org.uk/det/6000/ICT-1301/) — 英国计算机历史博物馆对ICT公司和Atlas计算机的详细记录
- [The Atlas Computer and the development of GEORGE](https://www.chilton-computing.org.uk/acl/technology/atlas/p019.htm) — 技术文档,包含GEORGE 3调度算法的原始描述
- [IBM OS/360 history](https://www.ibm.com/ibm/history/ibm100/us/en/icons/os360/) — IBM官方关于OS/360发展历史的资料,提及对早期操作系统的借鉴
- [John M. M. Pinkerton biography](https://www.computerhistory.org/collections/catalog/102746383) — 计算机历史博物馆对GEORGE 3主要开发者的口述史记录
1961年的伦敦,冬夜湿冷刺骨。在ICT公司(International Computers and Tabulators)一间堆满穿孔卡片和磁带卷的实验室里,一群工程师正围着一台庞大的Atlas计算机,盯着它缓慢闪烁的指示灯。机器的轰鸣声几乎盖过了他们的对话。此时,一个名叫约翰·M·M·平克顿(J
发布于 2026/7/4