软件定义的时代,基本的目标就是万物皆可互联,一切均可编程。这个时代还有多远?在2017年6月举办的第9届中国云计算大会上,中国科学院院士梅宏就这个话题提出了他的观点。在随后不久,首次来到中国的L3大会(LinuxCon + ContainerCon + CloudOpen)上,Linux发明人Linus Torvalds也就这个话题谈了他的见解。
“我们正在进入一个新的时代,这个时代一个重要的特征就是无处不在的软件技术和软件应用,正在定义这个时代的一切。”梅宏表示。“当前很多的场景、应用、产业,都会实现软件技术的深度应用。”
梅宏认为,当前正在进入以数据的深度挖掘和融合应用为特征的信息化3.0时代。一方面摩尔定理驱动着设备的增长,另一方面移动宽带互联形成了人机物的广泛互联,技术的低成本化让信息技术无处不在并实现了万物的数字化,加上云模式驱动数据汇聚和集中,所以出现了大数据现象,从而激发了人们从中间寻找规律、萃取知识,再用于指导社会实践和工作实践——一个新时代正在开启。
(上图为中国科学院院士梅宏)
随着人机物融合的环境,软件技术面临着一系列的挑战,其中一个挑战就是从传统静态环境中的传统软件走向开放动态环境下的复杂软件,这就需要凝练系统的共性以保证高效可靠的运行,凝练管理的共性以保证可靠高服务质量的运行。过去几十年软件技术发展的主要驱动力就是系统的平台化,以操作系统为代表的系统软件的发展,反映了基于共性凝练和沉淀的平台化过程
系统软件平台化一直是软件发展的重要驱动力,在人机物互联环境下的系统软件平台是什么样?在互联网上的网络应用,因需求多样、形态也多样,其下的硬件资源有个人计算机、大型计算机、手机终端以及众多的物联网计算设备,这么海量异构的硬件资源,如何构建一个系统级平台、如何凝练应用软件的共性,把下面支撑的硬件资源整合起来,从而通过一个系统软件平台完成工作?
此外,很多应用软件都是在线运行,7*24小时不能停机,一直要为企业提供服务,其应用场景也是动态多变,因此就进而提出一个要求,系统级软件平台能不能实行按需、灵活、深度的定制,而这种定制怎么解决?所谓软件定义就提供了这么一个按需、灵活、深度、定制化系统级平台的方式。
早期的计算机就是硬件计算机,操作系统的出现使得计算系统能够成为通用的设备。现在,每个用户看到的计算机是一台由操作系统定义的计算机,操作系统是向下管理硬件资源、控制程序运行,向上实现人机交互界面、为应用程序提供系统软件层支撑,通过API完成系统资源的调用。
操作系统的目标本质上就是要追求更为高效的硬件资源管理,透过软件技术实现灵活高效可信统一的虚拟硬件资源管理,这是操作系统发展的重要驱动力。在某种意义上也正是因为以操作系统为代表的系统软件平台的不断发展,带来了应用软件市场的快速繁荣。
如果应用软件是构建在纷繁复杂的硬件设备基础之上、构建在不同的网络提供商所提供的网络之上,可以想像开发工作量和开发复杂度将非常大,而系统级软件平台就可以屏蔽掉底层的异构系统,这就是操作系统的目标。
梅宏表示,信息化3.0时代需要管理的是海量异构硬件资源所构成的信息基础设施。云、管、端、多网融合的复杂环境,各种各样的计算设备,还有人与物,这么多的资源怎么能够实现有效管理?相应的基础设施就需要新的资源管理机制,多样化、领域化、个性化的管理资源需求就出现了,比如规模化的资源整合、基于巨型虚拟机的巨型资源设备,包括GPU、摄像头、手机上的传感器等等微型化设备,都要都需要通过软件构建API的方式实现虚拟化的统一管理。
作为PC时代的操作系统泰斗、Linux创始人Linus Torvalds表示他开发Linux时,把Linux当成一个PC操作系统。后来,美国一家服务器公司说要把Linux用到服务器上,用以支持4000个CPU,随后做了专门化的编写,该代码对Linux内核做了有益的补充。在另一方面,移动端关注的是低功耗,而不是多少个CPU,当然现在每个手机里都有4-8个CPU。现在很多开发商都把Linux用于手机操作系统的开发,他们的开发工作对于服务端的Linux系统来说,也有着价值。
Linus因此认为,Linux不是某一个版本的操作系统,而是服务器端、手机端、PC端等多种方向的Linux版本的平衡版。“未来很难预测,没有办法开发出理想的操作系统,但是可以通过Linux达到一个平衡的状态。能否达到理想状态已经不重要了,只要能把项目推进。Linux是针对不同场景的操作系统,而不同场景的代码改进可以让开发者和Linux内核都有改善和提高。”
在谈到通过开源方式开发操作系统等软件时,Linus认为参与开源项目的人有不同背影,有着不同的诉求。有的人认为开源的理想比项目本身更重要,但也有人参与开源项目是为了商业利益。目的不一样,利益点也不同,但Linus认为开源是开发技术的方式,也是很务实的方式。“我创建开源Linux,是与别人一起打交道和沟通的很好的方式。Linux Foundation更看重技术方案,通过协商达成一致。而我推动Linux项目的目的是关注技术,以技术为中心,这是我追求的目标。”
Linux基金会HyperLedger项目负责人Brain Behlendorf表示,开源让开发者、企业、用户等共建一个“家”,这样的话失败成本就很低,因为能找到共同点。20年前提出了开源的概念,基于许可协议所带来的收益,让各参与方找到共同的技术诉求和利益公约数,以共同同意的方法推动开源项目。华为开源软件和社区战略首席专家侯培新则表示,成功的开源项目,尽管各方出于自己的考量各有利益诉求,但还是会形成公共技术,就像Linux有内核但有不同的发行版,但有一个共同的基础。
接下来,软件定义操作系统的时代什么时候会到来?人工智能AI能否驱动软件定义操作系统?美国国防部高级研究计划局(DARPA)在2015年开始启动一项资源自适应软件系统(BRASS)的研究,其核心思想是开发一个能经受未来100年技术变革而能自适应的软件技术体系,该软件技术体系能自行对所在硬件资源生态系统的变化做出安全、动态式的响应。在很大程度上,这就需要一个能被软件或代码自行定义的“操作系统”。(文/宁川)