3.5 演进中的新型智能操作系统

操作系统是基础性系统软件,也是信息技术群中重要的共性支撑技术,主要任务包括管理计算机硬件资源与软件资源、支撑上层软件运行、提供用户与系统交互的操作界面等。在底层硬件、上层程序和用户之间发挥承上启下的关键作用,系统管理人员、程序设计人员和最终用户都可以基于该操作系统完成各自任务。

最早的计算机没有通用操作系统,人们通过各种按钮来控制计算机,后来出现了汇编语言,操作人员通过有孔的纸带将程序输入电脑进行编译。由于不论从硬件成熟度还是操作系统技术体系成熟度上,还没达到形成通用操作系统的程度,即使后来计算机厂商为每一台计算机创造了不同的操作系统,在一台计算机上编写的程序还是无法移植到其他计算机上运行。直到20世纪60年代有了IBM System/360,才为一系列用途与价位都不同的大型机使用了统一的OS/360操作系统。

操作系统与计算机硬件发展息息相关,伴随着计算机硬件和计算架构技术的不断发展,在信息技术发展的不同阶段,操作系统也相应更新换代。

最早的操作系统是针对主—从结构大型计算机开发的UNIX操作系统,而磁盘操作系统(Disk Operating System, DOS)则是最早运行于PC机上的电脑操作系统。微软研发的MS-DOS运行于IBM PC上,成为当时个人电脑的主流配置。图形化个人电脑操作系统以微软的Windows和苹果的Mac OS为代表,创新性地采用了图形用户界面以及鼠标或触控面板等输入设备,颠覆了用户与计算机的键盘交互方式。Mac OS在图形化个人电脑操作系统方面起步最早,但由于与麦金塔计算机捆绑销售,后期没有得到大范围应用;微软在1993年推出Windows 3.1,1995年又推出Windows 95,使图形化操作系统替代DOS成为全球个人电脑操作的主流。

网络移动时代的主流操作系统以谷歌的Android开源操作系统和苹果的IOS为代表,主要运行于手机及各类移动终端。相对PC操作系统,为适应移动设备计算力和功耗限制,移动操作系统进行了精简瘦身,去掉了移动端不需要的功能;同时,适应新的技术条件和移动场景,实现了能力升级。比如在硬件支持方面,相比PC操作系统增加了电话通讯、位置定位、拍照摄像等新的硬件管理操控功能;在人机交互方面,手写输入、语音输入成为更适合小屏幕移动设备的交互方式;在应用软件运行支持方面,能够支持各类移动互联网应用的开发和运行,支撑起出行服务、新媒体、网络社交等一大批移动互联类应用,越来越成为人们日常使用的主要工具。

智能时代大量具有机器学习运算需求的智能型应用开始出现,各类智能系统运行的硬件环境更加多样化,未来各类工作场景中人—机高效协同交互的需求更加迫切,现有不论PC操作系统还是移动操作系统都远不能满足需求,需要发展新型智能操作系统。

目前对于智能操作系统的概念认知仍不统一,很多领域的研发者提出了不同的智能操作系统概念。比如深度学习开发框架、人工智能能力开放平台、机器人操作系统等领域都有研究者认为,其研究方向将通向未来的智能操作系统,智能家居领域也在打造通过语音交互控制各类家居家电的未来智能操作系统。

如果回顾操作系统一代代演进的特征,可以发现:向下支持硬件资源管理、向上支持应用软件运行、横向支持与用户的交互都是一个典型操作系统的必备要素。而这些要素在智能时代都面临新的需求,需要具备更强大的能力,同时还面临支撑多智能系统之间协同交互等新的要求。

1.需要支持差异化、复杂度更高的底层硬件载体

具备前端智能计算能力的智能算法将与各类移动终端、可穿戴设备、机械装置等深度渗透,智能时代泛在智能化的新需求,要求形成贯通物联网设备、智能终端、无人运载工具、智能机器人等异构硬件设备的智能操作系统,还需要管理机械机构、传感器、控制器、能源部件等不同类型的物理资源。

传统的工业机器人大多是能够完成特定动作的自动化机械臂,比如完成特定位置、特定形态工件的移动、加工、焊接等。智能机器人是人工智能技术与工业机器人的结合,需要适应工厂生产过程中更具灵活性的任务,比如食品分拣中的蔬菜形状千奇百怪,电子商务物流需要处理各种形状的商品。智能机械臂就需要借助机器视觉设备进行物品的定位和物品类别的识别,也需要借助各类型传感器进行力控反馈和环境感知,还要与智能化传输设备进行协作配合。然而不同的底层硬件差异非常大,导致软件开发周期长、难度大,软件运行兼容性差。工业智能机器人操作系统可以有效发挥中间件的作用,贯通机械臂、摄像头、传感器等不同硬件,协调硬件资源、驱动、算法,实现智能工业机器人手、眼、脑协同作业,并建立感知—规划—执行的闭环学习能力。

