已阅读5页,还剩56页未读, 继续免费阅读
(计算机应用技术专业论文)基于构件与xmlglue技术的智能手机ui研究与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 “和欣”操作系统是面向网络时代的嵌入式系统,能有效地支持w e b 服务,在 体系结构上它是完全面向构件的网络操作系统。和欣嵌入式操作系统所开发的 c a r 构件技术在吸收面向对象编程和面向构件编程技术经验的基础上,更好的 支持面向以w e bs e r v i c e 为代表的下一代网络应用软件的开发。随着嵌入式设备 在网络应用方面的普及,特别是移动设备,这些设备上应用的需求量将远远大于 桌面应用的需求,应用的变化速度也相当的惊人。目前,国家3 g 标准即将推出, 3 g 智能手机势必会成为市场的主流,手机的应用开发将会成为热点。 基于脚本和构件的图形界面开发模式在p c 桌面上已经有了成熟的应用,比 如y a h o o 的w i d g e t 产品,这种模式的成功之处在于它实现了软件的最大化复用, 极大的便利了程序的升级和维护。那么能否将目前已经成型的基于脚本和构件的 桌面应用开发模式引入到3 g 智能手机的开发中来呢? 答案是肯定的。本文介绍 的基于构件和x m l - g l u e 的智能手机应用开发技术正是在这种背景下提出的,它 是一种使用简单而功能强大的开发模式。文章介绍和分析了x m l - g l u e 是如何将 手机各应用模块整合在一块从而实现灵活的用户界面显示,它在和欣3 g 智能手 机操作系统上的成功应用说明了本文所提出的解决方案的的可行性。 本文首先论述了构件技术在现代软件开发中的昵显优势,对比于构件技术在 p c 桌面上的应用,它在智能手机应用软件开发中的作用显得更加突出。构件技 术是和欣操作系统的核心技术,它是整个手机操作系统的基础,从内核到上层的 手机应用,构件技术贯穿于始终。不仅如此,它也是x m l - g l u e 编程模型的重要 组成部分。文章随后即阐述了x m l - g l u e 的技术背景和设计思想,对该模型作了 深入的分析。紧接着对x m l - g l u e 编程模型的组成和实现进行了详尽的介绍, x m l - g l u e 基于m v c 开发框架,文章逐个剖析了x m l - g l u c 模型中对应于m v c 的各个模块,对它们之间的联系和相互通信做了深入的分析,通过比较即得出 x m l - g l u e 相对于其他m v c 实现模型的技术优势。 元数据是构件自描述的基础,也是脚本能够灵活控制构件的关键因素。在整 个设计过程中,我所从事的工作是如何封装构件的元数据信息,同时在此基础上 设计并实现出c a r 构件的反射功能,为上层脚本语言提供接口。这样,脚本语 言能够在运行时读取构件的元数据信息,实现对构件的动态操作。 关键字:c a r 构件技术,w e b 服务,x m l , - g l u e 编程模型,嵌入式操作系统 a b s t r a c t t h ee l a s t o so si st h ee m b e d d e do so r i e n t e dt ot h ei n t e r a c ta g e i tc a ns u p p o r t w e bs e r v i c em o r ee f f e c t i v e l y , a n di ti sw h o l e l yo r i e n t e dt ot h ei n t e r n e to si nt h e f r a m e w o r k c a rc o m p o n e n tt e c h n o l o g yw h i c hi sd e v e l o p e db ye l a s t o so ss u p p o r t s t h en e x tg e n e r a t i o ni n t e m e ts o f t w a r ed e v e l o p m e n ti nt h el e a do ft h ew e bs e r v i c e w i t ht h eg r o w i n gp o p u l a t i o no ft h e n t e m e ta p p l i c t a t i o nf u re m b e d d e dd e v i c e 。 e s p e c i a l l yf o rt h em o b i l ed e v i c e t h en e e d st ot h e s ea p p l i c a t i o n sw i l lb cg r e a t l yb i g g e r t h a nt h a ti nd e s k ,a n ds p e e df o rc h a n g ew i l lb ea m a z i n g a tp r e s e n t ,t h e3 gs t a n d a r di s g o i n gt ob ec a r r i e do u t ,3 gs m a r t p h o n ew i l lb ct h em a i n s t r e a mi nt h em a r k e t ,a n dt h e a p p l i c a t i o no fs m a r t p h o n ew i l lb eh o t t h eu id e v e l o p m e n tm o d e lb a s e do ns c r i p ta n dc o m p o n e n th a sb e e nr e a l i z e di n p cd e s k , s u c ha sy a h o o sw i d g e tp r o d u c t s t h es u c c e s so ft h i sm o d e ll i e so nt h a ti t r e a l i z e ss o f t w a r er e u s ea sg r e a ta sp o s s i b l e ,a n dm a k e st h ep r o g r a mu p d a t ea n d m a i n t a i nc o n v e n i e n t l y s oc a nw ea p p l yt h i sd e v e l o p m e n tm o d e lt o3 ga p p l i c a t i o n d e v e l o p m e n t ? t h ea n s w e ri sy e s t h et e c h n o l o g yb a s e d o nc o m p o n e n ta n dx m l - g l u e i sc a r r i e do u tu n d e rt h i ss i t u a t i o n ,a n dt h i sd e v e l o p m e n tm o d e li su s e de a s i l ya n di s p o w e r f u li nf u n c t i o n t h ep a p e ra n a l y s e sa n di n t r o d u c e sh o wx m l - g l u eo r g a n i z e sa h k i n d so fa p p l i c a t i o np a r t st o g e t h e rt or e a l i z eu id i s p l a yf l e x i b l y i t ss u c c e s s f u l r e a l i z a t i o ni n3 gs m a r p h o n eo ss h o w st h ef e a b i b i l i t yo ft h et e c h n o l o g yt h i st e x t c a r r i e so u t a tf i r s t , t h et e x td i s c u s s c st h eg r e a ta d v a n t a g eo fc o m p o n e n tt e c h n o l o g yi n m o d e r ns o f t w a r ed e v e l o p m e n t c o m p a r c dt ot h ea p p l i c a t i o ni nd e s k ,i t se f f e c t i n s m a r t p h o n es o f t w a r ed e v e l o p m e n ti sm u c hg r e a t e r c o m p o n e n tt e c h n o l o g yi st h ec o r e t e c h n o l o g yi ne l a s t o so s ,a n di ti st h ef u n d a t i o no fs m a r t p h o n eo s f r o mt h ek e r n e l t oa p p l i c t i o na b o v e ,c o m p o n e n ti su s e de v e r y w h e r e m o r e o v e r , i ti sa l s oi m p o r t a n t p a r to fx m l - g l u em o d e l t h et e x tt h e ni n t r o d u c e sx m l - g l u et e c h n o l o g yb a c k g r o u d a n dd e s i g ni d e aa n da n a l y s e st h i sm o d e ld e e p l y t h e nt e x tm a k e sp r e c i s ei n t r o d u c t i o n t oo r g n i z a t i o na n dr e a l i z a t o no fx m l - g l u e x m l - g l u ei sb a s e do nm v c ,s ot h et e x t g i v e sd e e pe x p l a n a t i o nt oa l lp a r t so fi tc o r r e s p o n d i n gt om v c ,a n a l y s e st h e i r r e l a s t i o na n dc o m m u n i c a t i o nb e t w e e ne a c ho t h e rp r e c i s e l y m e t a d a t ai st h ef u n d a t i o no fc o m p o n e n ts e l f - d e s c r i p t i o n i t sa l s ot h ek e yf a c t o r i l w h ys c r i p tc a l lc o n t r o l sc o m p o n e n tf l e x i b l y i nt h ew h o l ep r o c e s so fd e s i g n ,m yj o bi s h o wt oo r g a n i z ec o m p o n e n tm e t a d a t a , a n dr e a l i z ec a rr e f l e c t i o nf u n c t i o nb a s e do n m e t a d a t a ,w h i c hp r o v i d e si n t e r f a c e sf o rt h ea b o v es c r i p t ( t h i st e x tm e a n sj a v a s c r i p t ) s os c r i p tl a n g u a g ec a n tr e a dc o m p o n e n tm e t a d a t ai n f o r m a t i o ni nr u n t i m e ,a n dr e a l i z e t h ep u r p o s et oo p e r a t ec o m p o n e n td y n a m i c l y , k e yw o r d s :c a rc o m p o n e n tt e c h n i q u e ,w e bs e r v i c e ,x m l - g l u ep r o g r a m m i n g m o d e l e m b o d d e do s 1 1 1 主要符号表 c a r :c o m p o n e n t a s s e m b l yr u n t l m e ,也称为c a r e f r e e a p p l i c a t i o nr u a t l m e u i :u s e ti n t e r f a c e d l l :d y n a m i c l i n k h l n a r y m a r s h a l i n g :列集 u n m a r s h a l i n g :散集,列集的反过程 o d l :o b j e c td e f m i t i o nl a n g u a g e i l u n m :u n i v e r s a lu n i q u en a m e v i 此页若属实请申请人及导师签名。 独创性声明 本人声明,所呈交的论文是我个人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得武汉理工大学或其它教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 研究生签名:乎址日期2 型厶工l 彳 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定, 即:学校有权保留送交论文的复印件,允许论文被查阅和借阅; 学校可以公布论文的全部内容,可以采用影印、缩印或其他复制 手段保存论文 ( 保密的论文在解密后应遵守此规定) 研究生签名:;! i 奠一导师签名 注:请将此声明装订在学位论文的目录前 武汉理工大学硕士学位论文 1 1 背景介绍 第1 章引言 随着因特网时代的到来,应用程序模型已经发生了很大变化,这些变化对 操作系统提出了新的要求,也必将引起操作系统及其上层应用的新发展。传统 手机软件大多是静态链接而成,由某一家公司提供,所有功能都集成在同一个 软件中,一旦连接之后就不可能替换其中的软件模块。而手机操作系统则始终 处于被动地位,为用户程序提供服务。 科泰世纪科技有限公司基于对因特网时代软件技术发展的深入理解,开发 了具有完全自主版权,采用先进的构件、中间件编程技术构筑的下一代高性能 网络操作系统e l a s t o s ,并制定了跨操作系统的构件、中间件标准c a r :提供跨 平台的c a r 构件运行环境、开发平台和构件库:提供支持x m l 等最新因特网 标准的浏览器引擎;提供全面的操作系统应用开发环境【 中间件( m i d d l e w a r c ) 程序设计技术是因特网时代技术的纲中间件是操 作系统根据元数据生成的构件,因特网技术都是围绕中间件而发展的。j a v a 虚 拟机和m i c r o s o f t 推出的甜技术都是一种中间件。面向中间件编程模型中的中 间件也可以想象成构件的代理构件( 或虚拟构件) ,中间件在系统管理员控制下 由操作系统生成。中间件可以为空,这时用户程序与服务构件运行于同一地址 空间,用户直接访问构件,充分发挥计算机的效率1 2 j 。 正是因为中间件技术上述的特性使得应用程序跨平台使用成为可能。j a v a 虚拟机和微软推出来的c 械为当今主流的中间件技术。国内虽然有些厂商也在 做中间件,但是能够真正在操作系统级的中间件的几乎没有正是因为国内缺 少这项足以影响中国信息产业发展的核心技术,在十五8 6 3 计划中,将发展网 络中间件列为战略角度的发展计划。 科泰世纪公司c a r 技术的基本思想是利用j a v a 虚拟机思想但不用其中问 代码形式,采用技术人员熟悉的c 、c + + 语言实现面向构件、中间件编程;有 效利用硬件资源,在自主版权的操作系统e l a s t o s 内核上直接支持动态加载构 件,运行二进制代码( n a t i v ec o d e ) 从而获得更高的运行效率。这样的思路有两 重意义:一般的软件工程师可以运用已知的技术更容易掌握新的编程思想;运 行效率的提高可以降低对硬件配置的要求。后者在像移动电话、p d a 、信息家 电等嵌入式设备中具有普遍的意义1 3 4 1 。 在技术路线上,c a r 采用了c o m 的基本原理,实现了与微软c o m 兼容 的平台技术。为了屏蔽编写c o m 构件的繁琐细节,简化构件编程,c a r 开发 武汉理工大学硕士学位论文 环境提供了c a r 构件描述语言,自动实现了构件的封装【5 】。与微软的c o m 相 比,软件工程师不必理会c o m 很多复杂的规范,只需要将注意力放在自己真 正想做的事上,编写自己关心的代码,用c a r 编程就像”填空。一样简单。有c l + + 基础的程序员用半天的时间就可以基本掌握开发c a r 构件的全部过程。 从编程的难易程度上看,写c a r 构件和写c + + 程序基本相同。不同的只是 。气r 导入了一种更为先进的编程思想,得到的结果是和j a v a 、c 带具有同等技 术水平的构件。在c a r 构件运行平台上,可以说j a v a 和c 撕具有的那些优 秀的特性都可以得到体现。 1 2 课题目的与意义 由于构件、中间件技术可以做到构件运行环境对用户和构件制造者透明, 例如构件可以不加修改运行于不同地址空间。因此可以把操作系统的内核地址 区看成是一段特殊的地址空间,根据用户的需要,将一些来源值得信赖或对运 行效率要求高的驱动程序配置于内核态,而另一些不太稳定的驱动程序置于用 户态运行,在一个系统中同时满足稳定性、安全性与实时性的特殊要求1 6 j 。这 样的体系结构不必区分是大内核还是微内核,事实上所谓的“内核”可大可小, 完全依据系统自身的需求动态决定。这就是e l a s t o s 独创性的“灵活内核”体系结 构,利用构件和中间件技术解决了长期以来困扰操作系统体系结构设计者的大 内核和微内核在性能、效率两者之问不能两全其美的矛盾。 e l a s t o s 与c a r 技术利用j a v a 虚拟机思想但不用其中间代码形式,利用c + + 语言及硬件机器指令实现高效率、低资源要求的虚拟机。e l a s t o s 技术集语言、 构件库、虚拟机三位一体,与国际主流软件技术互补、互操作( 与微软w i n d o w s 2 0 0 0 以及w i n d o w $ x p 兼容) 。 利用中间件技术,可以实现应用程序的跨平台使用。在中间件运行的所有 系统平台上,基于某个中间件平台开发出来的应用程序可以不作任何修改就可 以运行在其他系统平台。这种技术缩小了应用软件平台问移植的周期,节省了 人力,财力用。在r r 领域,s u n 公司最早提出并发布了他们的中间件产品j a v a 虚拟机( j v m ) 。国内的软件厂商至今为止还没有一家涉及到这一个领域,科泰 公司从整个民族产业的战略角度出发,花了很大的精力终于开发出c a r 跨平台 构件。跨平台的c a r 技术与微软主流操作系统兼容,便于应用软件的开发和知 识产权的保护,有利于e l a s t o s 操作系统的普及推广。这里的二进制兼容是指: 基于微软的c a r 技术开发出来的应用程序,不用作任何须改就可以直接在c a r 平台上运行。c a r 构件技术的出台填补了国内的一项空白。 2 武汉理工大学硕士学位论文 1 3 论文内容与组织结构 本文从介绍构件技术的发展背景入手,说明了构件技术的实质和构件技术 的优势。文章首先介绍了和欣操作系统( 它是上海科泰世纪有限公司自主研发的 基于构件技术的网络操作系统) ,然后说明了在操作系统之上的c a r 构件运行 平台的实现机制及其的优点嵌入式设备智能手机的内存容量是有限的,和欣 的灵活内核技术有效的解决了这一问题。操作系统内核在加载到内存时会将那 些必要模块载入,而那些需要运行时才会用到的模块则在需要的时候动态加载。 文章随后介绍了目前流行的构件技术,详细介绍了组件的实现原理和必要 性。随后切入到和欣的核心技术及c a r 构件技术,对c a r 构件的技术背景以 及与c o m 的异同点和对c o m 技术作的扩展做了较为详尽的介绍c a r 构件 的优点在于它的自描述性和平台无关性。正是基于这种基础,文章对c a r 构件 的白描述特性做了非常详细的介绍,它与c o m 的元数据文件的比较及有点等 在文章都有说明。同时,c a r 构件的二进制兼容是它能够跨软硬件平台的关键 因素。文章还专门用一章介绍了和欣图形系统,它也是基于c a r 构件技术的, 图形系统是由一系列构件库组成的。图形系统也运行在用户态,与般的构件 一样动态加载。 接下来详细介绍了x m l - g l u e 技术,它成功解决了和欣手机应用的更新和 井级问题。目翦手机应用软件的实现都是集中在某一种强类型语言上的,比如 说用c + + 开发的手机u l 系统,这样产生的应用软件在编译后就已经固定了,要 升级或者修改小部分功能都必须重新编译源代码。这种高耦合性显然不能满足 现在的软件工厂化编程。这也正是x m l - g i u e 产生的背景。x m i , - g i u c 的提出 是基于目前主流的m v c 开发框架的,它基于模型一视图一控制模型。每一块 都负责专门的功能,他们之问没有任何耦合关系。文章对x m l - g l u e 为什么能 够解决这些问题以及如何实现进行了详尽的分析和介绍。 3 武汉理工大学硕士学位论文 第2 章和欣操作系统及运行平台 2 1 和欣操作系统介绍 2 1 1 和欣操作系统概述 “和欣”操作系统( 英文名称为“e l a s t o s ”) 是构件化的网络嵌入式操作系统, 具有多进程、多线程、抢占式、多优先级任务调度等特性。目前,e i a s t o s 已经 可以在包括p c 、a r m 、m i p s 等多种体系架构上运行。e l a s m s 提供的功能模块 全部基于c a r ( c o m p o n e n t a s s e m b l yr u n t i m e ) 构件技术。这是e l a s t o s 操作系 统的精髓c a r 构件技术规定了构件问相互调用的标准,每个c a r 构件都包 含自描述信息,可以在运行时动态裁剪组装。c a r 构件技术贯穿于整个e l a s t o s 操作系统技术体系中。 从传统的操作系统体系结构的角度来看,和欣操作系统可以看成是由微内 核、构件支持模块、系统服务器组成的。 微内核:主要可分为4 大部分:硬件抽象层( 对硬件的抽象描述,为该层 之上的软件模块提供统一的接口) ;内存管理( 规范化的内存管理接口,虚拟内 存管理) ;任务管理( 进程管理的基本支持,支持多进程,多线程) ;进程间通 信( 实现进程间通信的机制,是构件技术的基础设施) 。 构件支持模块:提供了对c a r 构件的支持,实现了构件运行环境。构件支 持模块并不是独立于微内核单独存在的,微内核中的进程间通讯部分为其提供 了必要的支持功能。 系统服务器:在微内核体系结构的操作系统中,文件系统、设备驱动、网 络支持等系统服务是由系统服务器提供盼。在和欣操作系统中,系统服务器都 是以动态链接库的形式存在。 同时,和欣操作系统提供的功能模块全部基于c a r 构件技术,是可拆卸的 构件,应用系统可以按照需要剪裁组装,或在运行时动态加载必要的构件,还 可以用自己开发的构件替换已有模块。 在新一代互联网应用中,越来越多的嵌入式产品需要支持w e b 服务,而 w e b 服务的提供一定是基于构件的。在这种应用中,用户通过网络获得服务程 序,这个程序一定是带有自描述信息的构件,本地系统能够为这个程序建立运 行环境,自动加载运行。这是新一代互联网应用的需要,是必然的发展方向i s j 。 和欣操作系统就是应这种需要而开发,率先在面向嵌入式系统应用的操作系统 中实现了面向构件服务的技术。实现w e b 服务的关键技术之一是面向构件、中 4 武汉理工大学硕士学位论文 问件技术编程。w e b 服务提供的软件服务就是可执行的功能模块,就是构件。 构件是包含了对其功能的自描述信息的程序模块。和欣操作系统支持在网络环 境下自动查找、动态连接构件,为w e b 服务提供了支撑平台。图2 - l 为“和欣” 应用软件的开发环境示意图: 主g h o s t ( - i n d o w s2 0 0 0 ) 合 和欣s d k 命 运行和欣操作系 统和应用程序 图2 - 1 “和欣”应用软件的开发环境 开发,欣位用软件的过程,如图2 - 2 : 图2 - 2 “和欣谴用软件的开发过程 2 1 2 和欣操作系统特点 x 8 6 兼容 的目标系统 和欣操作系统全面面向构件技术,在操作系统层面提供了对构件运行环 境的支持,并用构件技术实现了”灵活”内核。和欣区别于其他嵌入式操作系统 的特点是: ( 1 ) 基于和欣技术,可实现软件“用户零维护”、“瞬问启动”,各类应用软 件无需安装,可“点击运行”滚动下载”,不同厂家的软件以目标代码形式实现 “无缝链接”,支持应用软件跨平台运行;为资源有限的嵌入式系统有效地支持 5 武汉理工大学硕士学位论文 网络服务( w e bs e r v i c e ) 提供了高效率的“傻瓜化”运行平台; ( 2 ) 可以有效地支持移动计算、网络计算、普适计算等代表信息技术发展 的新兴领域,为其提供与其内在的本质和特点相适应的有效的编程模型和底层 软件平台解决方案;体积小,高效率,面向网络时代的嵌入式信息设备应用; 提供w i n 2 0 0 0 x p 仿真技术,支持二进制代码兼容1 9 】; ( 3 ) 2 5 g 3 g 手机主要是数据业务终端。传统手机的核心技术“无线通讯 模块”变成了系统组成的配件,提供软件服务是手机厂家及移动运营商市场竞争 核心手段之一,这正是和欣手机操作系统及c a r 技术的优势; ( 4 ) 可以动态加载构件,在网络时代,软件构件就相当于零件,零件可以 随时装配。c a r 技术实现了构 牛动态加载,使用户可以随时从熙络得到最新功 能的构件;支持软件复用,软件复用是软件工程长期追求的目标,c a r 技术提 供了构件的标准,二进制构件可以被不同的应用程序使用,使软件构件真正能 够成为一工业零件一。 ( 5 ) 实现软件工厂化生产,上述几个特点,都是软件零件工厂化生产的必 要条件。构件化软件设计思想规范了工程化、工厂化的软件设计方法,提供了 明晰可靠的软件接口标准,使软件构件可以像工业零件一样生产制造,零件可 用于各种不同的设备上; c 6 ) 提高系统的可靠性、容错性,由于构件运行环境可控制,可以避免因 个别构件的崩溃而波及到整个系统,提高系统的可靠性。同时,系统可以自动 重新启动运行中意外停止的构件,实现系统的容错; ( 7 ) 有效地构筑系统安全性,系统可根据构件的自描述信息自动生成代理 构件,通过代理构件进行安全控制,可以有效地实现对不同来源的构件实行访 问权限控制、监听、备份容错、通信加密、自动更换通信协议等等安全保护措 施。 在新一代因特网应用中,越来越多的嵌入式产品需要支持w e bs e r v i c e ,而 w e bs e r v i c e 的提供一定是基于构件的。在这种应用中,用户通过网络获得服务 程序,这个程序一定是带有自描述信息的构件,本地系统能够为这个程序建立 运行环境,自动加载运行。这是新一代因特网应用的需要,是必然的发展方向 和欣操作系统就是应这种需要而开发,率先在面向嵌入式系统应用的操作系统 中实现了面向构件的技术。构件化的和欣操作系统可以为嵌入式系统开发带来 以下好处: ( 1 ) 将构件化编程技术引入嵌入式软件开发中。之前,嵌入式软件一般用 汇编语言、c 语言,在少数系统中已经支持了c + + 开发,但是由于还没有一个 嵌入式操作系统能够提供构件化的运行环境,可以说,嵌入式软件开发还是停 6 武汉理工大学硕士学位论文 留在手工作坊式的开发方式上。 ( 2 ) 可以动态加载构件。动态加载构件是因特网时代嵌入式系统的必要功 能。新一代p d a 和移动电话等移动电子产品,不能再像以前那样由厂家将所有 的功能都做好后固定在产品里,而要允许用户从网上获得自己感兴趣的程序。 ( 3 ) 容易共享第三方软件开发商的成果。面f 句行业的构件库的建设,社会 软件的丰富,使得设备厂家不必亲自开发所有的软件,可以充分利用现有的软 件资源,充分发挥自己的专长为自己的产品增色。 ( 4 ) 功能完备的开发环境和方便的开发工具,帮助嵌入式开发人员学习和 掌握先进的构件化软件编程技术,提高软件开发效率。应用软件可以在开发环 境下开发调试,与硬件研制工作同时进行,缩短产品研制周期,从而减少成本。 c a r 构件技术是e l a s t o s 操作系统最大的特色,c a r 构件与e l 鹅t o s 操作系 统融为一体。和欣操作系统的实现全面贯穿了c a r 思想,c a r 构件可以运行 于不同地址空间或不同的运行环境。我们可以把操作系统的内核地址区看成是 一段特殊的地址空间,用户可以根据运行时的需求,自主选择将操作系统的某 些系统服务构件、文件系统、图形系统、设备驱动构件等运行于内核地址空阃 或用户地址空问。与传统的操作系统的一大内核一、“微内核一体系结构相比,和 欣操作系统内核里提供的系统服务,完全可以由用户依据系统自身的需求动态 决定。因此我们称和欣操作系统内核为。灵活内核。( a g i l ek e r n e l ) 和欣灵活内核的体系结构,利用构件和中间件技术解决了长期以来困扰操 作系统体系结构设计者的大内核和微内核在性能、效率与稳定性、安全性之间 不能两全其美的矛盾。构件技术可以做到构件运行环境对用户和构件编写者透 明,如构件可以不加修改运行于不同地址空间,“和欣”操作系统正是利用构件 技术的优势在系统层面实现了“三层结构”( c l i e n t m i d d l e w a r e s e r v e r ) 计算模型, 完全把构件技术的使用融入到系统内核功能中,“和欣”操作系统的灵活内核技 术完全基于这个模型p o l 。图2 - 3 为“和欣“操作系统内核结构: 图2 - 3 “和欣”内核结构 7 武汉理工大学硕士学位论文 2 1 3 和欣操作系统结构 从应用编程的角度看,和欣操作系统提供了一套完整的、符合c a r 规范的 系统服务构件及系统a p i ,为在各种嵌入式设备的硬件平台上运行c a r 二进制 构件提供了统一的编程环境。和欣操作系统还提供了一组动态链接构件库,这 些构件库通常是开发嵌入式应用系统时不可缺少的i l l 1 2 】: ( 1 ) 图形系统构件库( 方便开发图形用户操作界面) ; ( 2 ) 设备驱动构件库( 各种输入输出设备的驱动) ; ( 3 ) 文件系统构件库( f a t 兼容,包括对f l a s h 等的支持) ; ( 4 ) 网络系统构件库( t c p ,球等网络协议支持) 。 系统提供的构件库,以及用户开发的应用程序构件都是通过系统接口与内 核交互,他们处于同样的地位用户可以开发性能更好或者更符合需求的文件 系统、网络系统等构件库,替换由科泰世纪公司提供的构件库,也可以开发并 建立自己的应用程序构件库。这就是基于构件技术操作系统的优势之一。 此外,为了方便用户编程,在和欣s d k 中还提供了以下函数库1 1 川: ( 1 ) 与微软w i n 3 2a p l 兼容的应用程序编程接口( c l a w 3 2a p 0 , ( 2 ) 标准c 运行库( 1 i b c ) ; ( 3 ) 和欣提供的工具类函数( e l a u t i l ) 。 对程序员来说,和欣操作系统提供的用户编程接口与下一节将要介绍的和 欣构件运行平台完全一样。所以,在相互兼容的硬件平台上,不管运行的是和 欣操作系统还是w i n d o w s 操作系统,应用程序可以不加区分地在其上运行 和欣操作系统实现并支持系统构件及用户构件相互调用的机制,为c a r 构 件提供了运行环境。关于c a r 构件的运行环境,其描述与“和欣构件运行平台” 是一样的,在此从简。因此,我们可以把和欣操作系统看成是直接运行在硬件 平台上的“和欣构件运行平台”。可以用下图来表示和欣操作系统及其主要构成。 和 欣 操 作 系 体 图2 4 和欣”操作系统的系统结构图 8 武汉理工大学硕士学位论文 2 2 和欣构件运行平台 2 2 1 平台概述 和欣构件运行平台提供了一套符合c a r 规范的系统服务构件及支持构件 相关编程的a p ! 函数,实现并支持系统构件及用户构件相互调用的机制,为c a r 构件提供了编程运行环境。和欣运行平台在不同操作系统上有不同的实现,符 合c a r 编程规范的应用程序通过该平台实现二进制跨操作系统平台兼容l 】。 在和欣操作系统中,和欣构件运行平台与“和欣灵活内核”共同构成了完整 的操作系统。在w i n d o w s2 0 0 0 、w i n c e 、l i n u x 等其他操作系统上,和欣构件 运行平台屏蔽了底层传统操作系统的具体特征,实现了一个构件化的虚拟操作 系统。在和欣构件运行平台上开发的应用程序,可以不经修改、不损失太多效 率、以相同的二进制代码形式,运行于传统操作系统之上 下图直观地显示了和欣构件运行平台在w m d o w s2 0 x p 、和欣操作系统 中的位置。如图2 5 : 图2 - 5 “和欣”构件运行平台与操作系统的关系 以下是和欣构件运行平台的设计目标和要求: 1 1 提供统一接口,屏蔽真实操作系统的具体特征 和欣构件运行平台作为操作系统与应用程序交互的唯一接口,为用户屏蔽 真实操作系统的具体特征。 和欣构件运行平台提供了系统一级的c a r 库的服务,提供中间件的自动生 成机制。在“客户中间件朋艮务器”( c l i e n t m i d d l e w a r e s e r v e r ) = 层体系结构中,当 客户程序需要调用一个软件服务时,和欣构件运行平台可根据与应用相关的元 数据动态生成代理构件,自动构造客户与服务相关的运行环境,客户与服务不 再直接发生关系,所有的通信机制都通过和欣构件运行平台自动实现i l 研和欣 构件运行平台同时为用户提供一套完整的与系统服务相关的a p i 函数及系统构 件服务伪】线程调度、内存分配、创建新的进程对象等) ,对用户而言,“和欣构 9 武汉理工大学硕士学位论文 件运行平台”提供了操作系统能提供的所有服务。 2 ) 目标代码是操作系统所能识别并执行的最终机器指令 基于和欣构件运行平台的目标代码是操作系统所能识别并加以执行的最终 机器指令。基于和欣构件运行平台开发的应用程序的目标代码应该是二进制流 的,是操作系统所能识别并加以执行的最终机器指令,无需类似j a v a 虚拟机及 c 矿虚拟机解释执行,以便充分发挥系统的效率 3 ) 实现应用程序二进制级跨平台提供可能 和欣构件运行平台的物理表现必须为d l l 动态链接库形式,“和欣”支持动 态链接库,其软件产品遵守标准的p e 文件格式,这确保了文件在使用上及物 理存储上与w i n d o w s 系列操作系统的一致,c a r 构件与微软c o m 构件二进 制兼容为和欣构件运行平台实现应用程序二进制级跨平台奠定了坚实的基础。 这样就可以在不同的操作系统上实现有相同功能的c a r 构件运行环境和开发 平台,从而实现基于c a r 构件技术的同一软件在“和欣操作系统与其它通用操 作系统平台如w i n d o w s ,l i n u x 上的二进制兼容。这一技术的实现将使c a r 成 为通用的构件、中间件开发平台,有利于不同类别操作系统的普及应用 4 ) 为实现灵活内核提供相关支持 基于c a r 构件技术的和欣构件运行平台提供了安全控制以及应用服务器 的运行、管理与调度机制,可以提供对用户透明的服务,比如可以根据不同的 运行环境进行动态加载、更换、卸载与通信协议相关的网络服务构件、文件系 统构件、驱动程序构件、以及分布式的事务处理构件等。为“和欣”操作系统的“灵 活内核”似g i l tk e r n d ) 体系结构提供有力的支持 和欣构件运行平台的主要功能设计: 实现一套内核代码映射引m , ( e x p o r t ) 机制,该机制与d l l 的引出函数调用 相关,实现和欣构件运行平台所提供的a p i 函数在用户态及内核态都能够调用, 并且在所有用户空间只有一份相关代码的拷贝,最大程度上节省系统资源的消 耗。 和欣构件运行平台提供一组与c a r 服务相关的a p i 函数( c a r 库函数) , 提供对用户c a r 的基本支持。 和欣构件运行平台提供基础a p l 支持,为用户提供一些“和欣”操作系统所 特有的、必需的函数调用。 提供获得标准系统内核构件对象接口指针的手段,实现对内核对象的访问 及控制。 根据二进制构件的自描述信息自动生成构件的运行环境,动态加载构件。 提供构件之间的自动通信机制,构件间通信可以跨进程甚至跨网络。 1 0 武汉理工大学硕士学位论文 构件的运行状态监控,错误报告等。 提供可干预构件运行状态的机制。 构件的生命周期管理,如进程延续( p e r s i s t e n c e ) 控制、事务元( t r a n s a c t i o n ) 控制等。 总的来说,在“和欣”操作系统上“和欣构件运行平台”与底层操作系统密不 可分,在更大程度上“和欣构件运行平台”是底层操作系统的一个抽象层,和欣 构件运行平台为客户程序与操作系统的交互界面,为客户程序提供相关的函数 调用及构件服务,同时隐藏了底层操作系统的特征。和欣构件运行平台代码映 射机制是实现“和欣构件运行平台”代码共享的基本手段。 在“和欣”操作系统中,系统代码及用户代码都将被加载到共享地址空间( 私 有代码被加以保护,禁止用户进程直接访问) ,和欣构件运行平台将系统的共享 代码索引表生成一个虚拟的动态链接库e l a s t o s d l l ,通过d l l 的引出机制,所 有用户程序共享这些代码,操作系统在加载用户进程的初始化时通过自动在用 户空间注册该虚拟的e l a s t o s d 。e l a s t o s m l 的引出函数表与和欣构件运行平台 的共享代码索引表一一对应。 2 2 2 平台的功畿结构 和欣操作系统不仅为用户提供了一个组件运行平台,还提供了图形系统、 设备驱动、文件系统及网络系统等的组件库系统,这些组件库通常是开发嵌入 式应用系统时不可缺少的1 1 6 】。用户开发的应用程序组件都是通过组件平台的系 统接口与内核交互l r n 。这里将2 , 0 系统向用户提供的主要服务模块称为系统平 台模块。因此,从用户编程角度看,和欣操作系统在操作系统平台层向客户应 用提供的服务模块主要由以下几大主要模块构成: 系统接口及组件服务支撑模块:它向应用程序提供进程、线程对象的创建服 务,允许应用程序通过及对进行、线程等对象进行操作应用程序运行过程 中的同步机制需求,组件的创建及其运行环境的开辟,组件命名服务的运作, 均须通过此这模块来实现。这一个服务模块是用户可感受到的2 0 系统核心 模块,这一服务功能主要由动态库e l a s t o s d u 来提供。 c 运行时服务模块化g i l d t i m e ) :这是一个动态运行时库,它是标准c 运行库 的一个有效子集,其包含了c 程序运行的最基本和最常用的函数及初始化 代码。如标准输入输出函数,常用字符串操作函数,内存操作及文件操作等 标准c 函数。和欣2 o 系统这一服务模块主要表现为动态库e l a c r t d l l 。 文件系统服务模块:“和欣”系统是一个基于中间件技术的操作系统,该模块 是一个组件化的文件服务模块,它以组件化的方式为和欣2 0 系统提供必要 武汉理工大学硕士学位论文 的文件和目录操作。用户可根据自己需要,开发相应的组件化文件系统来替 换它。和欣2 0 系统这一服务的组件库为v f s 棚。 , i t 网络服务模块:网络应用程序不能直接与t ( 驯m 底层函数打交道。e l a s t o s 提供一套与u n i x - s o c k e t 和w i n s o c k 兼容的编程接口用于进行网络编程,即 为e l a s o c k ,它以套接口作为编程接口。此外,系统也提供了组件化的s o c k e t 接口及w e b s e r v i c e 服务功能。和欣2 o 系统网络服务由t c p i p d l i 、u s h e r d u 、 e l a s o c k d l l 等动态库及组件库实现。 图形系统服务模块:“和欣”2 0 的a r i a s 图形系统是一套基于消息机制的图形 系统,向用户提供常用的图形控件,在以动态链接库的形式存在于和欣2 o 系统中。和欣2 0 系统图形系统服务c t r l r c 栅、d r a w c t r l d l l 、e l a c t d 2 硼、 e l a g d i 3 2 硼、e l a u s r 3 2 棚等动态库及组件库提供。 在这些构成模块中,e l a s t o s 硼和e l a c r t 埘l 是应用程序运行必不可少的两个 支撑模块。而文件系统服务模块,网络服务模块及图形系统服务模块,则是为 用户开发方便,或是为了使系统提供一个相对更完善的服务,而增加的服务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 26年骨肉瘤靶向随访落地指南
- 大班主题预设活动策划与实施
- 情绪情感过程与教育
- 黑与白的艺术设计
- 教育专项扶贫政策体系解析
- 家庭文明礼仪教育
- 2026带状疱疹新版-诊疗指南课件解读
- 美银-全球投资策略:资金流秀:生活在原材料世界-The Flow Show:Living in a Material World-20260507
- 课题验收流程
- 播音系配音课件
- 2025小红书618【宠物行业】营销洞察-策略建议
- GB/T 22107-2025气动方向控制阀切换时间的测量
- 《基于ESP8266和芯片和光学指纹模块的智能门禁系统设计6100字(论文)》
- 2025年浙江省杭州市萧山区高桥初中教育集团中考英语调研试卷(3月份)
- 《公路波纹钢结构涵洞标准图集》(征求意见稿)
- 射线检测专业知识考试题库(含答案)
- 湖北省襄阳市2023-2024学年小升初语文试卷(含答案)
- 黑龙江省建筑工程施工质量验收标准(建筑地面工程)
- 2025届新高考地理热点复习 天气系统与气象灾害-以湖北冻雨为例
- 2023年南京市中考历史试题及答案
- 《公共政策评估》课件
评论
0/150
提交评论