首页 [教学]“和欣”手机操纵系统平台上cem系统的研究(李捷)

[教学]“和欣”手机操纵系统平台上cem系统的研究(李捷)

举报
开通vip

[教学]“和欣”手机操纵系统平台上cem系统的研究(李捷)[教学]“和欣”手机操纵系统平台上cem系统的研究(李捷) 论文所属栏目:计算机软件 “和欣”手机操作系统平台上CEM体系的研究 12李捷,陈榕 (同济大学基础软件工程中心 上海 200092) 摘 要:CAR技术是面向构件的编程模型。“和欣”是基于构件的操作系统,对CAR有全 面的支持。为了管理CAR的执行环境,给应用构件提供一个抽象层,我们设计了CEM(CAR Execute Manager)。本文通过对CEM的整体框架和它的各个子系统的详细的研究和设计, 使得“和欣”对于不同需求的应用构件,都可以通...

[教学]“和欣”手机操纵系统平台上cem系统的研究(李捷)
[教学]“和欣”手机操纵系统平台上cem系统的研究(李捷) 论文所属栏目:计算机软件 “和欣”手机操作系统平台上CEM体系的研究 12李捷,陈榕 (同济大学基础软件工程中心 上海 200092) 摘 要:CAR技术是面向构件的编程模型。“和欣”是基于构件的操作系统,对CAR有全 面的支持。为了管理CAR的执行环境,给应用构件提供一个抽象层,我们设计了CEM(CAR Execute Manager)。本文通过对CEM的整体框架和它的各个子系统的详细的研究和设计, 使得“和欣”对于不同需求的应用构件,都可以通过CEM安全、快捷、方便的得到自己所 需的CAR。 关键词:和欣;CEM;CAR;安全;管理器 中图法分类号: TP316 The study of CEM system on the platform of “Elastos” cell phone operating system Li 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 support 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 of the CEM, and then described in detail its various subsystems. Key words: Elastos;CEM;CAR;security;manager 0、 引言 “和欣”(英文Elastos)嵌入式操作系统是一个基于构件化软件模型的系统,构件化软 件设计思想贯穿了整个系统的设计与实现中,系统实现本身就是构件模式。除内核中最底层 的控制部分外,其余所有系统功能都是以构件接口的形式提供。另外,操作系统对构件化软 件模型提供了必要的运行环境,来源不同的构件可以在该环境上实现互操作。系统提供了构 件自动寻址/自动加载 机制 综治信访维稳工作机制反恐怖工作机制企业员工晋升机制公司员工晋升机制员工晋升机制图 ,用户不必知道调用的构件程序是本地的还是来自于网上,也就 是说,构件运行环境可以对用户透明。构件化系统的实现,使得操作系统本身具有高度的灵 活性和扩展性。“和欣”采用的构件技术是CAR技术。 1、CAR构件技术 CAR(Component Application Run-Time)是“和欣”嵌入式操作系统中使用的一种构件化 技术。它定义了一套网络编程时代的构件编程模型和编程 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 。它是一个面向构件的编程 模型,规定了构件间相互调用的标准,包括构件、类、对象、接口等定义与访问构件对象 的规定,使得二进制构件能够自描述,能够在运行时动态链接。使用CAR构件技术的主要目 的是从操作系统层面上引入构件的概念,所有的服务由构件来提供,实现软件的目标代码 级的重用,为网络编程和Web Services提供了强大的支持。 2、CEM系统结构 CEM (CAR Execute Manager)的设计目标是管理CAR的执行环境。为了给应用构件提供一个抽象层,我们设计了CEM 。对于不同需求的应用构件,CEM 都可以通过一系列步骤得到自己所需的CAR。因此,也可以这么理解CEM :CEM 提供了应用构件在执行过程的策略。而这些策略的具体实现则有每一个独立的服务构件来支持。图2.1给出了CEM 的整体框架图 Policy CAR Runtime 运 运 营 CEM (CAR Execute Manager) 商 服 务 器 本地存储器 图2.1 CEM的整体框架图 当“和欣”上的CAR在自滚动运行过程中需要新的CAR来支持时,所需的CAR是在本地还是在远程网络上,如果在网络上,下载的单位是CAR还是CAS,以及这些外来数据是否需要安全认证,是否需要权限管理。不同的构件可能有不同的选择。这就需要CEM来 进管理。 CEM由Cache模块、Cache Manager模块、Security模块、Security Manager模块、DownLoad模块和User Permission Manager构成,图2.2给出了其层次结构图。 APP CEM (CAR Execute Manager) Cache Manager Security Manager User Permission Manager DownLoad Cache Security 图2.2系统层次结构图 3、子系统的结构与功能 3.1、Cache模块 基本功能:设置和获取Cache的最大容量;获取Cache使用空间状况;添加、删除、查询构 件。 设计原则:提供最小粒度的功能,不考虑策略、安全等管理;以URL为管理单位。 优点:灵活,可扩展,为自滚动运行提供了良好的支持。 缺点:如果不知道URL时,在Cache中对存储单位的操作比较复杂。 3.1.1、存储单位 在“和欣”上开发的构件,最后发布的时候有两种形式:CAR和CAS(CAR Application Suite)。以CAR形式发布的构件,在本地无须进行安全认证工作。同时,这些独立的CAR一般可以免费无期限使用。以CAS包的格式发布的构件,在本地需要进行安全认证和期限检查工作。而且,下载的是压缩包,而最终使用的时候是解压缩后的文件,因此,解压之后,会将对应的包删除。在Cache中我们默认的存储单位是:CAS解压包。 3.1.2、索引表 在Cache中,我们维护了一个二进制文件用来描述Cache的信息。该二进制文件是一张索引表,该表记录了每一个单位对应的本地存储路径。该表只有两个属性,一个是URL,一个是Path。以URL为唯一标识符它描述的是Cache中的存储单位。格式如下: 260 260 URL Path 3.1.3、URL描述格式和加载方式 在构件的开发过程中,开发人员可以指定加载方法是以包为单位的加载,还是直接加载。例如,我们在开发Hello.car的时候,可以有两种方式描述其URL。一种方式是该构件以CAR为单位发布时,URL为普通的格式:www/elastos.com.cn/CAR/Hello. car;另一种方式是该构件以CAS为单位发布时,URL的描述为“包的URL,,,构件名”,如:www/elastos.com.cn/CAR/Hello.CAS?Hello.dll。如果一个包中有多个构件,则描述方式与上述类似,只是将“,”后面改为该构件的名称。 因为存在两种描述方式,所以必须对构件的加载方法进行扩张。如果URL以CAR为单位,则使用Instantiate()来初始化构件接口指针。如果以CAS为单位,则使用新增的InstantiateEx()来初始化构件接口指针。 3.1.4、判断一个CAR是否在Cache存在的算法 有两种情况下应用程序会向Cache询问是否存在所需的CAR: , 用户主动需求某个CAR , 构件在自滚动运行过程中主动加载新的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、重命名 Cache对下载的文件进行存储的时候,默认的都是以该文件原先的名字作为存储的名字,但有时候,不同的开发商开发的构件或构件包可能会取相同的名字。 1、新添的URL已经存在于索引表中:Cache是以URL为单位进行管理的,这种情况下,会直接覆盖当前的本地路径的文件; 2、新添的URL不在索引表中,但存储单位的名字和本地冲突:存储单位的新名字,存储单位就名字_随机数。 3.2、Security模块 3.2.1、密码学 密码学接口提供了各种密码学算法的实现,包括加密,解密等接口和方法。 3.2.2、认证和授权 所谓认证,是指“验证用户就是他或者她所宣称的那个人”;所谓授权,是指“保证允许他或者她访问所要求的资源”;认证和授权是整个安全体系中关键的两个部分,它们有效防止了构件从网路到本地的过程中被篡改,并对本地资源操作的级别进行控制。 3.2.3、CAS和CAD 在认证和授权中,最关键的就是开发商应当发布什么样的数据包,也就是说,这个数据包的格式是如何定义的。我们借鉴了J2ME中MIDP安全体系采取的JAR和JAD方式,对应的给出了CAS(CAR Application Suite)和CAD(CAR Application Definition)。 CAS为执行资源包,即该构件能够运行所需的的所有非系统资源的压缩包。CAD为描述文件,即描述CAS中含有哪些资源,这些资源是否经过安全保护,这些资源的内部关系的外部文件。理论上CAD和CAS是一一对应关系。 其中CAD是一个纯文字的描述文档,所以,内部都是一些属性和属性值。在“和欣”上,CAD的文件格式参考了PE文件格式的特点,内部属性定义参考了JAD的内容。它的文件格式包括文件头(Header)、段表(Section Table)、段实体(Section)。而CAS除了包含CAR以及其他相关的类别文件(辅助类和函数库)之外,还包含: 1.资源文件 CAR运行时所需的资源,如图片、文件,只要不是类别,都称作资源。类别文件不能作为资源来使用; 2.清单文件(Manifest File) 用来描述一个CAS的基本文件,以及该CAS内的CAR需要辅助CAR的相关资源(类别文件、图标、函数名)的内部文件(存在于CAS内)。 因此,我们大致可以归纳出底下的图3.1: CAS 资源文件 类别文件 CAR 1 CAR n CAR 2 资源文件 资源文件 清单文件 类别文件 图3.1 CAS与CAR关系图 从图中可以看出,每一个CAS之中可以包含许多CAR。而且处于同一个CAS的CAR彼此之间可以共享资源文件和类别文件,但处于不同的CAS之间的CAR无法共享任何的类别与资源。 3.2.4、消息摘要 消息摘要是安全体系接口中最简单的标准引擎,由此,创建和验证数字签名的第一个环节得以正常实现,而且这也是该体系中最重要的目的之一。但是,由于消息摘要只能在一定程度上验证数据是否被篡改,所以它还谈不上是一个“大众型”的安全手段,其在“和欣”中的应用还是很有限的。 3.2.5、数字签名 数字签名也是“和欣”安全体系结构中关键的一环,因为“和欣”的安全机制是由它提供的:用户可以通过数字签名确信某个构件确实和提供者提供时是一样的。这样用户就可以不用担心其在远程传输过程中被篡改。 3.2.6、数字证 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 和密钥 密钥是许多加密算法中必不可少的组成部分,密钥对于创建和验证数字签名或者实现加密更是至关重要。不同的算法需要不同的密钥。目前最主要的有两种:对称密钥和非对称密钥。证书主要是用于公开密钥的鉴别。通常将公开密钥放在证书中实现传输。可以基于证书的基础上,根据PKI,搭建CA。密钥和证书通常与某个人或某个机构相关联,而且密钥的保存、传输和共享是安全体系中很重要的内容。 3.3、DownLoad模块 该模块提供了下载功能,用户可以配置各种下载机制(如:HTTP)。 .4、Cache Manager模块 3 原则:支持不同的策略管理Cache中的文件,可替换; 功能:别名,删除策略。 3.4.1、索引表 在Cache Manager(CM)中,我们维护了一个二进制文件用来描述CM的信息。该二进制文件是一张索引表,该表记录了每一个单位对应的本地存储路径。该表有六个属性,一个是URL, 一个是Path,一个是别名,一个是引用计数,一个是最近使用时间,一个为所依赖的DLL的索引号。以URL为唯一标识符。格式如下: 260 260 128 4 4 260 URL Path Alias RefNum LastUseTime DependentCAR 3.4.2、别名 在Cache中实际存储的名字不一定具有明显的语义,为了使用户主动对Cache中的文件进行操作的时候,能够很明确的知道各个存储单位所代表的意义,我们提供了别名的方法,用户可以通过该方法,得到具有明确意义的名字。默认情况下,别名与实际存储的名字是一样的,除非用户主动对其进行改变。 3.4.3、最近最久不使用删除 一般情况下,当Cache的可使用空间不够,或者Cache本身定期进行清理工作的时候,我们倾向于删除那些最近最久不使用的文件。我们假设这些文件已经没有什么意义,所以,有理由将其删除。 删除算法:遍历索引表,获取LastUseTime最老的那条记录,删除该记录所对应的构件。 3.4.4、过期删除 如果用户购买的一个构件已经过期,从而导致无法使用的时候,这个构件就成为了垃圾构件存在于Cache中,我们可以将这种构件删除,以腾出有效的宝贵空间给新下载的文件。 删除算法:通过User Permission Manager模块的接口方法,判断Cache中过期的构件,将其删除 3.4.5、共享构件的删除 在构件的自滚动运行过程中,会出现构件的依赖关系。这样,在删除一个构件的时候,必须对依赖构件也要进行相应的处理。我们通过在索引表中的RefNum来判断该构件和其他构件的关联次数。 删除算法: 1. 查看自身的RefNum是否为0,如果不为0,则不能删除,如果为0,则删除自身 2. 查看与自身关联的构件的RefNum是否0,如果发现其为0,则删除其关联的构件,如 果不为0,则不能删除 3. 递归进行第二步操作,直到所有关联的构件都操作完毕 3.5、Security Manager模块 应用的安全策略是由 安全管理 企业安全管理考核细则加油站安全管理机构环境和安全管理程序安全管理考核细则外来器械及植入物管理 器负责管理的。安全管理器的工作最终决定允许用户进行哪些操作。 3.6、User Permission Manager模块 根据最常见的商业运营模式,我们假定用户使用权限信息有两种方式:次数、时间期限。 3.6.1、次数算法 每运行一次构件,索引表中对应的次数就减少一次,当次数减少到0的时候,就无法运行该构件。该减法操作在用户加载构件的时候进行。 3.6.2、时间期限算法 在系统启动时,每次都会去比较此次启动时间和上次启动时间的差值,然后根据差值修改时间期限,最后根据差值和创建时间,计算出新的截止时间。每次运行构件的时候,都会去匹配系统当前的时间和截止时间,如果超过截止时间,则无法运行该构件。 时间期限 , 上次时间期限 , abs(此次开机时间 , 上次开机时间) 截止时间 , min(创建时间, 当前时间) + 时间期限 时间的提取有两种标准:本地标准,服务器标准。 采用本地标准的时候无须连接远端服务器,这样不会出现因为网络信号问题无法使用的情况,但是采用本地时间,用户可能会去篡改系统时间,理论上上述算法是递减的,避免了这种因篡改本地时间而导致的延长期限问题。 采用服务器标准,用户每次使用构件的时候,都要先从服务器上获取当前时间,然后根据算法进行计算。这种方式的好处是可以无须担心用户修改本地系统时间,但缺点是可能因网络质量的问题,无法连接。 另外,此处还需要考虑时区的问题,但从一个时区跨越到另一个时区的时候,如何计算这种时间期限。 3.6.3、期限表 从运营商上下来的CAS和CAD文件中都保存了授权信息。为了对授权进行管理,这些信息必须存储到本地。为此,提供了一个授权表来维护这些信息。该授权表的格式如下: 4 4 4 RunableTime UseableTimeLimit CreatedTime 4、结束语 本文详细描述了CEM的体系结构及特点,当“和欣”上的CAR在自滚动运行过程中需要新的CAR来支持时,所需的CAR是在本地还是在远程网络上,不同的构件可能有不同的选择。对于不同需求的应用构件,都可以通过CEM通过一系列步骤得到自己所需的CAR。并详细介绍了Cache、Security等模块。从整体上来说,这个体系结构已经能很好的满足各方面的需求,但是其自身不可避免的存在着一些功能缺陷,这需要开发人员和使用者共同来进行维护和完善。 参考文献: [1] 上海科泰世纪科技有限公司.“和欣”2.1资料大全[EB/OL](上海, [2] 上海科泰世纪科技有限公司.CAR构件技术与编程模型[EB/OL]. 上海, [3] 上海科泰世纪科技有限公司.“和欣”安全子系统体系设计报告[M].上海,2006,11. [4] 王志坚、费玉奎、娄渊清,软件构件技术及其应用[M].北京:科学出版社,2005 [5] 杜永文, 何华灿, 陈榕. 构件化驱动模型[J]. 计算机工程与应用, 2003, 39(5): 28-30 [6] Scott Oaks. JAVA安全[M].北京:中国电力出版社,2002,4. [7] Donis Marshall ..NET安全编程[M]. 北京:清华大学出版社,2003,10. [8] Li Gong,Gary Ellison,Mary Dageforde. 深入Java2平台安全[M].北京:电子工业出版社,2004,9. 基金项目:国家“863” 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 资助项目“软件重大专项”, 课题编号2001AA113400.(课题名称:基于中间件技术的因特网嵌入式操作系统及跨操作系统中间件运行平台,所属专题:计算机软件,所属领域:信息技术领域)收稿日期:2008-3-21 作者简介: 李捷(1979--),男,河南洛阳人,硕士研究生,研究方向:嵌入式操作系统、系统软件支撑技术;陈榕(1957--),男,北京人,博士生导师,教授,中心主任,科泰世纪首席科学家,研究方向:嵌入式系统,构件技术。 联系人:李捷 通讯地址:上海市上大路1329号祁连三村230-301室。邮编:200444 E-mail:lijietj@yahoo.com.cn
本文档为【[教学]“和欣”手机操纵系统平台上cem系统的研究(李捷)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_348501
暂无简介~
格式:doc
大小:30KB
软件:Word
页数:0
分类:企业经营
上传时间:2018-08-02
浏览量:15