(通信与信息系统专业论文)基于symbian+os的串行通信模块研究.pdf_第1页
(通信与信息系统专业论文)基于symbian+os的串行通信模块研究.pdf_第2页
(通信与信息系统专业论文)基于symbian+os的串行通信模块研究.pdf_第3页
(通信与信息系统专业论文)基于symbian+os的串行通信模块研究.pdf_第4页
(通信与信息系统专业论文)基于symbian+os的串行通信模块研究.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(通信与信息系统专业论文)基于symbian+os的串行通信模块研究.pdf.pdf 免费下载

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

文档简介

武汉理工大学硕士学位论文 摘要 随着智能手机与3 g 技术相结合,手机业者们已经注意到,智能手机也已成 为各大厂商进入3 g 终端领域战役的预演,能够在智能手机产品方面有所突破将 成为手机研发商们在未来的3 g 之战中重要的基础和经验。因此如何优化智能手 机的性能使其能顺应网络的发展要求,提高市场竞争力成为手机研发商的重点 关注方向。 作为智能手机的重要组成部分,开放式操作系统将在近年飞速发展。在现 今智能手机市场上,开放式操作系统的领军人物是s y m b i a n ,w i n d o w sm o b i l e 和 l i n u x 。其中,s y m b i a n 以智能手机市场7 0 的占有率取得领先地位。然而s y m b i a n 手机平台的开发并非易事,只有具备足够实力和资源的公司才能够保证开发的 质量,产品的维护以及产品的创新。尤其是对于本文所要研究的串行通信系统 模块c s y 模块( c o m m u n i c a t i o ns y s t e mm o d u l e ) ,虽然它为普通用户提供了编程 接口供开发者自行开发c s y ,但是由于该模块和硬件联系紧密,而且不优化的 设计会影响其它通信模块的正常工作,因此普通用户对c s y 的研究非常的有限。 而对于一般的智能手机来说均采用双处理器设计,一个用来处理通信协议, 另外一个由开放式操作系统控制,运行应用软件。两个处理器之间可以根据硬 件设备的不同采用串行通信或者并行通信的方式进行通信。本文所要研究的课 题就是在选用串行通信设计的智能手机平台中,如何能结合s y m b i a n o s 的串行 通信系统模块,设计出一个理论上性能较为优化,能够适应高速数据传输的协 议的实现。 实现一个串行通信协议是一个复杂浩大的工程,而且是在资源极为有限的 手持设备之上,对设计者的要求比较高。此项对于开发环境要求也较高,必须 具有商用的s d k 和相应的硬件设备才能够进行。因此本文主要从理论研究着手, 分析s y m b i a no s 的结构,特征,重点在于其通信框架的研究。并且结合类似的 设计,找出设计的关键点。而对于给出的初步设计中可能存在的问题,本文也 给出了测试的方案,为实际的开发节省时间和资源。虽然没有硬件设备,本文 搭建了一些小的模型来验证s y m b i a no s 通信框架的一些局限性,例如活动对象 机制对通信框架性能造成的影响。 关键词:s y m b i a no s ,双处理器通信,活动对象,内存拷贝,跨进程通信 武汉理工大学硕士学位论文 a b s t r a c t a l o n g 、v i t l l t h e i n t e g r a t i n g o fs m a r tp h o n ea n d3gt e c h n o l o g y ,p h o n e m a n u f a c t u r ea l r e a d yr e a l i z e dt h a ts m a r tp h o n ec o m p e t i t i o nw o u l dt r i g g e rt h ew a ro f 3 gt e r m i n a lr e a l m h a v i n gb r e a k t h r o u g hi ns m a r tp h o n ep r o d u c t sb e c o m e si m p o r t a n t k e yt ot h es u c c e s si n3 gc o m p e t i t i o n s oh o w t oo p t i m i z et h ep e r f o r m a n c eo fs m a r t p h o n ei n o r d e rt o c o p ew i t hr a p i d n e t w o r k d e v e l o p m e n t a n di n c r e a s et h e i r c o m p e t e n c ea p p e a r s t ob et h em a n u f a c t u r e s f o c u s a so n ei m p o r t a n tp a r to fs m a r tp h o n e ,t h em o b i l ep h o n es e g m e n t “o p e n o s a r e e x p e c t e dt og r o ws u b s t a n t i a l l yt h en e x tf e wy e a r s d o m i n a n tp l a y e r sa r es y m b i a n , w i n d o w sa n dl i n u x s y m b i a ni sb yf a rt h e o p e n o sm o b i l ep h o n e s p u t t i n gt o g e t h e ra w h i c ho n l yc o m p a n i e sw i t hac e r t a i n l a r g e s th o l d i n gs o m e w h a t7 0 o f t h et o t a l s y m b i a np l a t f o r mi sac o m p r e h e n s i v et a s k c o m p e t e n c ea n dr e s o u r c ec a nm a n a g e e s p e c i a l l yf o rs e r i a lp r o t o c o lm o d u l e s ( c s ym o d u l e ) ,e v e nt h o u g hi t si n t e r f a c ea p i i sa v a i l a b l ef o rc o m m o nu s e r s ,d u et ot h ec l o s ec o n n e c t i o n 埘t l lh a r d w a r ea n d p o t e n t i a li n f l u e n c eo no t h e rm o d u l e s ,c o m m o nu s e r sh a v el i m i t e dr e s e a r c hi nt h i s a r e a a t y p i c a ls m a r tp h o n ed e s i g na p p l i e sd u a lp r o c e s s o r s ,o n ef o rc o m m u n i c a t i o n p r o t o c o l sa n dt h eo t h e ro n e i sc o n t r o l l e db y o p e r m i n gs y s t e m ,p e r f o r m i n ga p p l i c a t i o n s a n dg u i t h e s et w op r o c e s s o r sc a l lc h o o s ee i t h e rs e r i a lc o m m u n i c a t i o no rp a r a l l e l c o m m u n i c a t i o nb a s e do nd i f f e r e n th a r d w a r e t 1 1 i sp a p e ra i m sa td e s i g n i n gap r o t o c o l i m p l e m e n t a t i o n 、析t 1 1g o o dp e r f o r m a n c eu n d e rh i g hs p e e d d a t at r a n s f e r r i n g t oi m p l e m e n tas e r i a lc o m m u n i c a t i o nm o d u l ei sac o m p l e xt a s ke s p e c i a l l yi na h a n d s e tw i t l ll i m i t e dr e s o u r c et h a td e v e l o p e r sw i t hac e r t a i nc o m p e t e n c ec a nh a n d l e a n dt h ed e v e l o p m e n te n v i r o n m e n tr e q u i r e sa d v a n c e ds d ka n dp r o p e rh a r d w a r e s o t h ea u t h o rm a i n l yf o c u s e do nt h e o r ys t u d yw i t ha n a l y z i n gs y m b i a no sa r c h i t e c t u r e , c h a r a c t e r sa n dt h em o s ti m p o r t a n tp a r t :c o m m u n i c a t i o nf r a m e w o r k a c c o r d i n gt ot h i s s t u d y ,l o c a t et h ek e yp o i n t si nt h ed e s i g n t os o m ep o t e n t i a lp r o b l e m s i nt h e p r e l i m i n a r yd e s i g n , t h e a u t h o rg a v et e s tc a s e sf o rt h ef u t u r eu s ei nr e a l i m p l e m e n t a t i o n t h o u g hl a c k i n go fh a r d w a r e ,t h ea u t h o rs e tu ps e v e r a ls m a l lm o d e l s t ov e r i f yt h el i m i t a t i o n so fs y m b i a no sc o m m u n i c a t i o nf r a m e w o r k ,l i k eh o wt h e a c t i v eo b j e c t sm e c h a n i s mi m p a c tt h ep e r f o r m a n c e k e yw o r d s :s y m b i a no s ,d u a lp r o c e s s o rc o m m u n i c a t i o n ,a c t i v eo b j e c t s ,m e m o r y c o p y ,i p c i i 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人 已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育机构的 学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 签名:垄丝盏日期:塑墨:! :哩签名:塑【忌垃日期:一塑竺:! :! l 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即学校有权保 留、送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:埠导师签名: 声删 了 l 日期:尘! :翌 武汉理工大学硕士学位论文 第1 章绪论 随着4 g 时代的到来,无线网络吞吐量有望达到4 0 0 m b i t s 当人们使用电脑 享受高速网上冲浪的时候,对于手持设备的要求也越来越高。如今,智能手机 已经渐渐取代传统的手机走入人们的生活,使用户可以体验到更多的以往只能 在电脑上面提供的服务。而且随着相关技术的不断发展以及市场竞争的日益激 烈,智能手机对于普通消费者来说已经不是遥不可及的梦想,而是随心所欲的 选择。从手机技术的发展方向来看,未来的3 g 技术也决定了智能手机将会逐渐 取代目前的传统手机而一统手机天下。智能手机在发展中与3 g 技术相伴而生, 它是移动通信终端与p c 融合的产物。 1 1 智能手机概论 1 1 1 智能手机的含义 所谓智能手机,是指“像个人电脑一样,具有独立的操作系统,可以由用户 自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机 的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的这样一类手 机的总称”。简单的说,智能手机,就是一部像电脑一样可以通过下载安装软件 来拓展手机出厂的基本功能的手机。 手机业者们认识到,由于智能手机与3 g 手机有着诸多契合点,智能手机业 已成为各大厂商进入3 g 终端领域战役的预演,能够在智能手机产品方面有所突 破将成为手机研发商们在未来的3 g 之战中重要的基础和经验。现在可以看到, 日新月异的智能手机正在一步步打开3 g 世界的大门。因此,如何优化智能手机 的性能使其能顺应网络发展的要求提高市场竞争力成为手机制造商关注的研发 方向。 1 1 2 开放式操作系统的含义 作为智能手机的重要组成部分,开放式操作系统将在今年飞速发展。至今 武汉理工大学硕士学位论文 对于开放式操作系统并没有官方的定义,但是作为开放式操作系统它必须具备 以下的要求: ( 1 ) 开放中间件的a p i 给第三方,使其可以自由的开发和发布自己的应用 ( 2 ) 用户可以独立于手机制造商和网络运营商来安装卸载软件。 现今,相对于开放式操作系统,私有操作系统无法满足高速,多样,低耗 等各方面日益增长的需求。例如j a v a o s 家族成员中的s a v a j eo s 是专为高端手 机开发的操作系统,为用户提供了基于s w i n g 发展而来的较为丰富的用户界面。 但是相关研究指出j a v a o s 还是缺少一些智能手机的功能并且对于手持设备来说 还是体积较大。而且对于j a 、,a ,b r e w , w i p i 和f l a s h 框架的移植也比较容易。 现今智能手机市场上,开放式操作系统的领军人物是s y m b i a n ,w i n d o w s m o b i l e 和l i n u x 。其中,s y m b i a n 以智能手机市场7 0 的占有率取得领先地位。 然而s y m b i a n 手机平台的开发并非易事,只有具备足够实力和资源的公司才能 够保证开发的质量,产品的维护以及产品的创新。尤其是对于本文所要研究的通 信系统模块( c s ym o d u l e ) ,虽然它为普通用户提供了编程接1 3 供开发者自行开 发c s y ,但是由于该模块和硬件联系紧密,而且不优化的设计会影响其它通信 模块的正常工作,因此普通用户对c s y 的研究非常的有限。本课题就要从普通 开发者的角度开发c s y 模块,并且通过对此模块的测试来研究s y m b i a n 所提供 的串行通信服务器( c 3 2s e r v e r ) 特性。并且,深入的理论研究是指导写出性能良 好模块的重要的一环。因此,本课题一大部分的研究会在于与c s y 和串行通信 服务器相关的理论学习,进而提出对c s y 的优化设计。 1 2 国内外对于双处理器间高速数据传输研究现状 在当今市场上,收集设计的成功不仅取决于外观设计的好坏和工作时间的 长短以及可靠性的高低,对于新模块如何兼容到操作系统整体框架之中,而且 不影响手机的基本功能,如通话,视频的实时性,网上冲浪的流畅性等。下面, 可以进一步探究一下,在当前国内外的研究成果下,双处理器设计中影响数据 高速传输的因素,如下图所示【2 】: 2 武汉理工大学硕士学位论文 无线网络技术 、 i 、- 一l 筮i 龉f 吞吐量由无线网络技 术决定,如 w c d m a l l l ll l l l 一7 l l 、输l 蔓数锯 l l l 囊芋磊蛊藿吾曩磊霎裴喜l |l 关 l lll 图1 1基于双处理器的数据传输模型 第一个影响因素是无线网络技术。在2 g 时代,g s m 支持9 6 k b i t s 的数据传输 速率而之后的g p r s 能够将速度提高至l j 3 8 4 k b i t s 。在3 g 无线标准中,数据传输速 率可望达到1 0 m b i 讹或更高。例如c d m a 2 0 0 0 和w c d m a 支持的h s d p a 要求速率 达到1 4 ,4 m b i t s 来支持高品质的多媒体传输。网络技术的高速发展促使双处理器 的设计也要调整到相应的传输水平。本课题所作的研究,均基于h s d p a 的输入 标准。因此对于这一影响因素将不会做更进一步的研究。 第二个影响因素是双处理器间的硬件接口。也是现有的对于优化双处理器 间高速数据传输研究较多的一部分。现在串行通信中普遍所用到的硬件接口有 通用异步收发器( u a r t ) 和同步外设接口( s p i ) 其速率根据不同厂家所出产的不 同的产品相关。以现有产品来说,u a r t 可以达到5 m b i f f s 而s p i 可以达到 1 5 m b i t s 3 而且,随着新技术的引入,例如共享内存及邮箱机制【4 j ( 7 1 ,合理的选 择硬件设备,将不会成为双处理器间通信的障碍。 第三个影响因素就是a c p u 部分的通信协议的实现。这个部分是由各个厂商 自行研发,因此不优化的软件设计,或是与操作系统框架不兼容的设计会影响 a c p u 端的数据吞吐量。因此这是值得进一步探讨的话题。 3 武汉理工大学硕士学位论文 1 2 1 通用双处理器模型 因本课题着重在手机平台中双处理器间的通信协议的研究,对于双处理器 系统地解决方案要有一个清晰地认识。本小节将对典型的双处理器通信解决方 案进行介绍。 早期的传统手机中只有单片的中央处理器( c p u ) ,被称为通信c p u ( c c p u ) 。 它负责运行所有手机所具备的功能包括语音信号的调制解调,无线网络接口以 及用户软件框架。在低速网络下,传统手机可以很好的处理和响应所有的事件。 但是当我们步入3 g 时代,单片c p u 已经很难适应用户端软件的需求,尤其是某 些大型的应用程序所需要的资源是单片c p u 所无法提供的。因此,双c p u 设计应 运而生从而引入智能手机这一概念。 在双c p u 设计中,除了之前所提到的通信c p u ,另外还有一片c p u 专门处理 用户端的应用程序以及用户界面,它也是由操作系统控制的部分。这就是我们 所说的应用c p u ( a c p u ) 。该a c p u 通过一条高速链路与c c p u 进行通信,下图 就是一个典型的双c p u 系统。 r j l l e 习 1 2 2 通用串行通信协议模型 双处理器间的通信可以是穿行的或是并行的。一个并行链路可以同时传输 多路数据流通过有线电缆,印刷电路,光纤等等。而一个串行链路传输单路数 4 小q肼 一 扬 一 ! i j 型 模 器理处 双用 通也 图 武汉理工大学硕士学位论文 据流。这两种传输方式各有优缺点当侧重点不同的时候。在很多的情况下,串 行通信是一个更好的选择因为实现其的成本比较低。同时,串行通信也可以实 现高于并行链路的数据传输速率当我们考虑到并行通信中所产生的问题:时钟 脉冲相位差( c l o c ks k e w ) ,时钟同步( c l o c ks y n c h r o n i z e d ) 以及串话( c r o s s t a l k ) 。但是 并行通信拥有低功耗的优势,因此关于双处理器间的通信的优化问题总是落脚 到这两种硬件设计中。本文将主要讨论使用串行通信的双c p u 设计,该设计是 基于点对点通信m x ( p p p ) t s l 的基础上简化而来的。p p p 提供了经由串行通路传 输数据的方法,其中主要部件为多路复用和封装数据。 多路复用 在双c p u 设计的智能手机中,较为普遍使用的通信方式即是串行通信的方 式。能让一条串行通路支持多个上层的逻辑链路是极为重要且具有很大优势的, 因为对于客户来说,会希望利用这条串行通路同时开展多项业务。例如一条链 路用来浏览网页;另外一条用来发送短消息,a t 命令;还有一条链路可以用来 进行通话控制如拨号和挂断。多个逻辑链路可对应着一个物理串行口。例如p p p 标准中,i p 链路使用i p 控制协议( i p c p ) ,网际包交换( i p x ) 使用n o v e l li p x 控制 协议( i p x c p ) 。 - 封装解封装 在点对点通信中,较为重要的一步就是封装数据包,从而保证数据从发送 端出发在以太网中通过串行同路传输到接收端。同样的,当从发送端接受数据 的时候,该协议也要负责将接收的包解封装传输到上层的协议。p p p 中使用的 封装的方法以上层数据链路控制协议( h d l c ) p 】中所应用的机制为基础,数据以 下图所示的方式封装在一个数据帧中: 图1 3h d l c 帧格式 - 设备驱动器 设备驱动器是用来作为通信协议和硬件对话的桥梁,处于软件结构的最底 层。对于不同的物理接口会有不同的设备驱动器与之对应。具体的关于s y m b i a n o s 中设备驱动器是如何工作的,会在下一章节通信协议框架的构造中进行详细 地介绍。 一 流控制 在不同的场景中,流控制会有不同的定义。在计算机网络中,流控制是控 5 武汉理t 大学硕士学位论文 制两个节点之l 刈数据传输状杏的个机制。对于串行口来说它可以停止并重启 传输流并且没有数据损失。 在智能手机中流控制在取向传输中都起到作用:从调制解调器到a c p u 或者反方向传输。在每条传输链踣中部有三个缓存存在: 一调制解调器中 一u a r t 芯片中( f i f o s ( f i r s t i n - f i r s t - o u t j ) - 串行口驰动所控制得主内存区 流控制保护缓存区f 除了f i f o s ) 防止内存溢出。下图就展示了数据流在用户 程序和调制解啊器之n u 缓冲的情况: 罔十f 可 囤1 _ 4 数据流 在传输过程中,设备驱动从主内存缓冲区调出某些宁竹的数据一个一个的 传到f i f o 缓冲区。日数据进入f i f o 缓冲区,它们不会被驱动或其他设备控 制而是不停的传输。当来自于调制解调器的停传( f l o wo m 的命令到达时,设备驱 动会停止传送主内存区的数据到f i f o 缓存。同时,用户端的程序可以持续传送 数据给主内存区缓存直到该区域满溢而f i f o 缓存也持续忙进数据给调制解调器 端。而调制解调器端的缓存也会持续将数据通过天线传出。 当主内存区的缓存被填满,这个应用程序舍停止传输数据给该缓存并停止 运彳亍自到丰内存区缓存可咀重新开始接收数据。因此,流控隹恰最终停止陵用 户程序。在这个情况下,c p u 将不会停止而是调用其他等待执行的程序直到收 崃白调制解调器的重传( f l o w o n ) 的命令。 综合以上的研究,个典型的串行通信模型殴计如下图所示: 堕一f l a g 图1 5 通用串行通信模型设计以及对应的帧结构 武汉理工大学硕士学位论文 1 3 研究思路及方法论 s y m b i a no s 对于权限的检查有着很严格的流程。权限是一种授权的象征, 它说明它的拥有者保证不会滥用这个权限所提供的资源。所有的进程都拥有自 己的权限集来保证合法使用相关设备。而且每一个进程所调用的动态连接库 ( d l l ) 必须拥有跟该进程一致或者更多的授权。以现有的c s y 举例,s y m b i a n 提 供了蓝牙,红外和u s b 的标准c s y ,用户所写的应用程序只须具备网络服务 ( n e t w o r k s e r v i c e ) 这个权限,便可使用这些标准模块。但是对于非标准c s y 设计, 例如本文将自行设计一个c s y ,那么,在用户使用r c o m m :o p e n o 来开启数据端 口( d a t ap o r t ) 的时候,它需要具备以下的权限: n e t w o r k s e r v i c e s n e t w o r k c o n t r o l c o m m d d 如果没有以上的权限,用户程序是无法使用该c s y 的。现在s y m b i a n 提供1 3 种权限给普通用户来开发自己的程序。但仍有c o m m d d , m u l t i m e d i a d d ,n e t w o r k c o m r o l ,d i s k a d m i n ,d r m ,a l l f i l e s 和t c b 是不授权给 普通用户的。 由于c s y 是位于底层通信模块,直接跟硬件对话,一些必要的测试没有办法 在无硬件环境的条件下实现。而且普通用户也无法注册相关的权限,因此没有 合适的开发板就无法开发一个完整地c s y 模块,这个是对本课题最大的限制。 基于以上原因,本文首先会对通用的双处理器模型进行研究,探寻智能手 机中制约高速数据传输的瓶颈。然后深入到核心问题,以通用的串行通信协议 点对点协议( p p p ) 作为研究的基础,结合s y m b i a no s 通信框架的特点,提出 s y m b i a no s 中串行通信模块的设计方案。最后通过理论学习和对模块在仿真器 下进行测试,提出可能的改进方案。 1 4 本文组织结构 第一章:绪论介绍本课题研究的背景,研究该通信模块对双处理器通信的 意义,预期会达到的目的以及本课题所受到的局限性以及在此局限性下的方法 论。 7 武汉理工大学硕士学位论文 第二章:介绍了通用的基于串行通信的双处理器的相关设计和研究。 第三章:基于s y m b i a no s 的串行通信协议模块的研究。重点介绍t s y m b i a n o s 的重要组成部分,关键技术以及深入讨论了s y m b i a no s 的通信框架结构,并 以其中的串行通信模块作为重点。 第四章:对于所提出的模型进行理论分析讨论,针对每个设计的重点提出 解决的方案。 第五章:实现所建立的模型并对其进行测试,分析现有方案可能出现瓶颈 的地方。 第六章:结合理论研究和试验结果,给出改进的解决方案。 第七章:总结所作的工作,并且提出下一步可以基于本文所作的工作。 武汉理工大学硕士学位论文 第2 章s y m b i a no s 系统模块分析 2 1s y m b i a no s 的系统概述 2 1 1s y m b i a no s 组成部分 有多种方式可以把系统分为不同的组件。根据文献【1 1 】,该系统主要可以分 为如下几个部分: 一内核 内核是是整个s y m b i a n 操作系统的中心管理单元。s y m b i a n 操作系统的内核 是全可抢占式的。一个中断能够引起内核在执行某一个任务的中途重新分配调 度任务,哪怕是在一次上下文切换之中也会中断该任务。这个特性表示,s y m b i a n 操作系统的内核不会对线程的延时造成影响。 基本库 基本库包括了a p i 它们提供了所有的基本功能例如字符串的处理,链接表, 文件i 0 ,数据库管理,错误处理机制和时钟。这个基本库也提供了调用内核函 数的途径,例如线程的控制以及用户和服务器间的通信。这些库是由用户端和 系统端元件共同采用的。 应用层框架 应用层框架实现了智能手机基本的图形用户界面。同时,它也包括了非图 形用户界面应用框架。 中间件特征库 这是一个包罗各类的之前所没有提及的其他的a p i 和框架结构。它所囊括的 a p i 有例如多媒体,动画和安全。 通信基本框架 该通信结构包括t a p i 和框架结构来实现数据通信。文献【4 0 1 图释了这个结构 每个元件的功能,各个协议层之间如何实现通信。由于通信框架是整个课题的 重点,因此相对于其他的系统的部件,本文要对该框架进行更深入的研究。 9 武汉理工大学硕士学位论文 2 1 2s y m b i a n 中的通信模块概述 2 1 2 1 基本框架 s y m b i a n 操作系统是由一个一个的框架搭建而成的,通信框架就是其中的一 部分。而该框架本身也是以这种方式建立起来的。文献【1 2 1 提出了一个基本的通 信框架如下图: 用户端 内核端 软件 硬件 图3 1s y m b i a no s 中基本通信框架 在该结构的底层,是物理设备通过某种方式来连接外围设备。它可以是 u a r t ,蓝牙发射器或者是u s b 。但是由于硬件设备并不是本课题研究的重点, 因此这里仅仅将硬件层作为一个抽象的单元来响应设备驱动的调用。 设备驱动位于硬件的上层。上层的应用程序需要连接硬件设备的时候,必 须要通过对应的硬件设备驱动来实现包括逻辑驱动( l d d ) 和物理驱动( p d d ) 。其 中一个逻辑驱动可以对应数个物理驱动。而每一个物理驱动都对应着一个硬件 设备单元。设备驱动器需要给上层应用提供相同的接口函数从而上层协议的实 现只需直接使用该接口而不需要考虑下层是用什么样的硬件设备。 在设备驱动器的上层,包括所有的s y m b i a no s 提供的协议的实现。所有的 协议栈都是d l l 的类型在需要被调用时被相应的服务器加载在自己的线程里。 1 0 武汉理工大学硕士学位论文 s y m b i a no s 提供的通信服务器有3 种,套接字服务器r ( e s o c k ) ,串行通信服务器 ( c 3 2 ) ,电话通讯服务器( e t e l ) 关于它们的作用,会在下一个小节作进一步的介 绍。 2 1 2 2 详细的结构分析 在这个小节,本文将会拓展上节所提出的基本框架,更加详细地介绍每一 层内部的结构( 12 1 。 叵蕊骊圃 图3 2 详细通信结构 在图3 2 中,协议实现层被分为四个子层: 用户端 内核端 软件 硬件 武汉理工大学硕士学位论文 m t m 模块: 在s y m b i a no s 中,有一个机制来处理消息的传送并且支持所有的消息类型。 这个消息的处理机制就是由消息类型模块( m t m ) 来实现的。 p r t 模块: 中间覆盖范围较大的模块是由e s o c k 服务器用来实现各类通信协议的被称 之为协议模块( p r t ) 。现今,s y m b i a no s 提供了三个r p t 的模型根据客户的需求 来和下层的通信协议进行通信。以t c p i p 模块为例,当t c p i p 的实现是基于点 对点的通信( p p p ) ,那么这个t c p i r p r t 将会链接到一个t s y 模块和一个c s y 模块。 相对的,如果没有使用p p p ,那么该模块会跳过t s y 和c s y 而直接和驱动联系。 而对于另外两个模块:蓝牙和红外,蓝牙模块可直接跟对应的驱动通信进 而连接硬件设备来实现蓝牙协议。而某些红外的协议也可以通过i r p r t 模块可硬件 驱动直接通信来实现。 t s y 模块: 电话系统模块( t s y ) 实现了电话学的功能。它们保证应用程序可以通过这个 接口使用调制解调器端( c c p u 端) 所提供的空中接口接入到无线网络中,例如 g s m ,g p r s ,c d m a 和3 g 网络。实际上,t s y 模块并不实现实际的电话学的功能, 它只是负责建立和停止连接,属于数据流量较小的链路。实际的电话学的功能 是在调制解调器端来实现的。 基本的t s y 模块能够执行建立和关闭对话,而一些先进的t s y 模块,可以支 持先进的电话上的硬件模块。 c s y 模块: 这个处于协议实现层的最底层的模块被称之为通信系统模块( c s v ) 。它通过 l d d 和p d d 跟:硬件设备进行对话,实现数据链路层的协议。在现有版本里, s y m b i a n0 s 提供的c s y 模块有三类:蓝牙,u s b 和红外。 此外,从图中可以看出c s y 模块同样也出现在应用层里面。该c s y 主要是作 为用户层与协议实现层之间的接口。一个实际的例子是一个应用程序试图通过 蓝牙功能来从手机上发送一条短信。那么这就需要b l u e t o o t h c s y 和短消息功能在 协议实现层的实现共同完成这一个任务。 阴影区域是实现双处理器间通信的模块所包括的区域。已经有相关研究将 复用层放入c s y 模块中实现【1 3 】。因此本文也会借鉴该做法另外也会考虑将同属 于用户端的封装层放入其中实现。 武汉理工大学硕士学位论文 2 1 3s y m b i a no s 中模块设计的关键技术 线程和进程 理解s y m b i a no s 中进程和线程的工作方式是写出优化的程序关键的一环。 文献【1 】介绍了线程和进程的定义。另外,在跨进程或线程通信中,进程和线程需 要注意的地方也在具体实例中进行了解释。 对于存在于一个进程里的多个线程,它们共享同一个内存区域和文件资源。 在这种情况下,线程之间是没有内存拷贝的。但是如果它们存在于不同的进程 之中,处于不同进程的线程无法直接修改对方内存区域的数据因为这块区域并 不是共享的。那么内存拷贝不可避免出现在跨进程通信之中,而且有可能消耗 大量系统的资源。 活动对象 活动对象机制是s y m b i a no s 下实现多线程任务的一个重要手段。它使用一 个异步的服务提供方法使其所提供的服务能被用户程序所使用。文献【1 1 】介绍了 实现活动对象的方法,步骤。文献【1 4 】介绍了s y m b i a no s 引入活动对象的一个原 因。重点是使用活动对象的线程中没有被激活的活动对象时,c p u 将会进入休眠 状态如果没有其他的线程等待调用。这样可以节省电池能量。 虽然这个机制很好的在单线程里面模拟了多线程任务,但它同样也有自己 的缺点。一个典型的问题在文献【l5 】中被指出,由于活动对象非抢占性的特性, 对于每个对象不能够保证其响应时间。当设计对于实时性要求很高,那么活动 对象机制是很难达到这个要求的。可抢占多线程设计更适合应用于实时性系统 设计。 虽然活动对象在激活的时候是不能被抢占的,但是每个活动对象在创建的 时候还是要设置优先级来让活动对象调度器来根据这些优先级查找下一个执行 任务。下面这段代码就解释了活动对象调度器的工作原理【1 6 】: 在没有请求被执行完毕之前,线程陷入休眠状态,等待该线程的信号量的 改变,当一个请求完成以后,信号量加一,活动对象调度器醒来开始按照优先 级来搜索活动对象列表。如果它找到第一个活动对象,其请求的状态不是 k r e q u e s t p e n d i n g ,它将会调用该活动对象r u n l ( ) 函数,换句话说,该活动对象 被激活并开始运行。 武汉理工大学硕士学位论文 l :v o i dc a c t i v e s c h e d u l e r :d o s t a r t 0 2 : 3 :t d b l q u e l t e r l e v e l ) 6 : 7 :w a i t f o r a n y r e q u e s t 0 ; 8 :q s e t t o f i r s t o ; 9 :f o r e v e r 1 0 : 11 :c a c t i v e p r 2 q + + ; 1 2 :a s s e r t _ a l w a y s ( 13 :p rf = n u l l ,p a n i c ( e r e q s t r a y e v e n t ) ) ; 1 4 :i f ( p r - i s a c t i v e 0 1 5 :& & p r - i s t a t u s1 2 k r e q u e s t p e n d i n g1 1 6 : 1 7 :p r - i a c t i v e 2 e f a l s e ; 18 :t r a p d ( r , p r - r u n l 0 ) ; 1 9 :i f ( r ! = k e r r n o n e ) 2 0 : 21 :r = p r 一 r u n e r r o r ( r ) ; 2 2 :i f ( r ! = k e r r n o n e ) 2 3 :e r r o r ( r ) ; 2 4 : 2 5 :b r e a k ; 2 6 :) 2 7 :) 2 8 : 一些很重要的论点可以从这段程序中得出: ( 1 ) 在活动对象调度器启动之前,必须要有活动对象已经发送了异步请求。 如果没有任何o u t s t a n d i n g 的请求在等待,那么这个线程被永久的挂起。 ( 2 ) 活动对象调度器将会挂起所在的线程直到第一个异步请求被完成。 ( 3 ) 当活动对象被循环查询的时候,只有一个活动对象能被调度器调用, 因此调度器的表现呈线性下降的趋势,当更多的活动对象被加入到调度器之中。 ( 4 ) 当两个活动对象具备相同的优先级而且发出的请求同时完成时,查询 所用的方式并没有定义。在这种情况下,就会有发生优先级冲突的问题。 1 4 武汉理工大学硕士学位论文 客户服务器结构 s y m b i a no s 软件依靠客户服务器结构来实现它很多的功能。许多很重要的 s y m b i a no s 得系统的a p i 使用这个框架来为客户程序提供服务。例如窗口服务 器,文件服务器和信息机制。 在这个结构中,一个服务器是以一个活动对象的实例出现,而如之前所说, 活动对象采用的是非抢占式事件处理机制。因此服务器的响应时间是由其所在 线程中的活动对象的r u n l o 函数的执行时间来决定。 虽然不能够改变该结构的工作模式,有好几个方面本文可以进行研究来提 高该框架的性能u 4 j : 提高性能的关键落脚到节约内存并有效使用c p u 。因为客户和服务器经常 位于不同的线程之中,或者更经常的情况是处于两个不同的进程之中。它们之 间的通信是通过一个由内核建立的通道称为“会话”。一个客户可以和一个服务 器之间有多个会话,但是每一个会话都占用有限的资源。除了建立多个会话之 外,更好的解决方案是由客户端的程序减少建立会话的数量。一个可以减少会 话数量的方法就是使用“子会话”。一个典型的客户端的子会话的实现和会话所 能实现的功能相似。为了使用子会话,一个用户程序必须要先开启一个服务器 的会话,然后建立一个“子会话”该子会话可以通过之前所建立的会话和服务 器进行通信而所消耗的资源更少因为内和资源并没有更多的消耗。另一个优点 是子会话的建立速度比内核建立会话的速度要快从而节省了c p u 的占用时间。 但是,该方案的缺点就是服务器端的编程的复杂度增加了,因此只有当客户端 有很多实例并且要反复的新建和销毁这些实例的时候,子会话是一个很有效的 机制。 另外一个潜在的领域开发者可以从事的是更加有效的访问服务器。例如客 户程序在单次传输中传输大量数据给服务器比分多次传输少量数据更有效率。 因为减少了访问服务器的次数就减少了不必要的系统消耗( o v e r h e a d ) 。为了达到 这个目的,开发者必须考虑到内存的消耗问题,例如存储和管理大批数据。以 文件服务器为例,“r w r i t e s t r e a m ”使用客户端的缓存来存储传给它的数据,并 且仅在该缓存快要溢出的时候访问文件服务器把数据写入文件。但是这个方案 不适用于实时系统例如语音,视频等服务,是要保证延时尽量的小。 c 3 2 服务器 在s y m b i a no s 移动手机中,在双c p u 通信中经常使用到一个串行通信的连 武汉理工大学硕士学位论文 接。c 3 2 服务器是一个串行通信服务器提供一个抽象的接口让多设备之间实现串 行通信。这个抽象的a p i 读取和写入连续的数据并且管理数据控制流。而用于控 制某个设备的底层协议是在c s yd l l 模块中实现的。 对于c 3 2 j e 务器框架存在一个潜在的问题就是所有的服务器都是以活动对 象的模式来实现的。而c 3 2 j e 务器作为其所在线程的一个活动对象需要和加载在 该线程的c s y 相互作用。现在如之前所说,s y m b i a n 已经支持三个c s y 模型, 包括红外,u s b 和蓝牙。当多个模块同时加载的时候,服务器端的情况会变得 较为复杂,也很有可能引起优先级倒置的问题,或者一些c s y 模型将会被永久 的挂起。 共享内存块 在计算机领域中,共享内存指的是一块内存区域可以连续的被多个程序访 问,并且这些程序之间能够互相通信。共享内存块是共享内存的一种形式,它 能使用户端的程序使用由设备驱动所建立的内存区域( 也就是内核所占用的内 存区) 。文献【1 】给出了共享内存块的详细的定义。而对于本课题很有研究意义的 一点是多个用户端的程序可以通过传递句柄的方式来实现对该共享内存块的访 问。也就是多个用户端的程序可以共享内核的内存区。该机制可以用来减少跨 进程通信所引起的内存拷贝问题。 2 2 其他o s 中相关的关键技术的研究 与l i n u x 操作系统不同,s y m b i a n 的版权问题限制了普通开发者不能找到很 多开源的通信模块的设计和实现。但是仍然可以对重点技术在其他操作系统中 的应用进行研究。例如如何优化多线程通信。比较普遍的优化方法就是零拷贝 f z e r o c o p y ) 和共享内存( s h a r e dm e m r o y ) 。 零拷贝是指在跨进程传输数据的时候,c p u 不用执行拷贝数据的任务。通 常零拷贝在高速网络传输中是一个很重要的机制,因为在数据传输速率很高的 情况下,内存拷贝会占据c p u 的资源使它不能执行其他的任务。尤其是对

温馨提示

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

评论

0/150

提交评论