从一般意义上说,操作系统是对计算机硬件实现的抽象,并为用户程序提供一个较理想化的抽象模型。在前面回顾的操作系统发展史中,我们可以看到每一代操作系统都有不同的关键特征。现代操作系统经过多年的发展,基本概念和功能已经成熟,当前发布的操作系统新版本主要涉及功能增强、性能优化和对新硬件的适配。在万物互联时代,产业环境、消费者和开发者都对操作系统有不同于以往的诉求,如果把可满足这些诉求的操作系统称为下一代操作系统,那么这个操作系统应该具备哪些关键特征呢?
我们知道现代操作系统的规模越来越大、功能越来越复杂。据统计,1975年发布的UNIX V6代码约1万行,1991年发布的Linux 0.01代码约8000行,2003年发布的Linux 2.6.0代码约593万行,2021年发布的Linux 5.12版本的代码约2880万行,Linux每年新增代码约200万行。设备开发者从一个如此庞大的操作系统的源码中裁剪出自己设备可用的精简操作系统是一件非常困难的事情,原因之一是操作系统内部实现没有进行充分解耦,虽然也进行了一定的模块化设计,但不同特性的代码盘根错节地耦合在一起,各个模块间的依赖非常复杂。在万物互联时代,设备种类异常丰富,设备开发者需要一种能够灵活定制的操作系统。也就是说,系统构建者不但需要从操作系统中获得更多的通用性,还需要更多的灵活性来定制他们的特定软件运行环境,而且这种灵活性不会引入破坏标准组件的复杂性。因此,我们认为下一代操作系统的一个关键特征是完全按照模块化方法构建,以与正在构建的下一代硬件相适应,它具有高度抽象和模块化的特点,系统构建者可以从现有组件货架中快速组装。
虚拟化(Virtualization)技术起源于20世纪60年代末,是计算机的一种资源管理技术。它的基本原理是通过将计算机的各种物理资源(如CPU、内存、磁盘、网络适配器等)予以抽象和转换,对外呈现出一种可分割、可组合的配置环境,从而打破物理资源不可切割的壁垒,并提供一种更好的方式来使用这些物理资源。根据不同抽象层次,虚拟化技术可以分为硬件抽象层(Hardware Abstract Layer,HAL)虚拟化、指令集层虚拟化、OS层虚拟化、编程语言层虚拟化、库函数层虚拟化、应用层虚拟化等。当前虚拟化技术的一个基本特征是基于同一物理设备进行分层虚拟化。在万物互联时代,多台不同物理设备之间能否进行跨设备虚拟化?答案是肯定的。譬如,电视把门铃的摄像头虚拟化到电视中,这样可以方便地让电视使用门铃的摄像头获取视频流。虚拟化技术打破了单一硬件的物理限制,通过对多台设备的硬件资源进行统一虚拟池化,可为用户提供更多的服务和功能,实现更好的跨设备协同特性,带来前所未有的跨端体验。我们认为,下一代操作系统的一个关键特征是具备细粒度的跨设备虚拟化。譬如,可以创建一个从网络获取而不是从 USB(Universal Serial Bus,通用串行总线)端口获取坐标数据的虚拟鼠标,在物理上该鼠标属于另一台本地或远端物理设备。当然,也可以在一台智能终端上启动另一台智能终端上的用户程序。
交互式操作系统允许用户频繁地与计算机对话,对话的方式包括键盘和鼠标的输入、触摸输入、屏幕的输出等。在万物互联时代,更多更自然的交互方式将被引入计算机世界中。在某些场景下,语音交互可能是一种更便捷、更安全、更合适的交互方式。譬如,与无屏智能音箱交互,或者在驾驶过程中通过语音交互更改车机上运行的导航软件所设置的目的地。在万物互联场景下,设备形态的多样性对交互的多样性提出了更高的要求,人们甚至不用刻意发出指令,设备也会自动捕捉用户可能的潜在意图。想象这样一个场景,司机长时间驾驶车辆在高速上行驶,有点困意,车机会及时感知到司机的身体状态,如果司机继续驾驶可能存在安全隐患,车机会通过高频音提醒司机需要休息。我们认为,下一代操作系统的一个关键特征是提供多模态交互,人们与设备的交互方式不能仅局限于传统的交互方式。多模态交互技术会提供更自然、更高效、多样化的其他交互方式,同时各种交互方式互相叠加,主动交互与被动交互协同,给人们带来前所未有的交互体验。
分布式操作系统是指分布在不同计算机物理设备上的操作系统组件通过通信网络进行数据交换和协同的软件系统,不同组件共同对外提供服务,这对用户来说,就像是一台计算机在提供服务一样。在万物互联时代,分布式操作系统如何与形形色色的IoT设备结合使用?这又会带给人们什么样的用户体验?能否实现用户只使用任意IoT设备,例如键盘、鼠标、智能手表、智能音箱、摄像头、智能手机、电视、汽车或任何电子设备,将其作为一个“接入点”,操作系统就能够将用户所拥有的设备与用户数据连接在一起,从而让用户获得一致的交互体验?答案是肯定的。譬如,用户购买了一部新的手机,只需要对其进行授权,它就会加入“我的设备”。又如,用户在行驶的汽车里使用笔记本计算机工作,若笔记本计算机的处理器能力不足,操作系统会将一部分计算需求转移到车机的处理器进行协同处理。操作系统的文件存储能力会进一步增强,用户不用关心文件存储位置,甚至不再担心文件备份问题。我们认为,下一代操作系统的一个关键特征是具备异构分布式能力,分布式能力不再是服务器的专属能力。
从用户程序开发者的角度来看,开发者可调用的能力不再只来自操作系统本身,它可能来自当前设备中的其他程序,或者其他设备中的程序。开发者不必关心它来自哪里,只需要关心自己需要什么。所有开发者开发的用户程序都可以为其他用户程序提供能力,操作系统提供一套全新的开发模型和开发框架,以满足操作系统快速组装、细粒度的跨设备虚拟化和异构分布式对用户程序的开发要求。
众所周知,AI经过多年的发展,近几年在深度学习领域有了实质性的突破,在某些特定方面智能接近或已超过人类。近期基于大语言模型的各种应用层出不穷,一次次带来超出预期的体验。与当前操作系统相比,下一代操作系统将原生支持AI,包括AI基础能力和利用AI自主改造的能力。AI基础能力主要包括对AI硬件的管理、内置AI开发框架和AI推理模型等,方便用户程序高效利用系统的AI资源。操作系统利用AI自主改造的能力主要体现在利用预置的AI能力进一步提升当前操作系统智能化水平。譬如通过周边环境感知、运行上下文感知等AI技术让系统资源的管理更加高效;通过语音识别,机器视觉,用户操作习惯学习等AI能力,让交互操作个性化、更自然;通过AI能力将传统UI控件改造为智能UI控件,支持智能抠图、图像分割、图像理解、文字提取、文本朗读和智能纠错等;通过AI对分布式能力进行改造,提供智能搜索和智能协同等体验。操作系统和AI的结合将对现代操作系统带来深刻的影响。
安全是操作系统运行的基础,特别是在万物互联时代,大量的设备连接在一起,它们协同工作,使数据在多台设备之间不断流转。万物互联带给用户便利的同时,也暴露了更多的攻击面,让黑客有机可乘,每一台设备都可能成为被攻击的入口,每一次成功的攻击都可能威胁到用户的所有设备。随着用户对个人数据越来越关注,必须有效保障用户的知情权和隐私权,做到让用户对自己的个人数据可知、可控。我们认为,下一代操作系统的一个关键特征是更加安全,即通过信任管理、访问控制、数据加密、可信计算、差分隐私、数据脱敏等技术,构建集采集、传输、存储、访问、更新、生命周期管理于一体的数据安全体系。