莫里斯·文森特·威尔克斯爵士,FREng,FRS(Sir Maurice Vincent Wilkes,1913年6月23日-),英国计算机科学家。设计和制造了世界上第一台存储程序式电子计算机EDSAC,在“工程和软件等计算机领域都有许多开创性成果”。
个人简历编辑本段回目录
威尔克斯1913年6月26日生于英国斯塔福德郡的达德利。于1931-1934年就读于剑桥大学圣约翰学院,之后进入卡文迪许实验室,并于1936年完成其物理学博士学位。博士论文题目是“关于甚长无线电波在电离层中的传播特性”(the propagation of very long radio waves in the ionosphere)。他的硕士学位也是在同一年年初获得[2]。
二战期间,威尔克斯在TRE服兵役,参与或主持过10cm雷达,GL Mark I、Ⅱ、Ⅲ以及OBOE的研制。
战后,回到剑桥大学,出任数学实验室(后改名计算机实验室)主任。 1946年10月,他以EDVAC为蓝本设计建造了EDSAC,是第一个实际存储程序的电子计算机,并于1949年5月成功运行。之后负责建设EDSAC2。 1980年,威尔克斯从他一直负责的计算机实验室退休,出任DEC公司顾问和MIT的兼职教授。1986年回到英国担任Olivetti公司顾问。
在2000年的新年授勋名单中,威尔克斯被封为爵士。2002年,搬回计算机实验室,担任剑桥大学荣誉教授。
主要贡献编辑本段回目录
设计和制造第一台内部存储程序的电子计算机EDSAC(延迟存储电子自动计算器)。
1946年5月,他获得冯·诺伊曼起草的EDVAC计算机的设计方案的一份复印件。1946年10月,返回剑桥大学后,以EDVAC为蓝本[3]设计建造了EDSAC。它使用了水银延迟线作存储器,穿孔纸带为输入设备和电传打字机为输出设备。EDSAC是第一台诺依漫机器结构的电子计算机。
在设计与制造EDSAC和EDSAC2的过程中,威尔克斯创造和发明了许多新的技术概念。诸如“变址”[4]、“宏指令”[5]、微程序、子例程及子例程库、高速缓冲存储器(Cache)等等,这些都对现代计算机的体系结构和程序设计技术产生了深远的影响。
他曾开发了一种简单的表处理语言wisp。在1977年他64岁的时候,他还提出一个语言翻译系统——“语义原语系统”(se-mantic primitive)。
图灵奖编辑本段回目录
1967年获ACM图灵奖。图灵奖引文:
威尔克斯教授以设计和制造了第一台内部存储程序的电子计算机EDSAC而闻名。EDSAC使用了水银延迟线作为存储器并在1949年5月成功运行。在1951年他与惠勒和吉尔合著出版了《怎样在电子数字计算机上准备程序》,在这本书中,程序库被首次有效地提出。
英文原文:Professor Wilkes is best known as the builder and designer of the EDSAC, the first computer with an internally stored program. Built in 1949, the EDSAC used a mercury delay line memory. He is also known as the author, with Wheeler and Gill, of a volume on "Preparation of Programs for Electronic Digital Computers" in 1951, in which program libraries were effectively introduced.
图灵奖演讲题目是:计算机的过去和现在Computers Then and Now。
获得荣誉编辑本段回目录
1956年,他当选为皇家学会院士;英国计算机学会的创始人之一,并担任第一任主席(1957年-1960年);1977年和1980年先后当选为美国工程院和美国科学院外籍院士;是国际信息处理联盟(IFIP)的主要发起人之一。
在2000年新年授勋名单中被封为下級勳位爵士。
1980年获得ACM的Eckert-Mauchly奖
1968年获AFIPS的Harry Goode奖
1981年获IEEE的McDowell奖
1982年获宾夕法尼亚大学的Pender奖
1988年获日本的C&C奖
1991年获意大利的Italgas奖
著作编辑本段回目录
《怎样在电子数字计算机上准备程序》(Preparation of Programs for an Electronic Digital Computer)Addison-Wesley,1951年出版
《自动数字计算机》(Automatic Digital Computers)John Wiley & Sons, New York, 1956年出版, QA76.W5 1956.
《数值分析导论》(A Short Introduction to Numerical Analysis). Cambridge University Press, 1966年出版, 1971年重印. 平装ISBN 0-521-09412-7; 精装ISBN 0-521-06806-1.
《分时计算机系统》(Time-sharing Computer Systems). Elsevier, 1975年出版. ISBN 0-444-19525-4
《一个计算机先驱的回忆》(Memoirs of a Computer Pioneer). The MIT Press. 1985年出版. ISBN 0-262-23122-0
世界上第一台存储程序式计算机EDSAC的研制者编辑本段回目录
威尔克斯1913年6月26日生于英国中西部的达德利(Dudley),距著名的工业重镇伯明翰仅20km。由于威尔克斯从小就有严重的哮喘病,因此他父亲果断地把家迁到气候比较宜人的斯陶尔布里(Stourbridge),使威尔克斯的健康状况有了明显好转。他在当地的爱德华四世普通中学完成了学业,培养了对于数学、物理和无线电的爱好。当时无线电广播刚刚开始普及,威尔克斯对组装收音机十分入迷,很快成了这方面的一个“小专家”,取得了业余无线电操作员证书,还为学校的广播站制造过一些设备。1931年他进入剑桥的圣约翰学院,1934年以优秀成绩毕业。之后他获得一个研究课题的合同,进入剑桥著名的卡文迪什实验室工作。这个实验室由于获得诺贝尔物理奖的人数最多而有“诺贝尔奖的摇篮”的美称。威尔克斯在这里完成了“关于甚长无线电波在电离层中的传播特性”的研究,并以此为题完成了博士论文,于1938年10月取得剑桥大学博士学位,而他的硕士学位是在当年年初才取得的。
威尔克斯取得博士学位的时候,欧洲上空已布满了战争的阴云,英国已开始准备对付希特勒的进攻。因此,威尔克斯很快被吸收到研制侦察潜水艇、军舰和飞机的雷达设备的项目中去。大战期间,威尔克斯辗转于法国北部的敦刻尔克(1940年法国陷落时30万盟军大撤退的地方),英国的剑桥、佩特斯哈姆、马尔文等地,参与或主持过10cm雷达,GL Mark I、Ⅱ、Ⅲ以及OBOE的研制,其中OBOE是“将轰炸机引向轰炸目标的导航”的英文缩写。采用这种导航技术时,飞行员不需要看地图,只需按地面站发来的简单指令飞行。这种系统在地面有一个“猫站”,一个“鼠站”。猫站的作用是用信号通知飞行员在一个大的圆弧线上飞行,轰炸的目标就在圆弧线上。若飞机没有到达圆弧线,猫站就发“点”信号,指示飞行员往外飞;若飞机飞出圆弧线,猫站就发“划”信号,指示飞行员往回飞。这样沿圆弧线飞到目标上空时,鼠站就发出信号,飞行员只管投弹就行。完成任务后猫站再以同样方式将飞机引导回基地。这种导航技术在二战中最受盟军飞行员欢迎。
战后,威尔克斯回到剑桥大学,担任数学实验室(后改名计算机实验室)主任。1946年5月,他获得了冯·诺伊曼起草的EDVAC计算机的设计方案的一份复印件。EDVAC是Electronic Discrete Variable Automatic Computer的缩写,是宾夕法尼亚大学莫尔学院于1945年开始研制的一台计算机,是按存储程序式思想设计的,并能对指令进行运算和修改,因而可自动修改其自身的程序。但由于工程上遇到困难,EDVAC迟至1952年才完成,造成“研制开始在前,完工在后”的局面,而让威尔克斯占去先机。威尔克斯仔细研究了EDVAC的设计方案,8月又亲赴美国参加了莫尔学院举办的计算机培训班,广泛地与EDVAC的设计研制人员进行接触、讨论,进一步弄清了它的设计思想与技术细节。回国以后,威尔克斯立即以EDVAC为蓝本设计自己的计算机并组织实施,起名为EDSAC(Electronic Delay Storage Auto-matic Calculator,但有的文献写成Electronic Discrete Sequential AutomaticComputer)。EDSAC采用水银延迟线作存储器,可存储34恤字长的字512个,加法时间1.5 ms,乘法时间4 ms。威尔克斯还首次成功地为EDSAC设计了一个程序库,保存在纸带上,需要时送入计算机。但是EDSAC在工程实施中同样遇到了困难:不是技术,而是资金缺乏。在关键时刻,威尔克斯成功地说服了伦敦一家面包公司J.Lyons&Co。.的老板投资该项目,终于使计划绝处逢生。1949年5月6日,EDSAC首次试运行成功,它从带上读人一个生成平方表的程序并执行,正确地打印出结果。作为对投资的回报,LyOHS公司取得了批量生产EDSAC的权利,这就是于1951年正式投入市场的LEO计算机(Lyons Electronic Office),这通常被认为是世界上第一个商品化的计算机型号,因此这也成了计算机发展史上的一件趣事:第一家生产出商品化计算机的厂商原先竟是面包房。Lyons公司后来成为英国著名的“国际计算机有限公司”即ICL的一部分。
EDSAC的成功当然不在于它能生成平方表。还在试运行期间,它就完成了一系列重大任务,向世人展示了计算机的巨大潜力。著名的数学家和统计学家菲歇尔(R.A.Fisher,因在20世纪20年代创建方差分析法——variance analysis而闻名于世)拿来一个二阶非线性微分方程,当程序员编出程序,输入EDSAC很快就给出了解以后,菲歇尔惊奇得简直无法相信。EDSAC还为剑桥大学著名的生物学家肯德烈(J.Kendrew)分析了成百上千张有关分子结构的X射线衍射图案的照片,肯德烈因为这方面的成就而荣获1962年诺贝尔奖,他多次提到EDSAC在他的研究工作中所发挥的无可比拟的作用。射电天文学的主要创始人、因发明综合孔径射电望远镜而荣获1974年诺贝尔物理奖的马丁·里尔(Martin Ryle)也是在EDSAC上对获得的天文照片进行分析和综合,帮助他取得成果的。
在设计与建造EDSAC的过程中,威尔克斯决不是简单地模仿和照搬EDVAC的设计,而是创造和发明了许多新的技术和概念。诸如“变址”(威尔克斯当时称之为“浮动地址"----floating address);“宏指令“(威尔克斯当时称为“综合指令"--synthetic order);微程序设计(将每一条机器指令的执行分解为一系列更基本的微命令。将可同时执行的微命令组合在一起形成微指令。所谓微程序就是用微指令编写出来的一段微指令序列);子例程及子例程库,所谓子例程即subroutine,就是可用于一个或多个计算机程序中,也可用在一个计算机程序的一处或多处的子程序,其目的在于将复杂的任务分解成若干较小的单位,以便于分别处理;高速缓冲存储器即Cache(位于中央处理器与主存储器之间,对程序员透明的一种高速小容量存储器,以提高处理速度),等等。所有这些都对现代计算机的体系结构和程序设计技术产生了深远的影响。EDSAC和LEO计算机的成功奠定了威尔克斯作为计算机大师和先驱在学术界的地位,而EDSAC(LEO)以及其后在英国国家物理实验室NPL由图灵进行设计、而由威尔金森(J.H.Wilkinson,1970年图灵奖获得者)主持实现的Pilot ACE及其商品化产品DEUCE一起,则使英国的计算机技术在20世纪50年代处于世界领先地位,可以与美国平起平坐。
威尔克斯后来还有过不少创造,比如他曾开发了一种简单的表处理语言wisp。在MIT实现分时系统的MAC项目中,威尔克斯其时正作为访问学者在MIT,曾参与其中并作出了贡献。尤其令人惊叹的是,威尔克斯的创造力是如此旺盛和经久不衰,在他64岁的时候(1977年),他还提出了一个语言翻译系统,叫做“语义原语系统”(se-mantic primitive)。这个系统利用字典处理输入文本中各个单词的各种不同的意义。字典中的定义利用了80个语义原语,共分5类,即实体类、动作类、情况类、修饰类以及类型指标。利用原语构成的语义公式可以完全地、完整地表示文本中的各个语句。语义原语的一个重要优点是允许信息冗余,有利于表达关联。对威尔克斯的语义原语系统,斯强克(R.Schank)后来又提出了一种概念从属理论,使得描述世界上各种活动所需要的原语大大减少,从而提高了系统的实用性。
到20世纪90年代,威尔克斯已进入古稀之年,但我们仍能在《ACM通信》等杂志上经常看到他写的评论,1995年还出版了一部《计算技术展望》的书(Computing Perspectives,Morgan-Kaufmann),令人肃然起敬。
威尔克斯著述颇丰,主要有:
《怎样在电子数字计算机上准备程序》(Preparation of Programs for an Electronic Digital Computer,Addison-Wesley,1951,1958)
《自动数字计算机》(Automatic Digital Computer,Methuen,1956)
《数值分析导论》(A Short Introduction to Numerical Analysis,Cam-bridge Uni.Pr,1966)
《分时计算机系统》(Time-Sharing Computer Systems,Elsevier,1968,1975)
《剑桥CAP计算机及其操作系统》(The Cambridge CAP Computerand lts Operating System,NOrth Holland,1979)
《一个计算机先驱的回忆》(Memoirs of a Computer Pioneer,MITpr.1985)
最后这本书是威尔克斯自传式的回忆录。
由于威尔克斯的突出贡献,他于1956年就成为英国皇家科学院院士,1977年和1980年先后当选为美国工程院和美国科学院外籍院士。1956年他发起成立了英国计算机协会并任首任主席。他也是国际信息处理联盟IFIP的主要发起人之一。除了图灵奖之外,他还于1980年获得ACM的另一个奖项Eckert-Mauchly奖;1968年获AFIPS的Harry Goode奖,1981年获IEEE的McDowell奖,1982年获宾夕法尼亚大学的Pender奖,1988年获日本的C&C奖,1991年获意大利的Italgas奖。世界上有8所大学授予他名誉博士学位。ACM的计算机体系结构委员会即SIGARCH还建立了以威尔克斯命名的奖项,即Wilkes Award。
威尔克斯1980年从剑桥大学退休后出任DEC公司顾问和MIT的兼职教授。1986年他回到英国担任Olivetti公司顾问。
威尔克斯是在1967年8月在华盛顿特区举行的ACM 20周年庆典大会上接受图灵奖的。他发表了题为“计算机的过去和现在”(Computers Then and Now)的演说,刊载于Journal of ACM,1968年1月,1-7页,也可见《前20年的图灵奖演说集》(ACM Turing AwardLectures----The First 20 Years:1966——1985,ACM Pr.),197—206页。当然,威尔克斯所描述的计算机的“现在”早已成为历史,但他在演说中预见到硬件和软件的结合,程序设计语言和数据结构的重要作用,甚至谈到了可移植性问题,而当时结构化程序设计的概念还没有正式提出,其预见性令人佩服。至于对已经出现的人工智能研究,威尔克斯则表示了一些不同的看法,不像明斯基(M.L.Minsky,1969年图灵奖获得者)认为“大脑不过是肉做的机器而已”(the brain happens tobe a meat machine)那样,威尔克斯认为“动物和机器是用完全不同的材料,按十分不同的原理构成的”(Animals and machines are constructed from entirely different materials and On quite different principles)。各有所长的专家们在学术上的观点分歧令我们无所适从,但人类最终定能获得真理,这是毫无疑问的。
Maurice Vincent Wilkes,微程序的创建者 编辑本段回目录
IBM System/360,大型主机的经典之作第一部电脑并没有操作系统。这是由于早期电脑的建立方式(如同建造机械算盘)与效能不足以执行如此程序。但在1947年发明了晶体管,以及莫里斯·威尔克斯(Maurice V. Wilkes)发明的微程序方法,使得电脑不再是机械设备,而是电子产品。系统管理工具以及简化硬件操作流程的程序很快就出现了,且成为操作系统的滥觞。到了1960年代早期,商用电脑制造商制造了批次处理系统,此系统可将工作的建置、调度以及执行序列化。此时,厂商为每一台不同型号的电脑创造不同的操作系统,因此为某电脑而写的程序无法移植到其他电脑上执行,即使是同型号的电脑也不行。
到了1964年,IBM System/360推出了一系列用途与价位都不同的大型电脑,而它们都共享代号为OS/360的操作系统(而非每种产品都用量身订做的操作系统)。让单一操作系统适用于整个系列的产品是System/360成功的关键,且实际上IBM目前的大型系统便是此系统的后裔;为System/360所写的应用程序依然可以在现代的IBM机器上执行!
OS/360也包含另一个优点:永久贮存设备—硬盘驱动器的面世(IBM称为DASD(Direct access storage device))。另一个关键是分时概念的建立:将大型电脑珍贵的时间资源适当分配到所有使用者身上。分时也让使用者有独占整部机器的感觉;而Multics的分时系统是此时众多新操作系统中实践此观念最成功的。
1963年,奇异公司与贝尔实验室合作以PL/I语言建立的Multics[1],是激发1970年代众多操作系统建立的灵感来源,尤其是由AT&T贝尔实验室的丹尼斯·里奇与肯·汤普逊所建立的Unix系统,为了实践平台移植能力,此操作系统在1969年由C语言重写;另一个广为市场采用的小型电脑操作系统是VMS。
80年代
第一代微型计算机并不像大型电脑或小型电脑,没有装设操作系统的需求或能力;它们只需要最基本的操作系统,通常这种操作系统都是从ROM读取的,此种程序被称为监视程序(Monitor)。1980年代,家用电脑开始普及。通常此时的电脑拥有8-bit处理器加上64KB内存、屏幕、键盘以及低音质喇叭。而80年代早期最著名的套装电脑为使用微处理器6510(6502芯片特别版)的Commodore C64。此电脑没有操作系统,而是以一8KB只读内存BIOS初始化彩色屏幕、键盘以及软驱和打印机。它可用8KB只读内存BASIC语言来直接操作BIOS,并依此撰写程序,大部分是游戏。此BASIC语言的解释器勉强可算是此电脑的操作系统,当然就没有内核或软硬件保护机制了。此电脑上的游戏大多跳过BIOS层次,直接控制硬件。
家用电脑C64的抽象架构
简单应用程序 机器语言
(游戏直接操作)
8k BASIC ROM
8k ROM-BIOS
硬件(中央处理器、储存设备等)
早期最著名的磁盘启动型操作系统是CP/M,它支持许多早期的微电脑,且被MS-DOS大量抄袭其功能。最早期的IBM PC其架构类似C64。当然它们也使用了BIOS以初始化与抽象化硬件的操作,甚至也附了一个BASIC解释器!但是它的BASIC优于其他公司产品的原因在于他有可携性,并且兼容于任何符合IBM PC架构的机器上。这样的PC可利用Intel-8088处理器(16-bit寄存器)寻址,并最多可有1MB的内存,然而最初只有640KB。软式磁盘机取代了过去的磁带机,成为新一代的储存设备,并可在他512KB的空间上读写。为了支持更进一步的文件读写概念,磁盘操作系统(Disk Operating System,DOS)因而诞生。此操作系统可以合并任意数量的磁区,因此可以在一张磁盘片上放置任意数量与大小的文件。文件之间以档名区别。IBM并没有很在意其上的DOS,因此以向外部公司购买的方式取得操作系统。1980年微软公司利用骗术[2]取得了与IBM的合约,并且收购了一家公司出产的操作系统,在将之修改后以MS-DOS的名义出品,此操作系统可以直接让程序操作BIOS与文件系统。到了Intel-80286处理器的时代,才开始实作基本的储存设备保护措施。MS-DOS的架构并不足以满足所有需求,因为它同时只能执行最多一个程序(如果想要同时执进程式,只能使用TSR的方式来跳过OS而由程序自行处理多任务的部份),且没有任何内存保护措施。对驱动程序的支持也不够完整,因此导致诸如音效设备必须由程序自行设置的状况,造成不兼容的情况所在多有。某些操作的效能也是可怕地糟糕。许多应用程序因此跳过MS-DOS的服务程序,而直接存取硬件设备以取得较好的效能。虽然如此,但MS-DOS还是变成了IBM PC上面最常用的操作系统(IBM自己也有推出DOS,称为IBM-DOS或PC-DOS)。MS-DOS的成功使得微软成为地球上最赚钱的公司之一。
MS-DOS在个人电脑上的抽象架构
普通应用程序(Shell script、文本编辑器)
MS-DOS(文件系统)
BIOS(驱动程序)
硬件(中央处理器、储存设备等)
而1980年代另一个崛起的操作系统异数是Mac OS,此操作系统紧紧与麦金塔电脑捆绑在一起。此时一位全录伯拉图实验室的员工Dominik Hagen访问了苹果电脑的史蒂夫·乔布斯,并且向他展示了此时全录发展的图形化使用者界面。苹果电脑惊为天人,并打算向全录购买此技术,但因伯拉图实验室并非商业单位而是研究单位,因此全录回绝了这项买卖。在此之后苹果一致认为个人电脑的未来必定属于图形使用者界面,因此也开始发展自己的图形化操作系统。现今许多我们认为是基本要件的图形化接口技术与规则,都是由苹果电脑打下的基础(例如下拉式菜单、桌面图标、拖曳式操作与双点击等)。但正确来说,图形化使用者界面的确是全录创始的。
参考文献编辑本段回目录
http://zh.wikipedia.org/wiki/%E8%8E%AB%E9%87%8C%E6%96%AF%C2%B7%E5%A8%81%E5%B0%94%E5%85%8B%E6%96%AF
http://www.saike.org/blogs/turing/archive/2008/07/12/maurice-vincent-wilkes.aspx
http://www.hxpxxx.com/Html/tarticle/2008921110839.htm
http://awards.acm.org/citation.cfm?id=1001395&srt=all&aw=140&ao=AMTURING
http://en.wikipedia.org/wiki/Electronic_Delay_Storage_Automatic_Calculator
http://en.wikipedia.org/wiki/Maurice_Vincent_Wilkes