光子盒研究院出品
目前量子计算硬件竞争十分激烈,IBM、谷歌、霍尼韦尔等大公司你追我赶,但是从计算机发展历程来看,最大赢家往往不是硬件制造商,而是操作系统开发商,可谓“得操作系统者得天下”。
上世纪60年代之前,计算机厂商要针对每台计算机量身定做操作系统,导致所有机型完全不兼容,IBM打破了这一局面。
1964年,IBM推出了划时代的System/360让单一操作系统适用于整系列的计算机。从此,IBM在计算机市场一家独大。
到了PC时代,IBM选择了比尔盖茨提供的MS-DOS系统(Windows前身),其他开发商还在试图向终端用户销售操作系统,微软就已经与IBM PC进行捆绑销售,之后IBM兼容机风靡全球,微软占领了90%以上的市常
移动时代,苹果成为世界上利润最高的手机厂商,最大的竞争优势就是iOS操作系统。
量子计算机虽然已不是经典机器,但操作系统仍不可或缺,硬件性能非常接近时,操作系统决定了量子计算机的实用程度。
50亿美元的豪赌
第一台电子计算机ENIAC诞生于1946年,计算机工作采用手工操作方式,当时还没有操作系统的概念。
在这个时期,同一个小组里的工程师们,设计、建造、编程、操作及维护同一台机器,所有的程序设计是用纯粹的机器语言编写的,需要通过成千上万根电缆接到插件板上连成电路来控制机器的基本功能。没有程序设计语言(汇编也没有),操作系统则是闻所未闻。
通常的操作模式是程序员在墙上的预约表上预约一段时间,然后来到机房,将自己的插件板插入计算机,并在接下来的几个小时里希望大约20000个真空管不会在运行过程中烧坏。
20世纪50年代初,出现了穿孔卡片或纸带,可以将程序写在卡片上,但是本质上仍是手工操作。
穿孔卡片
手工操作方式有两个缺点:用户独占全机,资源的利用率低;CPU等待手工操作,CPU的利用不充分。
20世纪50年代中期,晶体管的引入大大提升了计算机的速度。于是,手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,手工操作方式已严重损害了系统资源的利用率(资源利用率仅为百分之几),不能容忍。在此背景下,诞生了批处理系统。
有意思的是,最早引入批处理系统的并不是任何一家计算机制造商,而是IBM的客户通用汽车(GM),GM的研究部门在1956年为其IBM 701生产了GM-NAA I/O(源于1955年开发的原型GM操作系统),并为701的后续产品进行了更新。
最后,IBM接管了这个项目,并在IBM7090和IBM7094计算机上提供了一个名为IBSYS的增强版本。这一时期也有了程序设计语言,IBM提出的FORTRAN语言是世界上第一个正式推广使用的高级语言。
一种早期批处理系统:(1)程序员把卡片拿到1401机处;(2)1401机将批处理作业读到磁带上;(3)操作员将输入磁带送至7094机;(4)7094机进行计算;(5)操作员将输出磁带送到1401机;(6)1401机打印输出。
当时操作系统非常多样化,每个供应商都生产一个或多个适配其特定硬件的操作系统。即使来自同一个供应商的操作系统,也可能有完全不同的命令模型、操作程序和调试工具。通常制造商每次推出一台新机器,都会有一个新的操作系统。
这种情况一直持续到1964年IBM开发了System/360机。
20世纪60年代初,包括IBM等大多数计算机制造商都有两条完全不兼容的产品线。有面向文字的大型科学计算机,如IBM 7094,用于科学工程中的数值计算。还有一些面向字符的商用计算机,如IBM 1401,广泛用于银行和保险公司的磁带分类和打樱而System/360机兼顾了科学计算和事务处理两方面的应用。
1961年12月28日,IBM首席副总裁Vincent Learson完成了一份长达8页纸的报告《IBM360系统电子计算机》。这项计划的投入规模空前,Learson估算总共需要投资50亿美元,IBM特为此招募了6万名新员工,建立了5座新工厂。
System/360第一次运用了“兼容”的理念(360表示全方位的应用),由于所有的机器都有相同的体系结构和指令集,理论上,为一台机器编写的程序可以在其他所有机器上运行。
在硬件设计方面,IBM不得不自己动手设计制造芯片(因为买不到),但更大的困难却是在软件方面,要让所有的软件适用于所有的电脑,IBM的软件工程师们伤透脑筋,投入到这个项目中的软件工程师超过2000名,花费超过5亿美元。
1964年4月7日,就在老沃森创建公司的50周年之际,IBM发布360系列电脑,共有6个型号的大、中、小型电脑和44种新式的配套设备,从功能较弱的360/51型小型机,到功能超过51型500倍的360/91型大型机,都是清一色的兼容机。这也是世界上第一个采用集成电路的通用计算机。
System/360大型机
操作系统方面,OS/360是高端System/360机器的首选操作系统,而DOS/360则是功能较弱的机器的常用操作系统。
OS/360先后演变成MFT、MVT、SVS、MVS、MVS/XA、MVS/ESA、OS/390和z/OS。IBM保持了与过去的完全兼容,目前z系列大型机依然能够运行60年代开发的程序。
当时的IBM总裁小沃森在纽约向全世界宣布:“这是本公司自成立以来最重要的划时代产品。”5年之内,IBM360共售出32300台,创造了电脑销售中的奇迹。
很快,与360电脑兼容的IBM 370机接踵而至,其中最高档的370/168机型,运算速度已达到每秒250万次。
1966年底,IBM公司年收入超过40亿,纯利润高达10亿美元,跃升到美国10大公司行列,从而确立了自己在世界电脑市场的统治地位。
整个行业发生了革命性的变化,这导致许多竞争对手要么合并,要么破产。
大型机时代七个小矮人结局
微软帝国是如何诞生的?
20世纪70年代,随着大规模集成电路(LSI)的发展,个人计算机时代开始了。操作系统发展成为通用操作系统,同时兼有多道批处理、分时、实时处理的功能,最典型的是Unix。
Unix诞生于AT&T贝尔实验室,但是当时AT&T被美国反垄断制裁,贝尔实验室不能销售Unix,只能开放源代码供所有人学习研究。后来,加州大学伯克利分校的学生Bill Joy为Unix加入TCP/IP协议,完成了BSD版本。
与此同时,英特尔推出首个8位CPU 8080,并希望有一个操作系统能够测试它,于是英特尔找到了公司顾问Gary Kildall。Kildall随后为其编写了一个基于磁盘的操作系统,称为CP/M(微型计算机控制程序)。但是英特尔认为基于磁盘的微型计算机没有太大的前途。
为了进一步开发和销售CP/M,Kildall成立了一家名为Digital Research的公司。
1977年,Digital Research重新编写了CP/M,使其适合在使用8080、ZilogZ80和其他CPU芯片的许多微型计算机上运行。
当时,苹果公司推出世界上第一台个人电脑Apple II。为了与苹果竞争,IBM迅速上马个人电脑项目,并在1981年开发了一台PC机。
IBM也曾考虑过Unix系统,但操作系统价格已经远超硬件成本,不得不打消了念头。同时IBM也不得不放弃摩托罗拉生产的CPU。摩托罗拉生产的M6800比英特尔的技术和设计上都要先进很多,更重要的是可以运行Unix。但出于成本考虑,IBM选择了英特尔x86架构的CPU。
然后是寻找与英特尔CPU适配的操作系统。IBM是微软BASIC解释器的客户,IBM曾向比尔盖茨打听是否知道在个人电脑上运行的操作系统,盖茨建议IBM联系当时世界上占主导地位的操作系统公司Digital Research。
Kildall做出了有史以来最糟糕的商业决策,拒绝与IBM会面,而是派了一名下属。更糟糕的是,他的律师甚至拒绝签署IBM的保密协议,该协议涉及尚未公布的个人电脑。因此,IBM回到盖茨那里,询问他是否可以为他们提供操作系统。
当时微软完全没有开发操作系统的经验,但盖茨想到了一个人Tim Paterson,在此之前Paterson为了测试英特尔8086微处理器,花四个星期写了个操作系统。盖茨意识到这就是他要找的,马上花5万美元买下,Paterson四个星期就能赚5万,当然很乐意。这个操作系统被盖茨命名为MS-DOS。
出人意料的是,IBM将两个二流产品组合在一起形成了一款强大的产品,微软DOS系统和英特尔芯片完美适配,IBM PC凭借极高的性价比压过苹果一头,成为风靡世界的个人电脑。
IBM个人电脑(PC)
当Digital Research还在试图向终端用户销售他们的操作系统时,微软DOS就已经与IBM PC进行捆绑销售。到1983年IBM PC/AT推出时,MS-DOS已经牢牢扎根,CP/M再也无力竞争。Unix陷入和BSD的官司之中,错过了商业黄金期。
此时,IBM和微软就只剩下苹果一个对手。
1979年,乔布斯到施乐PARC研究所看到原型机Alto。敏锐的乔布斯立刻发现了图形用户界面(GUI)和鼠标的商业价值,很快他就说服施乐公司,以一个极低的价格买下GUI。
1983年苹果公司推出了Apple Lisa(以乔布斯的女儿命名),这是一台首次采用GUI的个人电脑,但由于价格过于昂贵,商业上并不成功。后来,苹果公司推出Macintosh电脑,不仅比Lisa便宜许多,还对用户更加友好,一时取得了巨大成功。
与Mac OS相比,1985年推出了Windows 1.0就太寒酸了。
Windows 1.0
这时候盖茨坐不住了,他找到了乔布斯,先是大加赞赏了乔布斯的伟大,然后请求得到一份苹果的GUI,并承诺微软的一切研究成果都是苹果的。不可一世的乔布斯答应了。
盖茨得到了苹果的Lisa原型机,马上组织团队研发。但是盖茨并没有遵守当初的诺言,1990年微软推出Windows 3.0,打破多项销售记录,从而开始了在操作系统上的垄断地位。乔布斯大骂盖茨是小偷,却为时已晚。
另一方面,在盖茨的建议下,IBM开放架构允许其他计算机制造商仿制和改进,使得IBMPC成为世界标准,这就是IBM兼容机的由来。在逆向分析了IBM BIOS后,康柏、戴尔等PC兼容机生产商开始崛起。
让IBM始料不及的是,到了90年代PC厂商百花齐放,而操作系统却是微软一枝独秀。甚至在21世纪初大量PC厂商倒闭、兼并的情况下,Windows依然稳如泰山。
量子计算机操作系统在哪里?
就像普通计算机需要操作系统一样,量子计算机也需要操作系统。如果没有操作系统,量子计算机的实用性将大大降低。但是,我们没有Windows、IOS或Linux的量子版本。
如果类比计算机的发展,目前量子计算机还处在ENIAC诞生前的时代,但是已有公司开始着手研究量子计算机操作系统。
早在2015年,英国剑桥量子计算(CQC)公司开发了一款叫作t|kit>的操作系统,该系统是使用一台专有的超级计算机开发出来的,旨在更精确地模拟量子处理器的工作。
但是从作用来看,这还不是我们认知中的操作系统。后来,CQC在此基础上推出一个量子软件开发平台t|ket>,将独立于机器的算法转换为可执行的电路。
真正意义上的量子操作系统,是今年由一个英国财团开发Deltaflow.OS,允许相同的量子软件在不同类型的量子计算硬件上运行。
这个财团由量子软件公司Riverlane牵头,量子硬件公司SeeQC、欧洲日立公司、Universal Quantum、Duality Quantum Photonics、Oxford Ionics、牛津量子电路公司、ARM和英国国家物理实验室全程参与。
Riverlane公司自2019年7月以来,一直致力于Deltaflow.OS的开发,并在今年5月获得760万英镑的政府拨款。随后9月迎来了“hello world”时刻,第一次在Oxford Ionics的离子阱量子计算机上成功试用Deltaflow.OS量子操作系统。
根据Riverlane对外公开的信息,Deltaflow.OS满足两个重要的客户需求:软件对任何量子硬件的可移植性,以及使用所有可用量子功率的最佳堆栈性能。
Deltaflow.OS
帮助提高量子计算性能 目前,Riverlane发布了Deltaflow.OS第一个版本:“Deltaflow-on-ARTIQ”。
该产品旨在使量子硬件公司以及算法和应用程序开发人员能够通过简化协作和减少实验室停机时间来加速他们的研究。Deltaflow-on-ARTIQ由Deltaflow语言(Deltalanguage)和运行该语言的各种硬件模型组成,包括ARTIQ控制系统的模拟器。
从奥地利因斯布鲁克大学分拆出的公司ParityQC成立于今年1月,目前在开发操作系统ParityOS和架构,ParityOS是一个自动创建编译器、优化算法和芯片布局的平台。其硬件合作伙伴是开发中性原子量子处理器的法国公司Pasqal,未来ParityOS有望应用到此硬件上。
同样基于中性原子技术的量子硬件公司ColdQuanta也选择了ParityQC作为合作伙伴,公司首席科学家Mark Saffman表示,ColdQuanta的冷原子量子计算系统非常适合ParityQC的优化架构。
ParityOS操作系统允许用比标准门模型方法少一个数量级的门操作来编译优化问题,因而实现大型复杂优化问题的编码将比标准方法提前3年。
虽然目前开发量子操作系统的都是初创公司,规模较小,但是要知道微软在开发操作系统前也是一家小公司。实际上,微软也在计划开发量子操作系统,其量子计算团队正在开发一款从芯片到操作系统的量子计算机。
从计算机历史发展来看,操作系统是随着硬件进步而产生的,目前量子计算机处在非常早期的阶段,对量子操作系统需求不大,现阶段主要通过经典操作系统接入云平台对量子计算机进行操作。但随着计算量不断膨胀,开发适合量子计算机的操作系统将势在必行。
对于中国,我们的国产操作系统经过20多年发展,仍未在市场上掀起波澜,如今随着量子计算机的发展,量子操作系统必须提上日程了。
-End-
1930年秋,第六届索尔维会议在布鲁塞尔召开。早有准备的爱因斯坦在会上向玻尔提出了他的著名思想实验“光子盒”,公众号名称正源于此。