1.3.4 ICT时代操作系统的兴起
在ICT时代,用户可通过各种互联手段使用操作系统,从人们天天用的手机、工厂中的机器人、各种设备上的传感器,到服务器上的云容器,都运行着操作系统,可以说有计算的地方就有操作系统。操作系统无时无刻不在默默地为人们管理着他们的各种资产和设备。
(1)移动计算操作系统
21世纪初,非常火热的行业当属手机行业,自从苹果公司在2007年推出第一代iPhone(见图1.5)以后,这种具有多点大尺寸触控功能、快速稳健的网络能力、丰富多彩的应用生态,并能提供丝滑流畅操作体验的手机迅速风靡世界。这种拥有操作系统,可自由安装、卸载应用程序的手机被人们亲切地称为智能手机,iPhone 的出现促使智能手机迅速普及,开启了移动计算的新时代,也为操作系统带来了新的发展。
图1.5 苹果公司发布的iPhone智能手机
在iPhone推出之前,移动设备上已经存在一系列操作系统,例如Palm公司的Palm OS、微软公司的Windows Mobile、诺基亚公司的Symbian等。这些操作系统的设计目的是管理好手机上的各类资源,为用户提供的应用程序相对比较简单。而iPhone搭载的iOS在用户界面、应用程序生态环境和性能方面取得了巨大进步,一举成为当时最流行的智能手机操作系统。iOS带来了绝佳的用户体验,操作非常直观,且手机上的动画效果流畅,用户在轻松上手的同时还可享受无缝切换体验;此外,苹果公司为iOS打造了一个庞大的应用程序生态环境,用户可通过手机提供的应用程序商店下载、安装数以万计的高质量应用程序,这些应用程序经过了苹果公司严格的评估,安全性和质量均有保证。苹果公司则通过iOS这个操作系统进一步提供了卓越的软硬件整合能力,使得在iOS上运行的应用程序具有优秀的性能表现,再配合该操作系统对整体电池的控制策略,最终使得iPhone手机在性能、稳定性、电池寿命等各方面都具有远超对手的优势。
iPhone出现后,智能手机进入一个新的时代,也为UNIX类操作系统开启了一个新的纪元。iOS是从苹果公司的Mac OS X发展而来的,其源头还是之前介绍的BSD操作系统,但它是闭源系统,只有苹果公司生产的设备可使用该操作系统。2003年,另一个UNIX类操作系统登上了历史舞台,成了后来开源移动计算操作系统的代表,它就是Android。Android是基于Linux内核开发的,该操作系统的硬件访问通过Linux内核完成,并为应用程序提供一个独立的基于Java虚拟机的环境。开发者使用Java调用Android提供的更高层接口就能编写可在手机上运行的程序,这大大简化了开发移动应用的过程。为了应对iOS的强大竞争,Android进行了长期的改进以不断提升性能,在Android 5.0后该系统采用了ART(Android Runtime,Android运行时)技术,将Java程序预编译成可执行文件,大大加快了应用程序响应和启动速度。Android被谷歌公司收购后得到了广泛应用,且其开放源码的特性受到了手机厂商的热烈欢迎,当前已经广泛应用于各厂商制造的手机上,成为移动计算领域的“霸主”。
(2)物联网操作系统
早在20世纪末,就有学者提出“万物互联”的概念,即将传感器附着在任何物体上获取物体的各类参数,监控物体的实时变化情况,达到分析、调控物体状态的目的。将所有物体都连接在一起的网络被称为物联网。为了管理这些用于检测物体状态的设备,提供快捷方便的通信能力,业界开发了具有针对性的各类操作系统。通常这些操作系统需要适应这些设备中通信方式各异、能源有限的特点,具有鲜明的特色。
物联网操作系统乃至整个物联网行业都还处于发展初期阶段,尚未形成较为稳定的生态体系。FreeRTOS是物联网领域应用较多的操作系统之一。它实际上采用了RTOS(Real-Time Operating System,实时操作系统)内核,并不是真正意义上的物联网操作系统。真正的物联网操作系统需要解决物与物相联,或物与云、物与人之间的交流,真正实现互联互通。
华为公司作为行业领先的通信设备厂商也推出了自己的开源物联网操作系统,如LiteOS和OpenHarmony。其中LiteOS 专注于为轻量级、高效的物联网设备提供服务,而OpenHarmony 则旨在构建统一开放的分布式操作系统平台(见图1.6),更注重设备之间的协同工作和互操作性。它们都被广泛用于智能家居、智慧城市、智能交通和工业互联网等领域,为万物互联和智能提供了有力支撑。
图1.6 OpenHarmony系统界面
(3)云操作系统
随着互联网的不断发展,为了给本地用户提供优质的计算服务,很多企业使用CDN(Content Delivery Network,内容分发网络)等机制将服务器放置在离用户物理距离较近的数据中心。业界涌现了一批专门为这些企业提供云服务器租赁的公司,它们提供的服务被称为云服务。租赁这些云服务器的企业并不关心服务器的维护,它们仅需要租赁提供商保证7×24h在线的计算资源。因此,这些提供商将各种计算资源动态地售卖给租赁方,这些资源包括计算机中的CPU(Central Processing Unit,中央处理器)/GPU(Graphics Processing Unit,图形处理单元)算力、内存容量、硬盘容量、网络带宽等。这对管理资源的操作系统提出了新的要求,使得业界出现了一批以管理云服务器为目的的云操作系统。
云操作系统也被称为云平台操作系统或云计算操作系统,是云服务平台的底层支撑与核心。云操作系统分为专有云操作系统、商业云操作系统和开源云操作系统。亚马逊等云服务提供商采用了自主研发的专有云操作系统,商业云操作系统有 VMware vSphere 和 Microsoft Azure Stack等,开源云操作系统有OpenStack和CloudStack等。
华为公司开发了FusionSphere这一云操作系统,旨在为企业提供全面的云计算解决方案。它集成了虚拟化、存储、网络和管理等关键技术,提供了高效、灵活和安全的云平台。FusionSphere主要提供高性能、高可靠的虚拟化环境,灵活可靠的分布式存储,强大的网络虚拟化能力等。这些功能专门为云计算平台提供支撑,能够灵活地调度云上的计算资源,为云租赁提供商提供了方便、快捷的云管理能力。
(4)云边端协同的新兴操作系统
ICT时代迎来了更为复杂的计算架构,数据处理及基于数据的智能服务变得越来越重要。云边端协同是一种新的计算框架,它结合了云计算、边缘计算和终端设备的优势,以实现更高效、实时的数据处理和分析。这种协同工作的模式能够带来多种好处,如减少延迟、提高可扩展性、增强对信息的访问量,并使业务开发变得更加敏捷。
云(Cloud):指的是传统的云计算中心节点,即云端数据中心。它负责处理全局性的、非实时的、长周期的大数据处理与分析,擅长维护、业务决策支撑等领域。
边(Edge):指的是云计算的边缘侧,包括基础设施边缘和设备边缘。边缘计算更适合局部性、实时、短周期数据的处理与分析,能更好地支撑本地业务的实时智能化决策与执行。
端(Endpoint):指的是终端设备,如手机、智能化电气设备、各类传感器、摄像头等。这些设备通常位于网络的边缘,可以快速收集数据并对其进行初步处理。
在云边端协同的架构中,操作系统可能分别部署在云端、边缘侧和终端设备上,各自承担着不同的角色和功能。
云端操作系统:负责管理和调度云端资源,包括计算资源、存储资源和网络资源等。它可能是一个高度虚拟化、可扩展且安全的操作系统,能够支持大规模的数据处理和分析任务。
边缘侧操作系统:针对边缘设备的特定需求进行优化,如实时性、低功耗、高可靠性等。它可能集成了边缘计算框架和中间件,以便更好地支持边缘应用的部署和运行。
终端设备操作系统:负责管理和控制终端设备的硬件和软件资源,确保设备能够正常运行,并与其他设备进行通信。它可能是一个轻量级的、易于部署和更新的操作系统,能够支持多种传感器和设备的接入。
因此,云边端协同的操作系统并不是特指某一具体产品或系统的术语,而是描述云计算、边缘计算和终端设备之间协同工作的新型操作系统框架。在这个框架下,云边端的操作系统都扮演着更为重要的角色,既要高效实现这三者之间的无缝协同,还要应对异构性、实时性、安全性等诸多要求。
云边端协同的操作系统刚刚兴起,将成为ICT时代的新型基础软件平台。亚马逊、阿里云、华为云和苹果iCloud等服务商都在其服务和产品中融入了云边端协同的理念和技术,积极探索云边端协同的操作系统生态体系。