“和欣”手机操作系统平台上CEM体系的研究(李捷).doc
《“和欣”手机操作系统平台上CEM体系的研究(李捷).doc》由会员分享,可在线阅读,更多相关《“和欣”手机操作系统平台上CEM体系的研究(李捷).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、论文所属栏目:计算机软件“和欣”手机操作系统平台上CEM体系的研究李捷1,陈榕2(同济大学基础软件工程中心 上海 200092)摘 要:CAR技术是面向构件的编程模型。“和欣”是基于构件的操作系统,对CAR有全面的支持。为了管理CAR的执行环境,给应用构件提供一个抽象层,我们设计了CEM(CAR Execute Manager)。本文通过对CEM的整体框架和它的各个子系统的详细的研究和设计,使得“和欣”对于不同需求的应用构件,都可以通过CEM安全、快捷、方便的得到自己所需的CAR。关键词:和欣;CEM;CAR;安全;管理器中图法分类号:TP316The study of CEM system
2、on the platform of “Elastos” cell phone operating systemLi Jie, Chen Rong(Basic Software Engineering Center of Tongji university Shanghai 200092 )Abstract: CAR Technology is a component-oriented programming model and standard, Elastos is a component-based operating system, can provide all-around sup
3、port to CAR, in order to manage implementation environmental of CAR and provide an abstraction level for the application components, we have designed the CEM(CAR Execute Manager). You can get CAR through CEM as for different application components. The paper firstly introduce the overall framework o
4、f the CEM, and then described in detail its various subsystems.Key words: Elastos;CEM;CAR;security;manager0、 引言“和欣”(英文Elastos)嵌入式操作系统是一个基于构件化软件模型的系统,构件化软件设计思想贯穿了整个系统的设计与实现中,系统实现本身就是构件模式。除内核中最底层的控制部分外,其余所有系统功能都是以构件接口的形式提供。另外,操作系统对构件化软件模型提供了必要的运行环境,来源不同的构件可以在该环境上实现互操作。系统提供了构件自动寻址/自动加载机制,用户不必知道调用的构件程序是
5、本地的还是来自于网上,也就是说,构件运行环境可以对用户透明。构件化系统的实现,使得操作系统本身具有高度的灵活性和扩展性。“和欣”采用的构件技术是CAR技术。1、CAR构件技术 CAR(Component Application Run-Time)是“和欣”嵌入式操作系统中使用的一种构件化技术。它定义了一套网络编程时代的构件编程模型和编程规范。它是一个面向构件的编程模型,规定了构件间相互调用的标准,包括构件、类、对象、接口等定义与访问构件对象的规定,使得二进制构件能够自描述,能够在运行时动态链接。使用CAR构件技术的主要目的是从操作系统层面上引入构件的概念,所有的服务由构件来提供,实现软件的目标
6、代码级的重用,为网络编程和Web Services提供了强大的支持。2、CEM系统结构PolicyCEM (CAR Execute Manager)运运营商服务器CAR Runtime本地存储器CEM (CAR Execute Manager)的设计目标是管理CAR的执行环境。为了给应用构件提供一个抽象层,我们设计了CEM 。对于不同需求的应用构件,CEM 都可以通过一系列步骤得到自己所需的CAR。因此,也可以这么理解CEM :CEM 提供了应用构件在执行过程的策略。而这些策略的具体实现则有每一个独立的服务构件来支持。图2.1给出了CEM的整体框架图 图2.1 CEM的整体框架图 当“和欣”上
7、的CAR在自滚动运行过程中需要新的CAR来支持时,所需的CAR是在本地还是在远程网络上,如果在网络上,下载的单位是CAR还是CAS,以及这些外来数据是否需要安全认证,是否需要权限管理。不同的构件可能有不同的选择。这就需要CEM来进管理。 CEM由Cache模块、Cache Manager模块、Security模块、Security Manager模块、DownLoad模块和User Permission Manager构成,图2.2给出了其层次结构图。User Permission ManagerCacheSecurityCache ManagerDownLoadSecurity Manage
8、rAPPCEM (CAR Execute Manager) 图2.2系统层次结构图3、子系统的结构与功能3.1、Cache模块基本功能:设置和获取Cache的最大容量;获取Cache使用空间状况;添加、删除、查询构件。设计原则:提供最小粒度的功能,不考虑策略、安全等管理;以URL为管理单位。优点:灵活,可扩展,为自滚动运行提供了良好的支持。缺点:如果不知道URL时,在Cache中对存储单位的操作比较复杂。3.1.1、存储单位在“和欣”上开发的构件,最后发布的时候有两种形式:CAR和CAS(CAR Application Suite)。以CAR形式发布的构件,在本地无须进行安全认证工作。同时,这
9、些独立的CAR一般可以免费无期限使用。以CAS包的格式发布的构件,在本地需要进行安全认证和期限检查工作。而且,下载的是压缩包,而最终使用的时候是解压缩后的文件,因此,解压之后,会将对应的包删除。在Cache中我们默认的存储单位是:CAS解压包。3.1.2、索引表在Cache中,我们维护了一个二进制文件用来描述Cache的信息。该二进制文件是一张索引表,该表记录了每一个单位对应的本地存储路径。该表只有两个属性,一个是URL,一个是Path。以URL为唯一标识符它描述的是Cache中的存储单位。格式如下:260 260URLPath3.1.3、URL描述格式和加载方式在构件的开发过程中,开发人员可
10、以指定加载方法是以包为单位的加载,还是直接加载。例如,我们在开发Hello.car的时候,可以有两种方式描述其URL。一种方式是该构件以CAR为单位发布时,URL为普通的格式: car;另一种方式是该构件以CAS为单位发布时,URL的描述为“包的URL?构件名”,如:因为存在两种描述方式,所以必须对构件的加载方法进行扩张。如果URL以CAR为单位,则使用Instantiate()来初始化构件接口指针。如果以CAS为单位,则使用新增的InstantiateEx()来初始化构件接口指针。3.1.4、判断一个CAR是否在Cache存在的算法有两种情况下应用程序会向Cache询问是否存在所需的CAR:
11、l 用户主动需求某个CARl 构件在自滚动运行过程中主动加载新的CAR无论上述哪种情况,其算法都一样,如下:假如在自滚动运行中,1.CAR需要2.CAR。1. 1.CAR向CEM提出服务;2. CEM调用CACHE构件,到索引表匹配2.CAR的URL,如果不存在URL,则说明2.CAR不在Cache中,直接返回结果给CEM,由CEM决定下一步;3. 如果索引表中存在URL,而其对应的Path就是最终的全路径,则将结果直接返回给CEM;4. 如果URL所对应的Path是一个包的路径,则在Path路径后添加“/2.CAR”即为2.CAR的最终全路径,再将结果返回给CEM。3.1.5、重命名Cach
12、e对下载的文件进行存储的时候,默认的都是以该文件原先的名字作为存储的名字,但有时候,不同的开发商开发的构件或构件包可能会取相同的名字。1、新添的URL已经存在于索引表中:Cache是以URL为单位进行管理的,这种情况下,会直接覆盖当前的本地路径的文件;2、新添的URL不在索引表中,但存储单位的名字和本地冲突:存储单位的新名字存储单位就名字_随机数。3.2、Security模块3.2.1、密码学密码学接口提供了各种密码学算法的实现,包括加密,解密等接口和方法。3.2.2、认证和授权所谓认证,是指“验证用户就是他或者她所宣称的那个人”;所谓授权,是指“保证允许他或者她访问所要求的资源”;认证和授权
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 手机 操作系统 平台 CEM 体系 研究 李捷
限制150内