|
中国网/中国发展门户网讯 操作系统是计算系统的核心,也是信息产业生态的核心,更是信息时代安全的基石。操作系统向下管理各种硬件资源,向上为用户和应用程序提供服务支持。正是操作系统的出现,才使得计算机从早期的专用专属走向如今的通用大众,并带来计算机应用的繁荣。
操作系统的发展线
回顾操作系统近 70 年的历史,存在主、辅两条发展线。
主线:面向单机的操作系统的发展。主机(mainframe)时代,围绕如何提升计算资源的利用率,出现了作业批处理、共享资源、分时处理、资源管理等概念与机制,操作系统形态慢慢形成和完善。早期的主机操作系统基本上是专用专属,即为每种计算机都要去实现一套操作系统。20 世纪 60 年代,IBM OS/360 系列操作系统具备了现代通用操作系统的雏形,其多道作业批处理机制、虚拟机机制等有效提升了硬件效能;尤其是该系统提供了标准接口用于连接外部设备,实现了其在 IBM 360 系列大型机家族中通用,方便了应用程序的移植,这标志着操作系统开始从专用走向通用。20 世纪 70 年代初,美国贝尔实验室为小型机(minicomputer)研发成功的 UNIX 操作系统,被认为是第一个现代意义上的通用操作系统。UNIX 引入了众多革新性设计,是第一个采用 C 高级语言编写的操作系统,具有优秀的跨平台可移植性,能为不同厂商、不同种类的计算机提供一致和标准的应用程序编程接口(API),从而迅速获得广泛应用和推广,并对后续操作系统的发展产生了深远的影响。UNIX 之后,单机操作系统的结构和核心功能基本上定型,此后的发展主要是为适应不同的应用环境与用户需求而推出新型用户界面与应用模式,以及面向不同应用领域进行定制与优化。例如:个人计算机操作系统 Windows 和 MacOS 提供基于图形用户界面的友好人机交互方式;开源开放的 Linux 操作系统是对 UNIX 的继承和衍化;智能终端操作系统 Android 和 iOS 等则进一步改进了面向移动终端的易用性,并创造了新型的应用软件发布模式——应用程序商店(App Store)。
辅线:对网络和基于网络的并行、分布计算提供更好的支持。分布式操作系统、网络中间件、网络操作系统等概念也相应诞生。操作系统对网络的支持首先表现为提供基于网络的远程访问和网络化资源管理的能力;进而将网络视为应用的运行平台,通过网络中间件屏蔽底层异构性,提供通用的网络相关功能,支撑网络应用软件的运行和开发。随着互联网的快速发展,操作系统面向的计算环境在从单机、局域网平台向互联网平台延伸,“网络就是计算机”(The Network is the Computer)、“互联网作为计算机”(Internet as a Computer)等概念应运而生,出现了“软件即服务”(Software as a Service)等新型应用模式;为了更好地对不同的互联网计算与应用模式提供支持,以及管理和利用互联网平台上庞大的计算资源和数据资源,出现了面向新型互联网应用、基于单机操作系统的网络化操作系统。例如,互联网操作系统(Internet OS)理念的提出,包括基于浏览器的各类 Web OS、云计算操作系统(Cloud OS)、数据中心操作系统等。
此外,遵循向下管资源、向上支撑应用的原则和理念,操作系统的概念开始扩展和泛化,出现了智慧城市操作系统(Urban OS)、家庭操作系统(Home OS)、机器人操作系统(ROS)等。
操作系统重大变迁的“20 年周期律”
考察操作系统几十年来的发展,其主要驱动力是面向计算机硬件的迅速发展,以更好、更高效地管理硬件资源并充分发挥硬件资源所提供的计算能力;同时,面向新的应用需求和用户需求,沉淀应用领域共性,提供更便利、易用的人机交互和应用支撑。因此,随着新型硬件资源的发展和新型应用模式的出现,操作系统不断演化和变迁。
梳理操作系统发展的重要事件及其时间节点,其重大变迁存在“20 年周期律”,即每 20 年出现一次跨越式发展机遇,诞生新一代操作系统。主机计算时代(20 世纪 60—80 年代)的 IBM OS/360、DEC VMS 和 UNIX,个人计算时代( 20 世纪 80 年代—2000年)的微软 Windows 和开源 Linux,以及移动计算时代(2000—2020 年)的谷歌 Android 和苹果 iOS 是各自时代的代表性操作系统,并引领了各自领域的操作系统生态。当然,“20 年周期律”并不是说操作系统的新生态取代了旧生态,而是新、旧生态并存,但新生态相比旧生态在装机数量和用户规模上却是 1—2 个数量级的扩张。
在这个变迁过程中存在几个有趣现象:每代操作系统形成规模、占领市场、形成垄断后,鲜有在原赛道上后发赶超的例子;原赛道的领先者均未在新型操作系统的新蓝海延续其成功,如 IBM 之于个人电脑(PC)操作系统市场、微软之于智能终端操作系统市场等;新生态的引领者均试图采用“农村包围城市”的策略进军原有生态,如微软进军服务器操作系统市场、谷歌进军桌面操作系统市场等。
笔者以为,“20 年周期律”是源于计算机产业发展的“贝尔定律”,即计算设备约每 10 年完成 1 次升级换代,设备数和用户数均增加至少 1 个数量级。客观而言,新型计算模式及激增的新型计算设备共同催生了新型应用,带来新的蓝海和巨大创新空间,间次推动操作系统的升级换代和新型操作系统的诞生,进而形成新的操作系统生态。在每次升级换代的阶段,原赛道的领先者可能因为“思维定式”和“路径依赖”,往往对新蓝海的机遇反应缓慢,因而痛失良机。而新形态的引领者往往都先占据了新蓝海的用户入口掌控权,如微软之于个人计算、谷歌之于万维网和移动计算。对于通用计算领域,领先者一旦建立并完善新的产业生态,就占有了生态主导权,后发者就很难有机会实现赶超。历史经验表明,如果希望在操作系统领域有所作为,就必须把握住新蓝海出现带来的宝贵机遇。
面向泛在计算的新形态泛在操作系统
人机物融合泛在计算新蓝海
当前,随着互联网向人类社会和物理世界的全方位延伸,一个万物互联的人类社会、信息系统、物理空间(人机物)融合泛在计算(ubiquitous computing)的时代正在开启。据全球综合数据资料库Statista发布的数据,2019 年全球联网的物联网终端数量已达百亿,超过了非物联终端的数量,2025 年预计将突破 300 亿,未来千亿规模已然可期。
面向未来人机物融合泛在计算的新模式和新场景,软件定义一切、万物均需互联、一切皆可编程、人机物自然交互将是其基本特征。除传统计算设备(“机”)和新兴物联设备(“物”)外,“人”作为一种新的重要元素的参与,构成了极其复杂且动态多变的计算环境。所谓泛在计算,是指计算无缝融入物理环境,无处不在、无迹可寻。泛在计算的环境多变、需求多样、场景复杂,要求硬件资源、数据资源、软件平台、应用软件具有柔性灵活的软件定义能力、动态适配能力、泛在互联能力和自然交互能力。面向“物”,海量的、更为轻量级的各类计算、传感设备带来系列管理调度新挑战;面向“人”,“人在回路”导致不确定的复杂交互和动态按需定制;面向“网”,物联场景带来低延迟更可靠的刚需;面向“应用”,动态多样性带来新的共性凝练需求……,这些均是现有操作系统尚不具备的能力。从“20 年周期律”的视角,千亿规模的各类泛在物联终端和新型的泛在计算模式的出现,意味着操作系统进入新的 20 年发展周期的条件已然具备,新的蓝海已然出现。
国内外新形态操作系统探索
国内外学术界和产业界已有不少面向特定计算场景和新型业务需求的新型操作系统实践。例如,美国西北大学提出面向信物融合的先进制造操作系统计划;谷歌公司提出 Fuchsia OS 计划,用于支持桌面设备、移动终端、物联网设备及其互联;大众汽车公司启动 vw.os 汽车操作系统计划,尝试转型“软件公司”,将可能对上下游产业链产生变革性影响;阿里巴巴公司推出以驱动万物智能为目标的移动操作系统 AliOS;华为公司发布了面向全场景、全连接的智能终端操作系统鸿蒙 OS 和 Open Harmony 等。此外,还出现了众多的物联网节点操作系统,如 FreeRTOS、RIOT、Zephyr、TinyOS、Contiki、Android Things 等,而这些均可归为针对泛在计算场景的操作系统。
上述新型操作系统实践大多是从传统的嵌入式操作系统技术途径针对特定泛在计算场景进行切入和扩展,在资源管理、网络协同、人机交互、应用模式等方面分别进行了新的技术探索。嵌入式操作系统是一类重要的单机操作系统,源于 20 世纪 70 年代的单片机。单片机(single-chip microcomputer)集成了计算机的主要组件,形成一个功能较完善的极微型计算装置,广泛应用于工业控制等领域,也称微控制器(microcontroller)。单片机/微控制器的出现意味着在各类设备/物体中“嵌入”计算装置成为可能,嵌入式系统及其操作系统的概念随之出现,这可被视为原始的“泛在计算”尝试。嵌入式系统主要面向微控制器等资源受限环境,并且与物理世界直接交互,因此需要非常轻量化,并要保证实时性(时间确定性)。不过,物联网操作系统有其新的关注点:一方面,强调对“连接”及建立在连接基础上的分布计算甚至“云-边-端”融合计算的支持,从而支撑“万物互联”的目标;另一方面,强调对异构物联网设备能力的统一抽象,从而屏蔽物联网设备的碎片化特征,为提升物联网可管理性、可维护性、构建良好物联网生态环境奠定基础。考察物联网操作系统现状,其技术体系还过于碎片化,在计算模型、共性凝练、人机交互、安全保障等方面均难以满足人机物融合泛在计算的需求。
泛在操作系统:内涵与外延
人机物融合泛在计算模式的新特征对新型操作系统带来的挑战是全方位的:既需要面临“云-管-边-端-物”乃至“人”的海量异构资源尤其是各种泛在化的“端”资源的有效管理,也需要进行各种多样化的新型应用的共性凝练,还需要支持和适应场景动态多变的复杂泛在计算环境,应对开放环境带来的安全可信挑战。因此,有必要对面向泛在计算场景的新型操作系统进行整体性和系统性的认识,尝试为其建立新的理论、技术和应用体系,推动计算模型、体系结构、应用构造、可信保障等方面的创新发展。
基于对各类新型操作系统研发实践的梳理和对泛在计算场景的理解,笔者以为,面向人机物融合泛在计算场景,需要“沉淀”一类新型操作系统——沿袭过去以计算模式分类操作系统的惯例,可称为“泛在操作系统”(Ubiquitous Operating System,UOS)。泛在操作系统支持新型泛在计算资源的管理和调度,以及泛在应用的开发运行。由于泛在计算场景的领域行业特定性、泛在计算资源的广谱多样性和极端特异性,泛在操作系统的领域性和专用性将会比较突出,有必要面向不同的应用模式和场景构建不同的泛在操作系统。因此,不会有“大一统”的通用、普适的泛在操作系统,而是会存在领域或应用场景定制的多样性的泛在操作系统。
从单机操作系统发展主线视角,泛在操作系统秉承泛在计算的基本思想,特指面向泛在化计算资源管理,支持泛在应用开发运行,具有泛在感知、泛在互联、轻量计算、轻量认知、反馈控制、自然交互等新特征的新形态操作系统;其发展重点将是支持低功耗 CPU 的轻量、实时、可靠内核,以及“感、联、知、控”的共性框架凝练。从操作系统网络化发展的辅线视角,泛在操作系统也可被“广义”地用于指代基于单机操作系统(节点操作系统)、面向网络环境与场景的新型“中间件”层系统软件;其遵循的是操作系统的“操作”和“管理”功能本质,支持灵活多样的资源虚拟化与异构性桥接能力,支持新型计算模式下的应用开发与运行支撑。
挑战与机遇
泛在操作系统面对的泛在资源呈现海量、异质、异构、自主等特性,资源管理的复杂度呈指数级增加;系统运行环境从单一信息空间变为人类社会、信息系统、物理空间(人机物)三元融合空间,辖域范围和性质发生了根本性变化;应用模式更为多样化,领域性和专用性突出,资源特性和应用需求更为极端化和个性化,开发与运行支撑更为困难;万物互联带来了更突出的安全可信问题,多域融合使得信任从单点单向变为多方多元互信,信任关系错综复杂,可信性难以保障。为了支撑人机物融合计算模式,应对新应用和新场景带来的挑战,泛在操作系统需要在体系结构、运行机理、应用构造、可信保障等方面进行创新性研究。
体系结构与运行机理。与通用的个人计算机、移动智能终端不同,泛在计算领域的设备专用性、特异性、受限性突出,通常要求操作系统可定制、柔性化、可演化,同时要具有低能耗、低时延、高可靠、实时性等性质,这对操作系统的体系结构提出了重大挑战。当泛在设备无缝嵌入、融入各种物体中并变得无处不在时,加之顾及“人在回路”带来的复杂影响,新型泛在操作系统的运行机理、交互方式、管理机制等都将发生相应变化——场景相关的数据、知识与智能的因素凸显,操作系统需要具备环境感知、自我管理、群体协同的能力,以适应所处的泛在计算场景。
应用构造与软件定义。泛在操作系统要支持方便地构造可感知环境、泛在互联、多维认知、自然交互的应用,需要新型的对数据、知识、智能和安全支持更好的程序设计模型、语言与运行机制。对人机物融合场景与计算环境各种实现感知、运算、通信、执行、服务等能力的异构资源进行合理有效抽象,需要领域特定的程序设计模型,以更好适应从硬件等“有形”资源虚拟化向数据、知识等“无形”资源虚拟化延伸;并且,通过软件定义途径满足跨组织域的资源管控与配置需求,支持泛在应用的构造。凝练应用共性,需要提供对领域知识和人工智能(AI)模型等的封装库,支持以低代码甚至无代码化的方式开发泛在应用,降低特定场景和领域的软件开发门槛;还需要提供合适的泛在应用运行时(runtime),方便在泛在环境下加载和管理由各种语言编写的泛在应用。
可信与安全保障。万物互联导致系统前所未有的开放,系统的可靠性和安全性保障面临着空前的挑战。从单个泛在计算终端的角度,需要具有内构安全机制,具备识别“自己(正常)”和“非己(恶意)”行为的免疫机制,保护系统自身的数据安全(security)和隐私(privacy)。从整个人机物融合泛在系统的角度,需要建立类社会化运作的系统化的安全与信任机制,应对多方多元互信的挑战,保证整个人机物融合系统的安全可靠可信运行。
可以预见,人机物融合泛在计算的新蓝海蕴含着新的发展机遇,将带来巨大的创新空间。由于人机物融合泛在计算的领域性、专用性突出,泛在操作系统本质上属于领域和行业专用平台,而行业应用场景的多样性意味着围绕行业构建生态成为可能。因此,未来的泛在操作系统将不会存在像 Windows 和 Android 那样的绝对领先者,而将呈现多个操作系统生态共存的多元化格局。泛在操作系统既有传统操作系统面临的老问题,又有新场景和新需求带来的新问题,这无疑为操作系统的基础研究及新型操作系统的研发带来了难得的历史性机遇。
对我国发展操作系统的若干认识与思考
我国在传统操作系统原赛道上的跟随追赶
由于起步晚、基础差,我国操作系统发展长期处于跟随状态。在主机计算时代,我国操作系统发展的主要任务是面向国家战略急需,填补系统软件方面的空白,自力更生为国产计算机提供配套。从个人计算时代开始,国际上操作系统从专用化走向通用化,并开启了商业化之路;市场领先的主流操作系统在全世界范围形成了垄断和主导之势,也极大影响了我国的操作系统发展。改革开放后,我国操作系统的发展逐渐和国际主流接轨,跟随学习国际主流商业和开源操作系统,走兼容创新之路:20 世纪 90 年代之前,主要跟随、学习 Unix;进入 21 世纪后,开始转向基于开源 Linux 操作系统内核进行深度定制和二次开发。在移动操作系统领域,国内厂商基本是以 Android 开源项目(Android Open Source Project)为基础进行二次开发。在网络化操作系统方面,国内厂商研制了多个云操作系统,并在应用规模和性能表现等方面达到了国际先进水平。
总体来说,在面向传统计算平台的传统操作系统原赛道上,我国仍处于跟随、追赶状态;由于不掌握操作系统生态的主导权,大规模发展面临诸多困难。然而,出于国家安全和产业发展自主可控的需要,原赛道上以“国产替代”为目标的竞争策略仍是必要的,需要继续努力。同时,面向人机物融合、万物互联的新蓝海,也需要积极开展在新型操作系统新赛道上的研发布局。
数字化转型为操作系统发展带来新空间
当前,我国正在大力推进数字中国建设和数字经济发展。2021 年 10 月 18 日,习近平总书记在中共中央政治局就推动我国数字经济健康发展进行的第 34 次集体学习时强调,数字经济发展速度之快、辐射范围之广、影响程度之深前所未有,正在成为重组全球要素资源、重塑全球经济结构、改变全球竞争格局的关键力量;要充分发挥海量数据和丰富应用场景优势,促进数字技术和实体经济深度融合,赋能传统产业转型升级,催生新产业新业态新模式,不断做强做优做大我国数字经济。
推动各行各业数字化转型,这对人机物融合泛在计算提供了巨大的市场空间,对万物互联相关的新技术及数字信息基础设施带来迫切需求。数据显示,2019 年我国数字经济规模达 35.8 万亿元,占国内生产总值(GDP)的 36.2%,对 GDP 增长贡献率为 67.7%;2020 年数字经济总体规模达 39.2 万亿元。2017 年规模以上工业企业生产设备数字化率、数字化设备联网率分别达到 44.8% 和 39%;2020 年6 月全国制造企业生产设备数字化率达 48.7%;2020年,规模以上工业企业数字化设备联网率提升至43.5%。数字化转型已成为不可逆的发展趋势,其重要表征正是面向万物互联的人机物融合泛在计算。
积极寻求在泛在操作系统新赛道的发展优势
泛在操作系统是人机物融合泛在计算生态的核心,是数字化转型的基础性平台,更是智能化综合性数字信息基础设施的“基础”。笔者以为,我们需要把握机遇,加快布局,积极寻求在泛在操作系统新赛道的发展优势。具体可从 3 个方面部署。
加强基础研究和人才培养。探究人机物融合泛在计算的建模理论和泛在操作系统的基本原理、机理及构造方法学,探究和梳理对未来以数据、知识、智能为核心要素的新型操作系统技术体系,探讨构建相应的编程模型、系统平台、开发方法和支撑工具体系。结合基础研究,加强泛在操作系统生态相关的研发人才培养体系建设,做好教材和课程建设,打牢系统软件人才培养的基础;发挥国家科研项目和评价体系的引导作用,鼓励更多的高校、科研院所选题聚焦系统软件;深化产学研合作,加快科研成果到企业产品的双向互动。
基于开源构建发展生态。软件开源、硬件开放甚至数据开放已成为不可逆的趋势。因此,需要从传统的封闭开发模式转变为开源开发模式,通过开源社区聚集企业、高校和个人力量,协同推进操作系统技术的迭代创新;需要广泛汇聚芯片、终端、系统软件、开发工具、行业软件等从业者共同参与,形成智能化综合性数字信息基础设施协同创新技术生态,通过全生态整合、全栈优化、软硬件协同为泛在操作系统发展提供健康环境。
发挥行业优势支撑生态发展。结合智能制造、智慧农业、智慧城市、数字社会等国家战略,深耕行业领域需求,发挥行业领域优势,发展面向行业、领域、场景的多个泛在操作系统生态,与相关行业领域相互支撑、协同发展。
2021 年 9 月,国家自然科学基金委员会信息科学部正式启动“泛在操作系统及生态构建研究”专项,瞄准国家在操作系统及其生态上的重大战略需求,探索面向泛在计算场景的操作系统新理论及其软件定义新方法。2021 年 11 月,工业和信息化部发布了“‘十四五’软件和信息技术服务业发展规划”,对泛在操作系统发展做出部署,明确提出要“大力支持开展‘软件定义’及泛在操作系统平台相关理论和技术研究”。笔者团队在提出泛在操作系统研究方向后,即开展了对制造业数字化转型的研发实践,依托浙江省北大信息技术高等研究院,研发了面向工业物联场景的泛在操作系统“矽璓”(XiUOS),帮助促进工业领域人机物的深度互联和融合计算,并取得初步应用效果。
由于国家的高度重视和产学研各界的共同努力,我国新时期操作系统发展的良好局面正在形成。相信通过开放合作、协同创新、尊重规律、尊重市场,在全球化的大背景下,追求创新发展和卓越引领,一定可以谱写出我国操作系统发展的壮丽新篇章。
(作者:梅宏,高可信软件技术教育部重点实验室(北京大学)、北京大数据先进技术研究院;曹东刚,高可信软件技术教育部重点实验室(北京大学)、浙江省北大信息技术高等研究院;谢涛,高可信软件技术教育部重点实验室(北京大学);《中国科学院院刊》供稿)