梁柏青,魏颖琪,罗 喧
(中国电信股份有限公司广东研究院 广州510630)
随着智能移动终端的普及,基础软件和应用生态环境构成了移动智能终端的软件环境。一方面,终端基础软件需要具备良好的体系架构、应用框架,并为开发者提供完善的应用开发环境;另一方面,终端应用的丰富性决定了手机基础软件的生存空间。目前,Google Android和Apple iOS基本垄断了移动终端操作系统软件,两个系统所培养的用户体验习惯、应用产业链构造了屏蔽其他操作系统进入的“围墙”。本文在简要分析Android和iOS体系架构的基础上,介绍了市场上其他新晋操作系统营造新的应用市场规则,以导入新的系统软件,并对其在系统内容、原生开发环境、独特优势等方面进行了详细比较,希望能提供对智能终端软件的全面了解。
移动终端从只具备基带处理器 (baseband processor,BP)的功能手机,发展为同时具有基带处理器和应用处理器(application processor,AP)的智能手机,或采用BP和AP两者合一的系统芯片(system on chip,SoC)的智能手机。BP承载移动通信类业务,AP负责大部分应用程序的执行。引入AP的智能手机极大地提高了应用的执行能力,并使手机的价值逐步从BP转移到AP,使传统通信终端趋向软件化和互联网化。
AP极大地增强了终端设备的计算处理能力,促使手机操作系统从软件平台发展为应用平台,并与应用生态环境紧密结合。手机操作系统已经不再是传统定义的操作系统(operating system,OS),更多地被称为平台。应用数量和应用下载次数常作为平台的衡量指标。
根据Vision Mobile对终端操作系统的划分,分为软件平台、通信平台和应用平台3类[1],见表1。各类硬终端(电话、多媒体终端)属于通信平台,功能单一,用于点对点或点对多点的通信;功能手机属于软件平台;而现代智能手机属于应用平台。
现代智能手机属于应用平台,应用平台具有以下三大要素:
·除用户群体外,开发者是平台另一个重要的目标客户;
·为开发者提供API/SDK以及开发环境;
·提供应用的发布、货币化渠道,建立健康的应用生态系统。
运行在智能手机上的移动互联网应用呈现全球化和本土化两大趋势。
有很多优秀的流行应用都是全球性的,如游戏类的“愤怒的小鸟”、通信类的Skype、咨询参考类的维基百科、地图服务类的Google地图。开发者通过应用商店在全球发布应用,通过互联网跨越国界。
在应用全球化的同时,也出现本土化的趋势,针对本地用户或具有相同文化背景的细分人群,推出针对型应用是演进的方向之一。随着智能手机的普及,手机成为日常生活助手,手机应用越来越多和本地日常生活有关,如本地支付业务、本地商旅(酒店、机票、订餐)、本地新闻、本地交通等。这些本土应用具有极强的地域性,通常只在本地具有使用价值。
表1 手机平台的分类
中华文明有自己独特的语言、文化、审美、行为规范、市场环境和道德法规。聚焦本土需求,为国内用户提供符合用户使用习惯的应用和服务,是国内企业的竞争优势所在。移动互联网厂商可将自有服务作为系统应用加入自研系统或替换原有的系统应用,如地图服务,iOS和Android都提供原生地图服务,但在本地化信息提供上可能不如本土服务便民,如公交线路。运营商可以将小额支付能力作为系统的基本服务,作为网络支付的补充,提供便捷的结算方式,并覆盖没有信用卡和不使用网银的群体。
换言之,以提供优势移动互联网应用服务为引领,深度定制优化其生态环境,将其打造成为应用服务的最佳体验运行平台,以应用服务产业优势带动操作系统快速发展。以用户体验为导向,深度聚焦本土需求持续快速创新,提升产品市场核心竞争力,是我国系统软件发展的关键路径。
维基百科对操作系统的定义为:“操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务;也提供一个让用户与系统交互的操作界面。”即操作系统进行硬件资源的管理并提供人机交互界面,而上层应用软件不属于传统的操作系统范畴,通常为第三方公司所开发,由用户自行安装。
然而,操作系统也在不断发展变化,正朝着网络化、节能化、易用化方向发展。工业和信息化部电信研究院的《移动互联网白皮书(2013年)》指出,移动智能终端操作系统自身的概念范畴开始演变,技术外延开始拓展,操作系统从最初聚焦于对硬件资源的管理调度,扩展到面向应用服务的延伸与整合,架构在内核系统上的中间件、应用平台等也成为操作系统的有机组成部分,从而形成了一个面向应用的操作系统平台体系。
对于移动智能终端系统,其操作系统和上层应用的边界正在模糊,系统垂直整合趋势明显。地图/导航、邮件、搜索、应用商店、即时消息、浏览甚至支付等重要应用,被作为操作系统提供的必备功能而广泛内置,移动智能终端操作系统的概念边界正在被进一步扩展,操作系统与应用服务耦合加剧,移动智能终端系统软件与上层应用之间的边界在消失。移动智能终端操作系统巨头不断整合其系统软件与应用服务,不断扩大其系统软件的边界,如iOS 6去除了运作良好的系统应用Google地图,Apple Map取而代之。
互联网厂商和运营商发展移动操作系统,目的是将自己的服务和能力下沉到平台中,作为系统级别的基础应用、基础服务和基础能力。
原生操作系统通过主导应用平台的各个方面,包括控制原生开发API/SDK、提供开环环境以及控制原生应用商店对应用的发布渠道,从源头上掌控整个应用生态系统。
近年来,HTML5得到长足发展,已经从炒作期进入实际应用期。以HTML5为代表的Web技术,可以在操作系统上构建应用平台所有的要素,实现跨平台、跨屏,提供统一的用户体验。虽然HTML5目前尚未形成应用生态系统,而更多地作为一种开发技术被广泛使用,但这也为国内厂商利用Web作为应用平台、打造独立的生态系统提供了机会。
HTML5推动移动互联网水平化演进,给产业轴心和发展模式转变带来新机遇,推动Web应用环境替代移动智能终端操作系统成为移动应用的承载平台,打破移动智能终端操作系统和应用之间紧耦合的绑定关系,促进其由垂直一体化向水平化方向演进,颠覆现有移动互联网的产业格局和发展模式。“Web平台(浏览器和Web OS等)和互联网渠道”将取代“移动智能终端操作系统和应用程序商店”成为产业新的核心,产业轴心和模式的转换带来新的发展机遇。由于谷歌不断通过反分裂协议进行产业博弈,自研系统产业化进程将更为艰巨,可以通过Web绕开底层,直接控制应用生态系统。
因此,Web是国内厂商在移动平台方面重点发展的方向。
苹果iOS来源于OSX,OSX的核心是基于UNIX操作系统的变种Darwin,包含了内核 (kernel)、系统函数库(system library)和命令行工具(command-line tool)。2010年6月7日,WWDC大会宣布iPhone OS更名为iOS。iOS的软件体系架构分为4个层次:核心操作系统层(core OS layer)、核 心 服 务 层 (core service layer)、媒 体 层(media layer)和可轻触层(cocoa touch layer),如图1所示。
iOS的操作系统核心、基础服务层和应用框架都采用C/C++或object-C开发,应用采用object-C开发,应用编译后以本机代码在设备上运行,具有较高的运行效率。
Android由基础系统软件层、中间层、应用框架层和应用层组成,如图2所示。其中,基础系统软件层由Linux内核和驱动程序组成;中间层为运行环境和各种服务模块,其中运行环境定义为Dalvik虚拟机;应用框架层为Java应用框架;应用层提供移动设备基础应用,包括电话、多媒体播放、邮件、日历、地图等生活中常用的应用。Android应用为Java应用,其优点为成熟、存在大量可重用代码,缺点是占用内存大、运行速度略低。建议Android系统运行在高性能CPU+大内存的终端环境下,其成本和能耗相比其他操作系统不具备优势。
Web OS是当前移动互联网领域的热门话题,简单来说,Web OS是一种以Web为主要应用模式的操作系统平台,具备如下3个主要特征:
·是完整的操作系统,不是中间件或应用层产品,架构一般包括操作系统层、应用运行环境层和UI框架层3个完整的层次;
·系统直接支持Web应用运行,而非通过浏览器或第三方软件支持;
·开发者基于HTML、CSS、JavaScript等Web技术开发应用程序。
Firefox OS(火狐OS)是Mozilla推出的一款采用HTML5技术的开源操作系统,主要应用于移动设备,其前身是Boot2Gecko,2012年改名为Firefox OS。Boot2Gecko是由Mozilla公司和Telefonica于2011年合作开发的一个开源项目,目的是推出一个新型的移动操作系统,使得手机应用完全建立在Web技术之上,为用户提供全新的应用体验。Firefox OS系统架构如图3所示。
图2 Android平台的官方架构
图3 Firefox OS系统架构
目前,除了新推出的Firefox OS,市场上还存在其他Web OS产品,比较典型的有Google的Chrome OS以及2012年宣布开源并将在2013年8月释放正式版本的HP的Open Web OS。Chrome OS架构如图4所示。
图4 Chrome OS架构
混合型操作系统指的是内核支持原生应用和Web应用运行框架的操作系统,主要具备以下结构。
·基础系统软件层:采用业界广泛支持的Linux开源内核以及厂商配合提供的硬件驱动层。
·中间层:包括Web运行环境和Java或C运行环境,如通过Java虚拟机提供的Java程序的计算环境等,并包括在其之上构造的各种系统服务模块,为上层应用提供完整的运行环境。
·应用框架层:支持HTML5框架和Java应用框架,应用开发者可以选择其中之一开发其应用。
·应用层:整合通信服务、多媒体处理、定位地图服务、日历、邮件等日常使用的基础应用。
目前,市面上比较典型的混合型操作系统是“阿里手机操作系统”,其采用了自有的虚拟机,在Linux开源内核上开发了阿里云操作系统,并叠加了阿里云自行研发的“云应用引擎”(Cloud App Engine),用于支持HTML5 Web应用。阿里手机操作系统能够兼容Andriod系统,可以支持基于Andriod平台开发的应用,兼容程度可达90%以上。阿里手机操作系统架构如图5所示,具体介绍如下。
·阿里手机操作系统支持基于HTML5的Web OS云服务,在支持Android原生应用生态环境的基础上,增加了对云应用生态环境的支持。
·手机底层整合了阿里和淘宝账号体系、支付体系,并宣称向运营商和终端厂商开放和共享阿里用户数据库资源,合作伙伴能在第一时间获得更多用户的反馈,清楚市场的需求。
图5 阿里手机操作系统架构
主流操作系统比较见表2。
表2 主流操作系统比较
1 工业和信息化部电信研究院.移动互联网白皮书,2013