伴随万智互联发展趋势,我们需要智能操作系统运行于更为广泛的智能化终端上,具备多平台多设备适应能力,因此,系统的兼容性和通用性将成为需要解决的一个重要问题。在这方面,华为研发的鸿蒙系统正行进在探索的路上。据介绍,鸿蒙操作系统并非只是安卓系统的分支或翻版,而是针对下一步5G和物联网环境打造的横跨手机、PC、平板、智能电视等智能设备,同时兼容安卓应用的一套新的操作系统平台。

2.需要支持云、边、端分布式协同的运行模式

随着芯片性能及嵌入式计算能力的快速提升,智能计算前移将成为必然趋势,很多智能计算将在前端完成,设备端、边缘计算端对存储、计算、优化等任务的管理需求将会随之而来。同时,随着具备智能计算能力的设备越来越多,通用问题和异构问题需要协同。支持单一平台部署的人工智能软件,也将向支持在物联网、边缘设备和云计算等不同平台上分布式部署的人工智能软件发展。

未来云端服务器操作系统也面临基于异构加速硬件开展机器学习模型训练等新的挑战,需要能够实现异构芯片支持,具备智能计算资源灵活调度和任务分配、用户信息隔离等新能力的云操作系统,并使AI能力从云侧到边缘侧再到端侧全面贯通。这就必然需要新的能够实现云、边、端协同计算和任务调度的智能操作系统。

3.需要支持更便捷高效的人机交互和群体协同

实现人对设备的交互与操控是操作系统的基本功能,每次操作系统升级都伴随着交互方式的变革。智能化正在推动人机交互模式从键盘、鼠标、手写、声音等单一信息输入到智能设备基于位置、温度、动作甚至情绪等不同信源的多模态环境感知与人机交互,操作系统将能够解决信息识别、知识转换和多模态知识融合问题,实现机器对人和环境的灵活感知和即时交互。人与机器的高效协同与深度共融,形成“人在回路”的人机混合计算形态。

同时,无人系统过去多采用封闭式技术架构和垂直专有模式开发软硬件,互连、互通、互操作难。未来大量的无人化智能装备需要实现大规模协同运行,就需要解决不同无人系统上智能操作系统的互操作和标准化问题。从支持不同设备通信网络联通,到支持群体智能协作,无人系统须具备自主作业、人机互理解和群体协同任务管理等新的能力。

4.需要支持各类智能算法的开发和高效运行

相对于PC操作系统和移动操作系统主要支撑传统程序和网络APP的运行,智能操作系统需要能够在各类设备、云计算等不同平台上高效部署人工智能软件,支持机器学习、知识推理、运动控制等智能算法的开发和运行,能够对数据、算力、知识等新型资源进行管理和优化调度。

近年来深度学习开源框架在全球快速发展,支持大规模深度学习模型的开发、训练、优化、推理等过程,成为人工智能算法开发者研发各类机器学习算法的主要平台。各类轻量化、终端化的设备侧机器学习开源框架也开始能够支持智能算法在设备端有限的算力条件下低功耗、高效率运行。深度学习开源框架有望成为未来智能操作系统的重要组成部分。

但未来智能操作系统将如何演化而来还存在很多不确定性。有可能从机器人操作系统的智能化进化而来,有可能从深度学习框架向涵盖更广泛功能的通用操作系统拓展而来,也有可能从当前各类设备端嵌入式操作系统向上演化形成,还有可能从当前手机移动操作系统向兼容更多智能移动设备发展而来。不同技术都在向着未来的智能操作系统发展,究竟未来技术路径如何演进,目前尚不清晰,有待继续观察。

在这一过程中,不同技术路线相互激荡,殊途同归。前期可能包括几类特定用途操作系统,之后其中的优秀者融合其他技术的功能,逐步进化为能够满足以上各方面需求的通用操作系统,成为最终胜出者和智能操作系统的主流。

智能时代也有可能不再出现大一统的智能操作系统。如同在移动互联时代,各类APP通常在计算机上研发,在移动操作系统上运行一样,运行在不同硬件设备上的智能系统不同组成部分、不同任务环节,也可能是由不同操作系统支撑,多个特定用途操作系统共同组成智能时代的操作系统体系。在服务机器人领域,ROS开源机器人操作系统越来越成为行业主流;在工业领域,不同行业针对不同任务正在发展不同的操作系统,比如手眼协同抓取操作系统、AGV移动平台操作系统、自动驾驶操作系统等,未来这些特定用途的操作系统是否会走向统一还有待观察。

总体来看,现在距离出现通用的智能操作系统还有一段路要走。而实际上,智能操作系统既是各类智能算法的运行载体,也是智能技术的综合集成。智能技术群的进步将与智能操作系统的演化相互促进,交错进行。人工智能不同分支领域的技术进步将是智能操作系统发展的重要推动力。包括多模态感知、视觉交互、深度学习、群体智能等理论和技术进一步成熟,云边端架构各环节技术逐步完善,以及底层软硬件技术栈的迭代。

不论未来其具体形态如何演变,智能操作系统都将是智能化变革不可或缺的参与者。