基于CAR 构件技术的智能掌上设备操作系统
时间:12-06
来源:互联网
点击:
CAR 构件技术
CAR(Caref ree Application Run - Time) 构件技术是面向构件编程的编程模型,它规定了一组构件间相互调用的标准,使得二进制构件能够自描述,能够在运行时动态链接。微软的COM 技术是广为应用的一种构件技术, CAR 兼容微软的COM。但是和微软COM 相比,CAR 删除了COM中过时的约定,禁止用户定义COM 的非自描述接口;完备了构件及其接口的自描述功能,实现了对COM 的扩展;对COM 的用户界面进行了简化包装,易学易用。
CAR 技术能够动态加载构件,最大程度支持软件的二进制复用,进行系统升级的时候也只需要升级相关的构件即可,具有可靠性、容错性、安全性,代表了软件工厂化生产的方向。
CAR 技术采用C/ C + + 语言来编写构件,所以生成的构件直接是以目标平台的二进制代码运行,相比J ava 、. NET 技术的中间代码和虚拟机机制,在速度上占有明显的优势,更适合系统级构件的编写以及嵌入式系统中的应用。
“和欣”操作系统简介
“和欣”(英文名为Elastos) 是科泰世纪公司研制的一个完全面向构件技术的操作系统,基于灵活内核,具有多进程、多线程、抢占式、基于线程的多优先级任务调度等特性。“和欣”里面集成了CAR构件运行环境,能对软件构件进行充分的支持,且已经广泛地用在各种嵌入式领域中,特别是智能手机等掌上设备领域之中。
CAR 构件技术在智能掌上设备操作系统中的应用
智能掌上设备对构件技术的需求
智能掌上设备在拥有较强的运算功能的同时,具有便携性等特点,通常为用户随身携带。随着技术的进步,集成了许多功能的掌上设备逐步取代了那些功能单一的设备。在新的环境下,用户往往要求掌上设备在保持便携性的同时能够带来更多的功能。所以, 针对智能掌上设备提出了下面的要求:
(1) 可以动态加载应用程序。动态加载应用程序是在因特网时代的需要,因为智能掌上设备的功能越来越多,不能像以前那样由厂家把所有的功能都做好固定在里面,所以必须要求用户能够自己根据自己的兴趣,有选择地从网上下载应用程序。
(2) 随时和动态地实现软件升级。智能掌上设备的功能也是在不断增强的,开发商不必为了添加部分功能而重新发布整套软件,只需要升级部分的功能即可。
(3) 灵活的模块结构,便于移植和裁减。因为掌上设备的配置可能差异非常之大,所以需要针对不同的硬件配置紧凑高效的系统,且添加和删除功能模块也要相当容易。
如果在操作系统中采用构件技术,能够很好地解决上述问题。特别地,利用CAR 构件技术,把应用程序按模块划分做成一个个构件,能够方便地实现网上下载,动态加载,自动升级,且具有结构灵活等特点。CAR 构件的设计初衷,就是面向消费类电子市场,且实现用户零维护的功能,这点从它的名字就可以看出来。下文以“和欣”操作系统为例,讲解了CAR 构件在智能掌上设备中的应用方案。
智能掌上设备操作系统的结构
为了能够很好地支持构件技术,需要在操作系统内部建立对构件技术的支持。在“和欣”中,采用了完全构件化的技术来搭建整个系统应用框架,从操作系统底层就开始支持构件机制,对智能掌上设备来说,形成了一个灵活而高效的解决方案。
图2 描述的是一个采用GPRS 功能的智能手 机的软件构成图。其中智能手机操作系统直接控制的是图2 右边的应用模块。从图中可以看出,CAR 构件平台运行在操作系统内核之上,一方面,它与内核联系紧密,替内核接管了负责整个系统中应用程序运行的任务;另一方面,它又是一个相对独立的模块,这样能够方便地进行移植,让更多的系统都能运行CAR 构件,保持着CAR 构件的软件平台无关性。CAR 构件运行平台支持系统级和应用级两个层次的构件的运行。同时,该系统也提供了一些函数库,比如C 的库函数,在一定程度上兼容以前编写的一些应用软件。另外,如今的智能手机都支持丰富的JAVA 应用程序,所以该系统也提供了专门的构件来运行K- J ava 程序。
图2 左边的通讯模块是相对独立的一部分,虽然不由操作系统直接控制,但是通过它提供的一组通讯协议,可以对它进行全方位的操作。打电话、发短信、收发电子邮件,都是由相应的应用构件通过控制通讯模块来完成的。从功能上来说,可以把GPRS 通讯模块看成一个无线网卡,各个应用构件,就是通过这个无线网卡来实现网络应用的。

