(计算机应用技术专业论文)嵌入式移动代理的研究与实现.pdf_第1页
(计算机应用技术专业论文)嵌入式移动代理的研究与实现.pdf_第2页
(计算机应用技术专业论文)嵌入式移动代理的研究与实现.pdf_第3页
(计算机应用技术专业论文)嵌入式移动代理的研究与实现.pdf_第4页
(计算机应用技术专业论文)嵌入式移动代理的研究与实现.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)嵌入式移动代理的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连理工大学硕士学位论文 摘要 近年来,嵌入式技术发展迅速,在工业控制、银行、医疗等许多领域大显其能。同 时,嵌入式设备也逐渐走入普通家庭,掌上电脑、p d a 、多功能手机等越来越普及。随 着网络技术的不断发展,嵌入式设备势必要融入i n t e k n e t 。然而,嵌入式设备大多采 用无线网络接入的方式,具有低带宽、易断线等许多缺点,无法适应信息化社会的大量 信息交换和共享的要求。 移动代理是智能软件代理的一种,是分布式计算技术与人工智能技术相结合的产 物。与传统的c l i e n t s e r v e r 技术、远程过程调用技术、分布式技术相比,具有减少网络 传输量,节约网络带宽,异步计算等许多优点。这些特点和优点恰恰能够解决上述难 题,有助于嵌入式设备融入i n t e r n e t ,使二者相结合成为一种必然趋势。 想要将移动代理技术应用于嵌入式设备,充分矛4 用移动代码的优势,必须要有移动 代理平台支撑。然而,移动代理系统机制复杂,需要较高的硬件性能和成熟的操作系统 平台支持,这与当今流行的嵌入式设备如手机、p d a 等相对较弱的硬件性能和功能较 弱的微小化的嵌入式操作系统平台形成矛盾。 作者首先分析了现今流行的嵌入式设备的特点,选择了最具有代表性的嵌入式操作 系统u c l i n u x 作为实现嵌入式移动代理系统的平台,并成功地将u c l i n u x 移植到基于 a r m 7 t d m i 架构的开发板上,建立起开发与测试的环境。然后剖析了简化的j a v a 虚拟 机k v m 和移动代理系统a g l e t 的标准、通信协议、安全机制,成功地将k v m 移植到 u c l i n u x 平台,并设计实现了一个小型的嵌入式移动代理系统_ 1 l a g l e t 。本文首先概 述了移动代理的相关概念和嵌入式系统u c l i n u x 的移植过程。然后重点介绍了k v m 的 移植过程、嵌入式移动代理系统u a l e t 的设计与实现以及在u a g l e t 平台上实现的一个简 单的网络信息收集系统。最后是总结和展望。 关键词:嵌入式;移动代理:k v m ;a g l e t ;u c l i n u x 嵌入式移动代理的研究与实现 r e s e a r c ha n d 卫p l e n t a t i o no fe m 皿e d d e dm o b 几e a g e n t a b s t r a c t i nr e c e n ty e a r s ,t h ed e v e l o p m e n to fe m b e d d e dt e c h n o l o g yi sp r o s p e r o u s ,a n di th a sb e e n w i d e l yu s e di nm a n yf i e l d s m e a n w h i l e ,p a l mc o m p u t e r ,p d a ,m u l t i f u n c t i o n a lc e l l u l a rp h o n e a r em o r ea n dm o r ep o p u l a r w i l l lt h ec o n s t a n t d e v e l o p m e n to ft h en e t w o r kt e c h n o l o g y , e m b e d d e dd e v i c e sc e r t a i n l yw i l li n c o r p o r a t ei n t e r n e t b u t c o m m o n l y ,t h ec o n n e c t i o nw a y i sw i r e l e s s a n di th a sal o to f d i s a d v a n t a g e ss u c ha sl o wb a n d w i d t ha n di n s t a b i l i t y i tc a n tm e e t t h en e e d so f a l a r g ea m o u n t o f i n f o r m a t i o ne x c h a n g ea n ds h a r ei nt h ei n f o r m a t i o n - b a s e ds o c i e t y m o b i l ea g e n ti sak i n do f i n t e l l i g e n ts o r w a r ea g e n t ,a n di ti st h er e s u l to f t h ec o m b i n a t i o n o fd i s t r i b u t e dc o m p u t i n gt e c h n o l o g ya n da r t i f i c i a li n t e l l i g e n c et e c h n o l o g y c o m p a r ew i t h t r a d i t i o n a ld i s t r i b u t e dt e c h n o l o g y ,i th a st h ea d v a n t a g e so fr e d u c i n gt h el l a f f i co ft h en e t w o r k , e c o n o m i z i n gt h eb a n d w i d t ho f t h en e t w o r k ,e t c t h e s ea d v a n t a g e sc a nh e i pt os o l v ea b o v e m e n t i o n e dp r o b l e m se x a c t l y i ti sat r e n dt h a tm o b i l ea g e n tt e c h n o l o g ya n de m b e d d e dd e v i c e s c o m b i n e t o g e t h e r i no r d e rt oa p p l ym o b i l ea g e n tt e c h n o l o g yt oe m b e d d e dd e v i c e sa n du t i l i z et h ea d v a n t a g e o fm o b i l ec o d e ,w em u s th a v et h es u p p o r to fm o b i l ea g e n tp l a t f o r m b u tt h e r ei sac o n f l i c t b e t w e e nt h ec o m p l e x i t yo fm o b i l ea g e n ts y s t e ma n dt h ep o o rp r o c e s s i n ga b i l i t yo fe m b e d d e d d e v i c e s a r e ra r l a l y z i n gt h ee l e m e n t so ft h ea g l e tm o b i l ea g e n ts y s t e ma n dt h ea c t u a l i t yo f e m b e d d e dd e v i c e s ,t h ea u t h o rm i g r a t e du c l i n u xt oa na r m 7 t d m i b a s e dd e v e l o p - b o a r da n d c h o s ei ta st h ep l a t f o r mo fi m p l e m e n t i n gt h ee m b e d d e dm o b i l ea g e n ts y s t e m u a g l e t t h e n , m i g r a t e dk v m ( j a v ak i l o b y t e v i r t u a lm a c h i n e ) t ou c l i n u xa n di m p l e m e n t e du a g l e to ni t i n t h i sd i s s e r t a t i o n ,f i r s t ,t h ea u t h o ri n t r o d u c e dt h er e l a t i v ec o n c e p to f m o b i l ea g e n ta n d t h ep r o c e s s o fm i g r a t i n gu c l i n u x t h e ni n t e r p r e t e d t h e p r o c e s s o ft h e m i g r a t i o n o fk v ma n d i m p l e m e n t a t i o no fu a g l e ti nd e t a i l a l s o ,p r o v i d e da i le x a m p l eo fu a g l e t :as i m p l en e t w o r k i n f o r m a t i o nc o l l e c t i o ns y s t e m f i n a l l y ,m a d eac o n c l u s i o na n di n t r o d u c e dt h ew o r k i nt h ef u t u r e k e yw o r d s :e m b e d d e d ;m o b i l ea g e n t ;k v m ;a g l e t ;u c l i n u x - 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究 工作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得 大连理工大学或其他单位的学位或证书所使用过的材料。与我一同工作 的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢 意。 作者签名:j 笙缸日期:! ! 兰兰! 兰! 大连理工大学硕士学位论文 1 绪论 1 1 课题研究背景 自从计算机从实验室走入普通个人的家庭,计算机技术与人们的日常生活和工作结 合得越来越紧密。然而,个人电脑在便携性上有时还不能满足需要,在一些特殊环境下 也无法发挥作用。随着嵌入式技术的不断发展,嵌入式系统在工业控制、军事、日常生 活等领域应用愈加广泛,掌上电脑与多功能手机也逐渐普及,成为人们办公、娱乐的重 要载体。 当今人类已经处于信息化社会,以i n t e r n e t 为代表的计算机网络技术和通信技 术已经渗透到各个领域,其中也包括与嵌入式技术相结合。然而,将嵌入式设备完全融 入到i n t e r n e t ,需要解决以下两大问题: 一、异构问题 现在的i n t e r n e t 存在一系列的异构问题,包括平台异构、操作系统异构j 计算 机语言异构、协议异构、版本异构。对于嵌入式设备,异构问题比较突出的是平台异 构、操作系统异构和计算机语言异构。嵌入式硬件平台众多,如a r m 、m 6 8 k 、 p o w e r p c 等等;嵌入式操作系统也是种类繁多,常见的如u c o s 、u c l i n u x 、 a r m l i n u x 、w i n d o w s c e 、v x w o r k s 等等。这些操作系统没有统一的接口标准,硬件依 赖状况严重。而现阶段嵌入式应用程序为了追求效率,往往采用c 语言和汇编语言,可 移植性差,不利于软件重用。 二、网络问题 嵌入式设备通常具有微型化、可移动的特点,这样就决定了其接入t n t e r n e t 的 方式为无线接) , ( w i r e l e s sc o n n e c t i o n ) 。无线接入具有低带宽、易断线等许多缺点,这远 远不能满足大量信息传输和共享的需求。这样,不可避免地带来了一些问题:1 、网络 的低带宽、高延时逐渐成为一个限制网络应用和发展的瓶颈;2 、移动设备资源受限、 计算能力弱,难以维持连续的网络连接:3 、i n t e r n e t 上剧增的数据量和用户的个陛 化需求都需要有更好的信息检索手段支持。 2 0 世纪9 0 年代,人们提出了移动代理技术。这是一种新型的分布式技术,具有很 好的应用前景,是当今软件技术的一个研究热点。它集软件、通信、分布系统的技术于 一体,弥补了传统c s 技术的不足,有着巨大的应用前景。和传统的分布计算模型相 比,移动代理的移动性和自治性带来了许多优点:节约网络带宽、提供实时远程交互、 支持离线计算、实现载荷卸载、提供定制化服务、提供平台无关性等。这些优点使得移 嵌入式移动代理的研究与实现 动代理有重大的应用价值,范围包括:电子商务、分布式信息检索、电信网络服务、移 动设备计算、网络管理、并行任务求解、工作流管理和协作、动态网络等。 移动代理技术的特点决定着它特别适合于解决构建在嵌入式平台上的移动设备上网 所面临的上述问题,有利于用户的个性化、智能化、自主化需求。因此在嵌入式移动设 备中使用移动代理技术是发展的必然并且会迅速成为现实。 1 2 课题所属领域 本课题主要研究移动代理技术在嵌入式平台上的实现与应用,属于嵌入式研究领域 和计算机分布式研究领域。 1 3 国内外研究现状 目前,移动代理系统的研究异常活跃,迄今已有数十种移动代理系统存在,但绝大 部分都还只是原型系统,它们的针对性不同,实现方法也各有千秋,未形成最终统的 标准。作为一种新型的分布式网络计算模式,目前大部分工作仍处于实验室研究状态或 小规模试用阶段,尤其在嵌入式移动设备领域,相关的文献和成果极少。与此相关的文 献资料综述如下: 随着计算机硬件的不断发展。嵌入式设备也从原来的8 位机水平发展到现在的1 6 位、3 2 位平台。随着硬件等级的提高和实际应用的需要,嵌入式设备需要完成的任务 也越来越复杂和多样化。因此嵌入式平台上的操作系统( 有的为了实现实时特性,还要 采用实时嵌入式操作系统) 起到举足轻重的作用。在文献 1 】中,作者明确地指出了嵌入 式操作系统将与各种计算机技术融合的发展趋势,嵌入式操作系统也出现了基于面向对 象的分布式技术,如实时c o r b a 、嵌入式c o r b a 等,嵌入式软件平台正在逐步形 成。 嵌入式平台能够融合分布式技术,其最基本的前提条件是具有跨平台通信功能。文 献 2 】讨论了嵌入式实时系统中跨平台通信的具体实现方法,这为嵌入式平台融合分布式 技术提供了强有力的技术理论支持。 由于j a v a 语言具有先天的平台无关的优良特性,并且安全性高、易扩展等特点, 被越来越多的入认可,应用也日益广泛,正在逐渐形成事实上的标准。文献 3 】显示了在 嵌入式平台上实现j a v a 虚拟机的可能住,文献 4 1 n 阐述了在嵌入式系统上使用j a v a 语 言的具体方法。实现嵌入式平台上的j a v a 支持对将移动代理技术运用到嵌入式系统之 上无疑是最有力的前提保证。 2 一 大连理工大学硕士学位论文 移动代理技术发展到今天还没有形成最终的统一标准,有关移动代理模型的理论仍 在不断发展。文献【5 介绍了当前移动代理研究的现状、发展趋势和一些已经形成的标准 与已经实现的可用系统。文献 6 详细阐述了移动代理应具有的模型、优点、和实现的方 法,这些论述不仅总结了现有的研究成果,而且对于今后的研究具有重大的指导意义。 文献 7 对移动代理中的协调模型进行了更加详细的论述,并对其进行了分类。移动代理 模型的研究对移动代理从原型系统向实用系统过渡起到了重要的理论指导作用,现有的 实用系统也不断完善和提高。 随着移动代理的技术越来越成熟,其实际应用价值也日益体现出来。文献f 8 ,9 ,1 0 阐 述了用移动代理技术解决了不同领域的实际问题。文献11 ,1 2 ,1 3 ,1 4 说明了移动代理技 术与无线嵌入式设备的关系。这说明移动代理技术已经足够成熟,可以应用到实际,并 取得比较理想的效果。 然而应该看到移动代理技术仍然处于起步阶段,未形成统一标准。文献【1 5 】总结了 现有系统的标准并进行了比较。移动代理的安全性同样是今后需要不断完善的方面,文 献 1 6 1 7 对此进行了深入的探讨并提出了一些改进的方法。 综上所述,移动代理技术的发展和网络的分布化要求相吻合,将其应用于嵌入式系 统是未来网络发展的必然趋势。在现有的硬件、软件技术条件下和现有的理论基础支持 下,本课题内容是完全可行的,并且具有一定的技术理论价值和实际应用价值。进行嵌 入式领域的移动代理技术研究,既是大势所趋,又有实际意义;而设计出自主的支撑移 动代理运行的嵌入式平台和移动代理系统模型,既有一定的前瞻性,又迫在眉睫。 1 4 研究的目标与内容 本课题旨在嵌入式设备上实现移动代理平台。首先,移植u c l i n u x 操作系统到基于 a r m t t d m l 架构的硬件平台,建立起嵌入式开发的软硬件环境;其次,移植小型化的 j a v a 虚拟机k v m 到u c l i n u x 平台之上并对其正确性进行验证:再次,针对k v m 的特 点,对移动代理平台a g l e t 进行裁减和改造,实现适合嵌入式设备运行的移动代理 u a g l e t 系统原型;最后,用u a g l e t 系统原型进行二次开发。 3 嵌入式移动代理的研究与实现 2m o b i l e a g e n t 与嵌入式操作系统u c l i n u x 2 1 移动代理m o b i l ea g e n t 2 11 移动代理技术的相关概念和标准 对代理( a g e n t ) 的研究起源于人工智能领域,是指在某一环境中模拟人类行为和 关系、具有一定智能并能够自主运行和提供相应服务的程序。代理包括的范围很广,软 件代理也是代理的一种。随着网络技术和的发展和分布式计算的需要,进一步产生了移 动代理( m o b i l ea g e n t ) 的思想。 移动代理是一种软件代理。一个软件代理指的是一个程序,即使是在发起它的用户 或应用程序不能为它提供指导和错误处理时,也能自主独立地运行 1 8 1 。即软件代理是 代表其所有者运行的程序。i a g ( t h e i n t e l l i g e n t a g e n t g r o u p ) 对移动代理的定义为: 一个移动代理是一个存在于软件环境的软件实体。它具有跨平台持续运行、自我控 制移动的能力,能够模拟 、类行为关系,并提供一定人工智能的服务程序,它继承了某 些代理的特性。一个移动代理必须包含以下所有的模型:代理模型、生命周期模型、可 计算模型、安全模型、通信模型、和导航模型 1 9 1 。 图2 1 移动代理系统的组成 f i g 2 1c o m p o n e n t s o ft h em o b i l e a g e n ts y s t e m 4 大连理工大学硕士学位论文 在以上的定义中,移动代理存在的软件环境被称为移动代理环境( m a e ) 。移动 代理环境是分布在一个由异构计算机组成的网络中的软件系统,它的主要任务是提供移 动代理可以执行的环境。移动代理环境实现了大部分移动代理定义的模型。移动代理系 统的组成如图2 1 所示。 由于移动代理技术出现不久,不同的研究机构和公司往往采用不同的方法来实现移 动代理平台。由于缺乏公认的标准和规范,这些平台之间的互操作性极差。 现今,移动代理技术主要有两大标准:由对象管理组织于1 9 9 8 年发布的m a s i f ( t h eo b j e c tm a n a g e m e n t g r o u p sm o b i l ea g e n ts y s t e mi n t e r o p e r a b i l i t yf a c i l i t y ) 标准和由 智能物理a g e n t 协会发布的f i p a ( f o u n d a t i o n f o r i n t e l l i g e n t p h y s i c a la g e n t s ) 标准。 m a s i f 标准首先规定了通用概念模型,该模型包含一个分布式代理环境d a e ( d i s t r i b u t e da g e n te n v i r o n m e n t ) 和一个分布式处理环境d p e ( d i s t r i b u t e dp r o c e s s i n g e n v i r o n m e n t ) ,并涵盖了现有移动代理平台的所有主要要素,如a g e n t 状态、a g e n t 授 权者、a g e n t 名字、位覆( p l a c e ) 、域( r e g i o n ) 、代码库( c o d c b a s e ) 和通信基础等 概念:其次说明了各要素之间的关系:再次介绍了移动代理与c o r b a 的结合:最后, 用1 d l 定义了两个接口,m a f f i n d e r 和m a f a g e n t s y s t e m 2 0 】。 移动代理平台是建立在操作系统之上的虚拟机环境,并实现a g e n t 的创建、执行、 移动、终止等基本功能。每台计算机上可以有一个或多个移动代理平台,a g e n t 运行于 这些平台的不同位置( p l a c e ) ,a g e n t 之间的通信和移动都是通过通信基础来实现的, 如图2 2 移动代理系统所示。 位置1 位置2 厂、 a 眵 a g e n t 系统 l j几 图2 2 移动代理系统 f i g 2 2m o b i l ea g e n ts y s t e m 5 嵌入式移动代理的研究与实现 m a f f i n d e r 接口通过维护一个动态的名字和地址映射关系,实现了a g e n t 系统的注 册、注销、定位、跟踪等操作。通常情况下,在多域系统中每个域都有单独的 m a f f i n d e r ,如图2 3 所示。 图2 3 多域系统 f i g 2 3m u l t i - d o m a i ns y s t e m m a f a g e n t s ) r s t e m 定义了对a g e n t 的操作,如:创建、暂停、接收、恢复等。它详 细定义了方法名、参数类型、含义、数量、返回值等,这些方法提供了a g e n t 生命周期 的基本服务。 m a s i f 标准的优势在于保证了每个移动代理平台的自身特性,并且充分利用了 c o r b a ,使其与现有的c o r b a 系统能够较好的融合。 f i p a 标准的目的是使代理和代理系统的交互简易化1 2 1 1 。作为a g e n t 管理系统的附 加,f i p a 涵盏了代理通信和代理消息传递,这些在m a s i f 标准中并未提及。f i p a 提 出了代理通信语言a c l ( a g e n tc o m m u n i c a t i o nl a n g u a g e ) 。a c l 起源于知识查询和操 纵语言k q m l ( k n o w l e d g eq u e r ya n dm a n i p u l a t i o nl a n g u a g e ) ,基于语言行为理论 ( s p e e c ha c tt h e o r y ) 。这是种具有精确表达式和语义的高级语言,通过它使代理之 间进行通信。一个代理消息包括两部分信封和消息体。信封传递了欲传输的信息,而 消息体包含了真正的消息内容, 此外m a 还涉及了代理安全管理和移动管理。 以下是对两种标准的比较。m a s i f 标准基于代理平台并且使代理从一个平台移动 到另一个平台成为可能,而f i f a 标准基于远程通信服务。前者主要基于代理通过 c o r b a 接口在代理系统中的移动,并且不涉及内部代理的通信;而后者主要涉及智能 代理通过内容语言的通信,并且对于移动性没有太多的提及。f i p a 适合于一个代理通 一6 一 大连理工大学硕士学位论文 信范例,能够更好的表达互操作的本质并和适合结合其它a j 技术;而m a s i f 适合移动 代理范例,更适合应用程序部件所需要的动态和自治的交换、替换、修改、更新。 2 12 移动代理技术的优势和特点 与传统的分布式计算技术相比,移动代理技术具有很多优点f 2 2 1 。 节约网络带宽 移动代理直接在数据端执行处理,在此过程中并没有中间结果的数据在网络上传 输,而只是返回最后的结果数据。所以,移动代理能够有效地节约网络带宽,适合于数 据量大,网络带宽不足的情况。 提供实时的远程交互 在一些远程控制系统中,由于网络的延迟使远程实时控制变得十分困难。发送代理 程序可以实现远端的本地控制,满足一定的实时要求。 支持离线计算 当用户发出代理程序后,就可以断开网络连接,代理实体将在网络上自主运行。当 代理完成任务后,一旦发现用户重新连上网络,即尝试返回结果。 实现载荷平衡 在虚拟网络中,对于一些计算能力弱的节点,可以发出代理程序,把计算任务交给 计算能力强的节点上执行。 增加应用的健壮性 移动代理的工作方式减少了对网络连接可靠性的要求,而自主性又使它具备对环境 的反应能力,因此能够建立容错性更强的分布式系统。 提供平台无关性 理论上,代理程序能够运行在任何支持移动代理平台的节点之上【2 5 】,应用程序不 存在移植的问题。 需要说明的是,以上的优点并不是移动代理技术所特有的,但只有移动代理技术能 够提供满足所有要求的框架 2 2 1 。 2 1 3 移动代理技术的关键问题 移动代理技术发展到现在,其基本的体系结构已经建立起来,但仍处于起步阶段, 许多关键问题仍需要进一步得到解决 2 3 1 。 安全性有待提高 一个代理平台必须能够接受其它的移动代理实体,如果进行诸如电子商务等活动, 必须要提供足够的安全保证。 7 嵌入式移动代理的研究与实现 执行效率有待提高 在通常的分布式应用中,采用现有的移动代理系统著不能带来效率上的好处,只有 在高延迟、低带宽、连接不可靠的移动计算或者中间数据传输量非常大的情况下,移动 代理技术才表现出效率上的优势 2 4 1 。为了保证平台无关性和安全性,绝大多数移动代 理系统都采用解释型语言,与编译型语言相比,这要慢很多。另外,代理的移动也非常 费时, 当前移动代理系统的容错能力不高 自治性差 移动代理系统的许多优点是建立在代理自治基础上的,因此需要增强其智能性。 移动代理的标准化工作还有待进一步完善和推广 2 i 4 移动代理技术的应用和发展趋势 移动代理技术的优点和特点使其具有很大的应用价值,其应用领域包括移动计算、 分布式信息检索、网络管理、电子商务、信息发布等等。 目前,国外对于移动代理技术的研究还在不断进行,并且发展迅速。已经有很多科 研组织和公司开发出了较为完整的移动代理系统,并尝试运用于实际。可以预见,移动 代理技术将被越来越广泛地应用未来的网络将是移动代理主宰的网络。总结起来,移 动代理有以下几大发展趋势 2 6 1 : 进入真正配置阶段 随着移动代理标准不断完善,不同移动代理平台之间也逐渐实现兼容,最终达到统 一。在未来,移动代理平台将在网络中迅速普及,就好像现在的j a v a 虚拟机一样,甚 至可以集成到操作系统的常用软件之中。 代理设计模式化 未来的移动代理程序设计将被完全的模式化,这些模式包括迁移模式化、任务模式 化、代理实体之间的交互模式化等等。 代理设计的模式化将极大加快代理程序的生产速度,使之工程化。同时,也促进了 其他辅助设计工具的产生。 j a v a 将作为平台 j a v a 语言天生具有平台无关性,同时还具有安全性高、动态类加载、多线程、对象 能够序列化等特点,这些特点恰好正是移动代理所需要的。况且,现今j a v a 语言如日 中天,而移动代理正好需要一个统一的软件环境,所以j a v a 作为移动代理的研发平台 是发展的必然趋势。 8 一 大连理工大学硕士学位论文 标准化愈加完善 对于移动代理,现在已有的两大标准m a s i f 和f i p a 都不健全,没有达到a g e n t a p i 一级。随着移动代理技术的不断普及,标准将最终达到统一而细致。 与移动设备相结合 移动代理技术着眼于任何具有计算能力的网络节点,随着嵌入式设备性能的不断提 高和无线网络技术的发展,移动代理技术将势必与移动设备相结合,使之成为由移动代 理构成的虚拟网络中的节点。 2 2 嵌入式操作系统u c l i n u x 的分析与移植 u c l i n u x 是l i n u x 的一个变种,被广泛地应用于嵌入式设备。“u c l i n u x ”这个词 的含义是“针对微控制领域而设计的l i n u x 系统”。 为了适应嵌入式设备硬件资源有限的特点,u c l i n u x 采取了一系列小型化的措施, 下面将对这些措施做一个大概的介绍。 2 2 1u c l i n u x 与通用l i n u x 系统的异同 ” u c l i n u x 虽然继承自通用l i n u x ,但在许多方面有着很大不同。 内核加载方式 u c l i n u x 的内核有两种可选的运行方式,f l a s h 运行方式和加载到内存方式。前者 需要把内核的可执行映象烧写到f l a s h 上,系统启动时从f l a s h 的某个地址开始逐句执 行。这种做法可以减少对内存的需要,是很多嵌入式系统采用的方法。后者把内核的压 缩文件存放在f l a s h 上,系统启动时读取压缩文件在内存里解压,然后开始执行,这种 方式相对复杂一些,但由于r a m 的存取速率要比f l a s h 高,运行速度可能更快。同时这 也是标准l i n u x 系统采用的启动方式。 根文件系统 u c l i n u x 系统采用r o m f s 文件系统,这种文件系统相对于一般的e x t 2 文件系统要求 更少的空间。空间的节约来自于两个方面,首先内核支持r o m f s 文件系统比支持e x t 2 文 件系统需要更少的代码,其次r o m f s 文件系统相对简单,在建立文件系统超级块时需要 更少的存储空间。r o m f s 文件系统不支持动态擦写保存,对于系统需要动态保存的数据 采用虚拟r a md i s k 的方法进行处理。 应用程序库 9 嵌入式移动代理的研究与实现 u c l i n u x 重写了应用程序库,相对于越来越大且越来越全的g l i b c 库,u c l i b c 对l i b c 做了精简。但由于内存管理的问题,u c l i n u x 对用户程穿采用静态连接的形式,这种做 法会使应用程序变大。 打印终端 通常情况下,u c l i n u x 的默认终端是串1 2 1 ,内核在启动时所有的信息都用p r i n t k o 函数打印到串口终端,同时也可以通过串口终端与系统交互。 可执行文件格式 u c l i n u x 系统使用f l a t 可执行文件格式,g c c 的编译器不能直接形成这种文件格 式,但是可以形成c o f f 或e l f 格式的可执行文件,这两种文件需要c o f f 2 t l t 或e l f 2 f l t 工具 进行格式转化形成f l a t 文件。: 内存管理 , u c l i n u x 是针对没有m m u ( m e m o r ym a n a g e m e n tu n i t ) 的处理器而设计的操作系 统,即u c l m u x 不能使用处理器的虚拟内存管理技术。这也是同标准l i n u x 的最大区 别。 u c l i n u x 仍然采用存储器的分页管理,系统在启动时把实际存储器进行分页,并在 加载应用程序时对程序进行分页加载。但是由于没有m m u 管理,所以实际上u c l i n u x 采用实存储器管理策略( r e a lm e m e o r ym a n a g e m e n t ) 。这一点影响了系统工作的很多 方面。u c l m u x 系统对于内存的访问是直接的即它对地址的访问不需要经过m m u , 而是直接送到地址线上输出。所有程序中访问的地址都是实际的物理地址。类似很多嵌 入式系统,操作系统对内存空间没有保护,各个进程实际上共享一个运行空间没有独 立的地址转换表。 开发人员在开发应用程序时必须考虑内存的分配情况并关注应用程序需要运行空间 的大小。另外由于用户程序同内核以及其它用户程序在一个地址空间,程序开发时要保 证不侵犯其它程序的地址空间:以使程序不至于破坏系统的正常工作,或导致其它程序 的运行异常。从内存的访问角度来看,开发人员的权利增大了,开发人员在编程时可以 访问任意的地址空间,但与此同时系统的安全性也大为下降。 在嵌入式设备中,由于成本等敏感因素的影响,普遍采用不带有m m u 的处理器, 这决定了系统没有足够的硬件支持实现虚拟存储管理技术。 进程管理 u c l m u ) ( 没有m m u ,在实现多个进程时( f o r k 调用生成子进程) 需要实现数据保 护。 1 0 大连理工大学硕士学位论文 u c l i n u x 的f o r k ( ) 系统调用等于v f o r k o 。实际上u c l i n u x 的多进程管理通过v f o r k ( 1 来实现。这意味着u c l i n u x 系统f o r k o 调用完成后,要么予进程代替父进程执行( 此时 父进程已经睡眠) 直到子进程调用e ) ( i “) 退出,要么调用e x e c o 执行一个新的进程,这个 时候将产生可执行文件的加载,即使这个进程只是父进程的拷贝,这个过程也不能避 免。当子进程执行e x i t o 或e x e c o 后,子进程使用w a k e u p o 把父进程唤醒,父进程继续往 下执行。 u c l i n u x 的这种多进程实现机制同它的内存管理紧密相关。u c l i n u x 被迫使用一种 平板方式的内存管理模式,启动新的应用程序时系统必须为应用程序分配存储空间,并 立即把应用程序加载到内存。缺少了m m u 的内存重映射机制,u c l i n u x 必须在可执行 文件加载阶段对可执行文件r e l o e 处理,使得程序执行时能够直接使用物理内存。 2 2 2u c l i n u x 的开发环境 一般来说,嵌入式平台本身并没有提供开发应用程序所需要的编辑、编译、调试工 具,这些开发工作只能通过上位机来完成。图2 4 展示了为开发u c l i n u x 应用程序而 建立的交叉开发环境。 图2 4u c l i n u x 的开发环境 f i g 2 4d e v e l o p m e n t e n v i r o n m e n to f u c l i n u x 在这里,上位机指具有自主开发能力的p c 机,通过仿真器和开发板提供的j t a g 接口实现对a r mc p u 进行控制,达到调试的目的。同时,上位机通过串曰和开发板进 行通信,u c l i n u x 打印的信息都将通过串口传输给上位机,上位机的终端软件将其显示 在屏幕上。反过来,终端软件也可以通过串口发给u c l i n u x 控制信息,完成相应的终端 操作。最后,通过网络连接,达到文件传输的目的。 嵌入式移动代理的研究与实现 软件开发环境采用g n u 组织提供的交叉工具链,主要包括以下程序: a r r n e f f - g c c :交叉编译器,可以交叉编译出能够运行于a r r a - u c l i n u x 平台的程序。 a r l t i e l f - g d b :交叉调试工具。 a r m e l f - a s :交叉汇编工具。 a r m e i f - e l f 2 f l t :能够将e l f 格式的程序转换为f l a t 格式的工具。 2 2 3u c l i n u x 向a r m 7 t d m i 平台的移植 本课题研究所采用的开发板为s a m s u n g 的4 4 b o x ,u c l i n u x 的移植步骤如下。 构建b o o t l o a d e r b o o f l o a d e r 就是在操作系统内核运行之前运行的一段程序。通过这段程序,可以初 始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状 态,以便为最终调用操作系统内核准备好正确的环境。因此。正确建立u c l i n u x 的移植 的前提条件是具备一个与u c l i n u x 配套、易于使用的b o o t l o a d e r 。 理论上,u c l i n u x 引导时并非一定需要一个独立于内核的b o o t l o a d e r 。然而,将 b o o t l o a d e r 与内核分开设计能够使软件架构更加清晰,也有助于灵活地支持多瓣弓l 导方 式,实现一些有用的辅助功能。 为成功的弓i 导u c l i r t u x 操作系统,针对开发板的特点,开发了自己的b o o r 1 0 a d e r , 其主要执行过程如下: 硬件初始化 , 令处理中断向量表 初始化各种处理器模式 夺跳转到c 代码的入口 夺初始化使用到硬件设备,如g p i o 、【y a r t 等 夺建立命令行方式的人机界面 安装交叉编译工具链 修改部分u c l i n u x 源代码 u c l i n u x d i s t 2 0 0 4 0 4 0 8 发行包中的内核对s 3 c 4 4 b o x 处理嚣的支持是不完整的,因 此,需要修改部分源代码,主要包括: 夺修改压缩内核代码的起始地址 + 夺修改处理器配置选项 夺修改内核起始地址 夺修改r o m f s 的系统定位 1 2 - 大连理工大学硕士学位论文 夺修改存储器空间配置 夺初始化节拍定时器 夺定义二级中断向量表的起始地址 夺定义c p u 体系结构和交叉编译器 夺修改以太网卡的基地址和寄存器地址 配置u c l i n u x 内核 编译内核和r o m f s 2 3 在u c l i n u x 上实现移动代理平台的必要断可行性 要想实现嵌入式m o b i l ea g e n t 系统,必须至少满足两个条件:一是必须要有一个能 够提供通用网络协议的操作系统平台,二是必须能够运行平台无关的j a v a 代码。 一些微小的嵌入式操作系统,如u c o s i i ,它虽然具有良好的实时特性,但是本身 并不具备网络协议,系统提供的接1 2 1 有限,而且通常提供的硬件环境不足以运行像移动 代理平台这样大规模的j a v a 代码。 而其他的一些比较复杂而成熟的嵌入式系统,如m i c r o s o f tw i n d o w sc e 、v x w o r k s 等,虽然具有良好的开发和调试环境,但高昂的费用使之并不适合于科研领域。 在a r m 9 等高端硬件平台上被广泛应用的a r m l i n u x ,具有可以与通用l i n u x 相媲 美的性能和易用性,也是实现嵌入式移动代理的理想平台。但由于其现阶段应用不是太 广泛,仍然属于高端产品采用的操作系统,而且硬件环境昂贵,与通用l i n u x 差别微 小,无法体现大多数嵌入式系统的特点。 因此,在众多嵌入式操作系统中,u c l i n u x 由于继承自通用l i n u x ,系统接口丰 富,硬件性能支持较好,而且现阶段应用广泛,是嵌入式操作系统的典型代表,是比较 理想的选择。 u c l i n u x 系统所在的硬件平台通常较为优越。本次实验所用的开发环境为s a m s u n g 4 4 b o xa r m 7 t d m i + u c d r a g o nf s 4 4 b o x l i 开发板,具有1 6 m 内存和1 6 mf l a s h + 2 m n o rf l a s h ,c p u 可以稳定运行在6 1 m h z ,b o g o m i p s 可以达到3 0 。较大的内存和较快 的c p u 运算速度保证了大规模j a v a 代码的正常运行。 已经有一些j a v av m 成功移植到u c l i n u x 系统,如w a b a ,w o n k a ,k a f f e 等,这更 加为移植移动代理平台到u c l i n u x 系统的可行性提供了事实保证。 1 3 嵌入式移动代理的研究与实现 3t ( v m 向u c l i n u x 平台的移植 3 1 移植j a v a v m 的必要性和可行性 移动代理系统应该具有平台无关性而j a v a 语言的“w r i t eo n c e ,r u na n y w h e r e ” 特性正好迎合了这一需求。因此,在嵌入式操作系统u c l i n u x 平台上执行j a v a 的字节 码成为实现嵌入式移动m o b l i ea g e n t 系统必不可少的关键步骤, 在嵌入式设备上执行j a v a 字节码,有两种途径: 一、在硬件级上实j 见r j a v a 卡和支持j a v a 语言的处理器 二、在操作系统级上实现移植j a v a 虚拟机 由于j a v a 卡技术和支持j a v a 语言的处理器现在普及程度还不够,硬件的成本较 高,况且已经有很多成熟稳定的嵌入式应用,它们所采用的处理器和操作系统都是不支 持j a v a 字节码的,而这些嵌入式平台,都可以作为分布式计算蛉节点,成为移动代理 系统平台。所以,在操作系统级上实现j a v a 虚拟机是必要的,并且与在硬件级实现相 比,虽然

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论