您的位置: 嵌入式在线 > 解决方案 > 通信与网络 > Elastos网络操作系统

Elastos网络操作系统

2007-12-20      嵌入式在线      收藏 | 打印

        伴随着3C融合的脚步,消费类电子越来越计算机化,计算机越来越消费电子化。移动通讯技术的进步,需要通过增值业务来展现给消费者。

        智能手机作为移动信息终端,是各种增值业务的载体平台。如何兼容已经提供的业务?如何发展正在提供的业务?如何策划丰富多彩的未来业务?新一代网络增值业务类嵌入式操作系统的软件技术架构必须支持不同生产厂家的业务、不同版本的业务以及不同类型的业务。

        3G无线移动宽带网的发展必然会导致整个消费类电子产业的信息化革命。带着手机嵌入式操作系统和网络构件运行平台的混合烙印,Elastos操作系统应运而生。

        Elastos设计的三项基本原则

        在充分考虑目前世界上三类主流手机操作系统和软件平台的发展之后,基于第三类网络软件运行平台的原型,科泰世纪自主创新设计出一个面向3G智能手机的操作系统及网络构件运行平台,并提出了三项针对“无线移动宽带网络终端操作系统”设计的基本原则:

       ◆采用XML描述用户界面,并在XML中嵌入脚本语言,动态拼装增值业务构件运行;

       ◆ URL不但用来对网页进行编址,还要用来对程序模块编址,按需从网络上加载网页、脚本、增值业务构件;

       ◆软件零件化生产,支持携带自描述信息(Class-Info)的网络构件化编程。利用C/C++、JAVA等编译语言实现增值业务网络构件,并自动适配XML及脚本操作。

       图1给出了Elastos网络软件运行平台与JAVA和.NET技术的一个形象化比较。CAR(Component Assembly Runtime)是为Elastos配套的构件描述语言和构件库。

       Elastos网络操作系统

       Elastos的设计遵循网络构件化程序设计思想,按照手机常用的业务模块划分应用引擎,明确定义每个模块的接口。采用工厂化的设计方法,即插即用的设计理念,让系统中的各个模块相对独立,各个子模块之间为松耦合,便于不同ISV生产的软件模块之间的适配和通讯,便于软件模块的版本的下载和升级,便于户根据需求进行自由组合与动态替换。

       Elastos在内核层提供了对网络构件运行环境的支持,特别针对网络构件运行平台进行了剪裁和优化,同时支持多进程、多线程、抢占式、多优先级线程任务调度,并提供TCP/IP、FAT、CRT等众多嵌入式系统常见的标准程序库。

       除此之外,Elastos将为移动增值业务提供一个网络构件化的开发环境,以及移动增值业务后台运营、发布环境的演示。Elastos率先使用嵌入式系统业界广泛采用的C/C++语言来编译WEB服务代码模块,提高软件运行效率,可以支持实时应用,减少内存消耗,节省硬件成本,同时并不损失广泛的网络适用性。

       参考目前市场上的移动增值业务平台,与BREW相比,Elastos目标代码配带自描述信息,按照本文前面提出的三项基本原则设计,融合XML、URL和网络构件编程等特性于一身。与JAVA相比,Elastos是一个二进制目标代码标准,效率高、资源占用少,可以用来下载驱动、游戏引擎等核心业务模块。与BREW和JAVA合起来比,Elastos创新性地对XML脚本编程、应用软件引擎、系统软件虚拟机等进行混合编程,强调了跨操作系统API界面的一致性,强调网络构件动态拼装,实现3G宽带移动业务“终端与后台协同作战”的目的。

       Elastos操作系统的关键技术要点

       作为Elastos智能手机整体软件支撑框架的一个核心组成部分,Elastos嵌入式操作系统主要包括以下技术特点:

       ◆CAR(Component Assembly Runtime)技术,为C/C++语言添加契约导向(面向接口)编程描述,对目标软件模块进行封装,按照规范实现软件工厂化生产,支持不同版本软件构件的互操作,允许不同生产厂家软件的相互替换,实现不同语言(JAVA、C#等)构件相互调用。

       ◆利用Elastos的“超净车间”(CleanRoom)进程间防火墙技术,对不可信赖的软件实行隔离。应用程序可以按照安全级别、CPU指令集等要求,对一个指定的软件构件在本地、跨进程、跨机器或跨网络运行,实现内核安全技术。

       ◆实现透明的分布式计算模型,回避Linux、Windows等基于消息机制的编程模型。在网络间通过消息轮询方式编程,让N个应用交换信息的计算复杂性是N的阶乘,这是计算理论的禁区。新一代网络编程环境,如JAVA、.NET等也都回避了传统的消息机制编程模型。

       ◆统一的数据模型,利用底层数据库统一管理文件存储、下载网页、小应用(Widgets)缓存等,保障数据一致性,减轻程序员的负担。

       ◆在操作系统层面率先实现了对面向方面编程(AOP)的支持。允许用户对上下文(Context)编程,实现动态构件聚合,方便用户对不同需求的扩展,包括对软件模块进行动态监听、信息截获、通讯转移、信息同步、离线运行等问题的支持。

       此外,Elastos 智能手机操作系统及相关软件支撑框架还提供了一整套完备的集成开发环境及相关开发、调试、自动测试工具,完备的用户手册、技术文档、示范程序等(可参看图2)。

       Elastos整体解决方案

       3G手机已经不再是个单纯的通讯工具,还会存贮和管理大量机主的办公资料与私人信息,如果安全、可信赖的问题得不到很好的解决,也会影响3G业务的健康发展。

       Elastos网络构件运行环境提供安全网络传输协议OpenSSL、数字签名、数字版权管理(DRM)等支持。Elastos还允许消费者在线购买防病毒的软件和升级的服务,防止病毒造成的信息丢失或其它不良事件的发生。还有许多安全隐患只有通过智能手机的硬件芯片来保障,防止关键系统代码被修改,或者保证关键资源不被非法访问。

      在设计伊始,Elastos就从网络构件运行平台整体架构方面,针对安全问题,做了许多根本的改进。Elastos强制所有软件模块间的函数调用都会自动检查数组越界,避免给病毒可乘之机。

      利用CPU来实现“容错”并不损失太多CPU效率,因而这一技术可以广泛应用于嵌入式系统及大型系统软件等领域。Elastos操作系统利用网络中间件技术,自动分配网络构件到不同的CPU地址空间,把CPU地址空间当成防病毒的“沙箱”,限制病毒或软件崩溃时的破坏范围。

      Elastos动态分配运行环境,限制病毒作案地点,并能对可疑的软件进行实时监控;Elastos通过对第三方可编程的运行环境,不但能对不同软件采取不同的收费策略,还能改变文件系统读写的控制权,限制病毒作案条件。

      Elastos利用按需加载技术,限制病毒作案时间。按需加载的另一个好处是,万一系统染上病毒,用户可以按一个键,将全部下载的软件删除。也就是说,按需加载技术可以极大改善系统受病毒损坏的后果。

      产品化的应用引擎

      通过长期工作的积累,上海科泰世纪已形成了一套适应手机这种资源有限设备特征的,开放、稳定的手机应用引擎库。

      Elastos方案支持动态加载并运行第三方独立应用,能够满足终端应用的可扩展性等(如图3)。

      多样化的硬件平台支持

      在已有的商业合作案例中,Elastos已成功支持诸如Intel XSCALE、TI OMAP、Samsung 24X0等多款基于双核(ARM7+ARM9)或多核(ARM7+ARM9+DSP)硬件架构的手机平台。手机整体架构如图4。

      对于终端厂商而言,缩短新品的上市时间往往意味着更高的市场占有率与市场回报率。缩短新品的上市时间在很大程度上,其所采用的应用编程模型与应用架构也起着重要的作用。Elastos先进的、构件化的、松耦合的编程模型与应用拼装机制,将加快新品的完成与上市步伐。

      在技术上,Elastos手机方案从多个方面来支持加快新品上市可能。

      首先,Elastos手机的整体应用架构设计基于科泰世纪CAR(Component Assembly Runtime)构件技术思想,建筑在Elastos网络构件运行平台之上。在系统中的各个模块相对独立,每个模块都可以抽象成为一个独立的构件。应用可以方便地根据用户的产品需求进行二进制构件复用拼装。一次编译,重复可用。Elastos构件化技术为应用的二进制动态升级提供了软件技术的基础支撑(如图5)。在构件中间件的技术基础上,Elastos采用了MVC应用编程模型(如图6)。

      便捷的终端软件升级技术

      只要是软件,就有可能存在BUG。Elastos手机方案能够将这些一般软件BUG所可能造成的影响降至最低。因为Elastos方案构件化、松耦合的结构设计能够与OTA(Over The Air)技术相结合,通过无线移动网络有选择地升级具体有软件BUG的软件模块。这个过程对用户而言甚至可以是透明的。

      局部软件模块升级

      假设在出厂时,图中红色部分(如图7)MP4解码器存在软件BUG,在播放MP4时将导致死机。按传统做法,消费者必须将相关手机通过销售渠道返回到开发商手中,由开发商维护人员重新烧写全部的手机应用后返回给用户。一方面消费者无法使用该手机,另一方面手机上保存的私人信息难以得到安全保证,甚至可能丢失或被非法传播。返修行为将给流通渠道带来一定的成本压力,严重的BUG甚至最终影响到厂家的出货。

      但按照Elastos的应用模型,处理该BUG可以考虑两种方式:一种是直接升级MP4解码器引擎;另一种是升级媒体选择器配置,支持增加一种新MP4解码器引擎。Elastos引擎的独立升级依赖于Elastos方案中每个应用引擎(MP4解码也是一个独立的引擎)包含有全球唯一URL自描述字串,这些自描述信息足够支持更新与否的判断和创建链接。用户完全可通过安全的OTA渠道,或通过WAP服务网站或其他方式,启动系统服务,自行安装指定字串的引擎补丁升级。在国家法律许可范围内,厂家甚至可以主动在线独立升级相关模块,从而避免消费者利益受到进一步损害。

      虽然其他智能手机在一定程度上也能支持用户自行升级或远程备份数据,但这只是部分专业玩家所能享受的乐趣,大多数普通用户难以掌握。Elastos手机方案的动态升级模式将有效地降低终端厂家的售后成本与出货压力,扩大用户人群。尤其在TD-SCDMA产业化初期,将能够大大地降低TD产业链的风险。

 

图1 Elastos网络软件运行平台与JAVA和.NET技术的比较

 

图2 Elastos智能手机操作系统及相关软件支撑框架


 

图3 Elastos应用层次图

 

图4 Elastos手机整体架构

 

图5 Elastos手机的整体应用架构


 

图6 MVC编程模型

 

图7局部软件模块升级
 

本文来源:软件世界     作者:施瑞

隐藏原文↑


查看原文↓

解决方案悬赏

如果您是正在寻求此类产品解决方案的整机制造商,请点击”我要悬赏”按钮提交您所需要的特定解决方案。

我要悬赏
解决方案揭榜

如果您是此类产品解决方案的提供商、组织或个人,请点击“我要揭榜”按钮揭榜悬赏区里您所拥有的解决方案。

我要揭榜

验证码:  看不清?