CAR 构件运行平台
在“和欣”中,就是由CAR 构件运行平台来提供对构件运行的支持。它让系统中的各种构件天衣无缝地搭配在一起,实现自己的功能,同时又针对掌上设备的硬件特点进行了优化,且提供给构件的是完全的二进制运行环境,所以能够保证系统的高效运行。
每个构件只关心自己的功能实现,构件之间的相互联系由约定的接口来实现 。对于同一个进程内的构件,由于共享同一个地址空间,其方法可以直接调用。但是,对于不同进程的构件,则必须通过代理构件来实现。代理构件由CAR 构件运行平台动态地生成,它可以看成是中间件的一个特例,既解决了跨进程,甚至跨机器的构件通信和方法调用,而且还提供了许多有用的特性。代理构件能对构件的运行状态进行干预和控制,给系统提供了强大的安全保护机制,能对软件的访问权限进行有效地控制,对于加密、解密、防黑客、防病毒的设计提供了必要的条件,为信息系统的安全性提供了坚实的基础。图3 描述了CAR 构件运行平台通过自动生成代理构件来对实际的构件模块进行调用的模型。

CAR(Caref ree Application Run - Time) 构件技术是面向构件编程的编程模型,它规定了一组构件间相互调用的标准,使得二进制构件能够自描述,能够在运行时动态链接。微软的COM 技术是广为应用的一种构件技术, CAR 兼容微软的COM。但是和微软COM 相比,CAR 删除了COM中过时的约定,禁止用户定义COM 的非自描述接口;完备了构件及其接口的自描述功能,实现了对COM 的扩展;对COM 的用户界面进行了简化包装,易学易用。
CAR 技术能够动态加载构件,最大程度支持软件的二进制复用,进行系统升级的时候也只需要升级相关的构件即可,具有可靠性、容错性、安全性,代表了软件工厂化生产的方向。
CAR 技术采用C/ C + + 语言来编写构件,所以生成的构件直接是以目标平台的二进制代码运行,相比J ava 、. NET 技术的中间代码和虚拟机机制,在速度上占有明显的优势,更适合系统级构件的编写以及嵌入式系统中的应用。
“和欣”操作系统简介
“和欣”(英文名为Elastos) 是科泰世纪公司研制的一个完全面向构件技术的操作系统,基于灵活内核,具有多进程、多线程、抢占式、基于线程的多优先级任务调度等特性。“和欣”里面集成了CAR构件运行环境,能对软件构件进行充分的支持,且已经广泛地用在各种嵌入式领域中,特别是智能手机等掌上设备领域之中。
CAR 构件技术在智能掌上设备操作系统中的应用
智能掌上设备对构件技术的需求
智能掌上设备在拥有较强的运算功能的同时,具有便携性等特点,通常为用户随身携带。随着技术的进步,集成了许多功能的掌上设备逐步取代了那些功能单一的设备。在新的环境下,用户往往要求掌上设备在保持便携性的同时能够带来更多的功能。所以, 针对智能掌上设备提出了下面的要求:
(1) 可以动态加载应用程序。动态加载应用程序是在因特网时代的需要,因为智能掌上设备的功能越来越多,不能像以前那样由厂家把所有的功能都做好固定在里面,所以必须要求用户能够自己根据自己的兴趣,有选择地从网上下载应用程序。
(2) 随时和动态地实现软件升级。智能掌上设备的功能也是在不断增强的,开发商不必为了添加部分功能而重新发布整套软件,只需要升级部分的功能即可。
(3) 灵活的模块结构,便于移植和裁减。因为掌上设备的配置可能差异非常之大,所以需要针对不同的硬件配置紧凑高效的系统,且添加和删除功能模块也要相当容易。
如果在操作系统中采用构件技术,能够很好地解决上述问题。特别地,利用CAR 构件技术,把应用程序按模块划分做成一个个构件,能够方便地实现网上下载,动态加载,自动升级,且具有结构灵活等特点。CAR 构件的设计初衷,就是面向消费类电子市场,且实现用户零维护的功能,这点从它的名字就可以看出来。下文以“和欣”操作系统为例,讲解了CAR 构件在智能掌上设备中的应用方案。
智能掌上设备操作系统的结构
为了能够很好地支持构件技术,需要在操作系统内部建立对构件技术的支持。在“和欣”中,采用了完全构件化的技术来搭建整个系统应用框架,从操作系统底层就开始支持构件机制,对智能掌上设备来说,形成了一个灵活而高效的解决方案。
图2 描述的是一个采用GPRS 功能的智能手 机的软件构成图。其中智能手机操作系统直接控制的是图2 右边的应用模块。从图中可以看出,CAR 构件平台运行在操作系统内核之上,一方面,它与内核联系紧密,替内核接管了负责整个系统中应用程序运行的任务;另一方面,它又是一个相对独立的模块,这样能够方便地进行移植,让更多的系统都能运行CAR 构件,保持着CAR 构件的软件平台无关性。CAR 构件运行平台支持系统级和应用级两个层次的构件的运行。同时,该系统也提供了一些函数库,比如C 的库函数,在一定程度上兼容以前编写的一些应用软件。另外,如今的智能手机都支持丰富的JAVA 应用程序,所以该系统也提供了专门的构件来运行K- J ava 程序。
图2 左边的通讯模块是相对独立的一部分,虽然不由操作系统直接控制,但是通过它提供的一组通讯协议,可以对它进行全方位的操作。打电话、发短信、收发电子邮件,都是由相应的应用构件通过控制通讯模块来完成的。从功能上来说,可以把GPRS 通讯模块看成一个无线网卡,各个应用构件,就是通过这个无线网卡来实现网络应用的。

CAR 构件运行平台
在“和欣”中,就是由CAR 构件运行平台来提供对构件运行的支持。它让系统中的各种构件天衣无缝地搭配在一起,实现自己的功能,同时又针对掌上设备的硬件特点进行了优化,且提供给构件的是完全的二进制运行环境,所以能够保证系统的高效运行。
每个构件只关心自己的功能实现,构件之间的相互联系由约定的接口来实现 。对于同一个进程内的构件,由于共享同一个地址空间,其方法可以直接调用。但是,对于不同进程的构件,则必须通过代理构件来实现。代理构件由CAR 构件运行平台动态地生成,它可以看成是中间件的一个特例,既解决了跨进程,甚至跨机器的构件通信和方法调用,而且还提供了许多有用的特性。代理构件能对构件的运行状态进行干预和控制,给系统提供了强大的安全保护机制,能对软件的访问权限进行有效地控制,对于加密、解密、防黑客、防病毒的设计提供了必要的条件,为信息系统的安全性提供了坚实的基础。图3 描述了CAR 构件运行平台通过自动生成代理构件来对实际的构件模块进行调用的模型。

- 基于ARM与DSP的嵌入式运动控制器设计(04-25)
- 多核及虚拟化技术在工业和安全领域的应用(05-23)
- 基于ARM核的AT75C220及其在指纹识别系统中的应用(05-24)
- 基于FPGA安全封装的身份认证模型研究(05-27)
- 基于nRF2401智能无线火灾监控系统设计(04-01)
- 智能视频多媒体技术的应用(05-31)
