嵌入式开发-Symbian操作系统环境下通信系统的设计与实现.pdf

上传人:qwe****56 文档编号:74653517 上传时间:2023-02-27 格式:PDF 页数:4 大小:315.40KB
返回 下载 相关 举报
嵌入式开发-Symbian操作系统环境下通信系统的设计与实现.pdf_第1页
第1页 / 共4页
嵌入式开发-Symbian操作系统环境下通信系统的设计与实现.pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《嵌入式开发-Symbian操作系统环境下通信系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《嵌入式开发-Symbian操作系统环境下通信系统的设计与实现.pdf(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Symbian 操作系统环境下通信系统的设计与实现操作系统环境下通信系统的设计与实现 贾洪勇 汪永伟 牛保民(解放军信息工程大学电子技术学院,河南 郑州 450004)摘要摘要:Symbian 操作系统是一种 32 位抢占式多任务操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用。它提供了广泛的通信基础结构,包括串行通信、TCP/IP、IrDA、USB、传真、以及通过 GSM 和 GPRS 的通信。本文介绍了如何利用 Symbian操作系统提供的各种通信机制来构建复杂高效的通信程序。关键词关键词:活动对象、活动规划器、客户/服务器、定时器 中图分类号:中图分类号:TP316.2

2、 文献标识码文献标识码:A The Design and Implementation of Communication System on Symbian OS JIA Hong-yong,WANG Yong-wei,NIU Bao-min(Institute of Electronic Technology,the PLA Information Engineering University,ZhengZhou 450004,China)Abstract:Symbian operating system is a 32-byte preempting,multitasking OS.It

3、is very suitable for mobile devices such as mobile phones for its low power and memory consuming.It provides comprehensive communication infrastructure,including serial communication,TCP/IP,IrDA,USB,fax,GSM,GPRS.This paper details how to construct sophisticated and efficient communication software u

4、sing communication mechanism provided by Symbian OS.Key words:Active Object;Active Scheduler;Client/Server;Timer 1 引言 1 引言 无线信息设备是集 PDA 与传统手机于一体的新型手持设备,随着无线通信网络的发展必将成为未来几年手持设备的发展趋势。在无线信息设备对操作系统的诸多要求中,高可靠性占了首要地位,而实现高可靠性的关键是其操作系统要具有高效的内存操作及管理机制,提供的编程机制要能够充分管理有限的内存空间,不会造成任何的内存分配与回收错误。否则,极微小的内存泄漏故障经过长时间

5、的积累都将导致灾难性的后果。Symbian OS 是由诺基亚、摩托罗拉、爱立信、西门子等联合开发的,为无线信息设备量身定制的操作系统。它采用基于静态优先级的抢先式多任务机制且配合时间片轮转,构成简捷、高效的内核,具有模块化的系统结构,提供了良好的扩充空间,支持强大的通信及多媒体功能。具备高效的电源管理机制,而且即使在电池耗尽的情况下,也能确保不丢失任何用户数据。由于采用特殊的编程规范,可以及时高效地管理系统内存资源的分配和回收,不会造成内存的泄漏。以 Symbian OS 为操作系统的设备可连续运行多年而无须重新启动。在移动警务查询系统中,大量的移动终端是采用了 Symbian 操作系统的手机

6、,如何在这种环境下开发效率高、资源消耗少的通信查询程序是一个亟待解决的问题。2 Symbian OS 的通信机制 2 Symbian OS 的通信机制 Symbian 支持多任务、提供多种通信协议并具有一定的实时性,增强了与其它设备的互操作性。支持标准的国际互联网通信协议(TCP/IP、PPP、Telnet、HTTP)、电子邮件协议(POP3、SMTP、IMAP4);提供 GPRS、WAP 等标准协议栈;支持短信息;具有蓝牙协议模块;可以通过电缆或红外与 PC 机相连,进行数据同步和备份。在 Symbian 环境下开发通信程序需要用到下面四个方面的技术:客户/服务器、活动对象、活动规划器、一种

7、通信协议(红外线、蓝牙、TCP/IP)。2.1 客户/服务器架构 在 Symbian OS 中,大部分的线程编程采用客户/服务器框架:?服务器线程负责处理一个或多个相关资源。?一个或多个客户端线程可以使用服务器来执行使用相关资源的函数。对于设计开发人员来说,客户端和服务器之间的接口是实现该框架的关键,接口中以下三个方面非常重要:?客户端接口:每个服务器为其客户端提供了一个 API,即客户端接口,它能封装所有的客户端-服务器通信,使客户端不必知道客户端-服务器框架的细节就可以使用。?内核支持的消息传递:这是由客户端向服务器传送要求的主要方法。?内核支持线程间读写:消息传递的信息有限,为了传递更多

8、消息,服务器可以读写客户的地址空间。客户服务器架构如图所示。线程间读 线程间写 客户端接口 内核执行程序 响应请求客户端服务器端 图 客户服务器结构 2.2 活动对象:Symbian OS 是一个高度异步的操作系统,包括完成通信功能在内的所有操作在Symbian 中都是通过使用系统提供的异步服务来完成的。当出现异步多任务情况时,一种可选的方案是在抢占系统中使用多线程,即创建一个新线程来处理每个异步任务,建立请求并等待完成。但是这种方式占用资源太多,效率也不高,无法满足移动客户端中对网络通信性能的要求。另外一种可选方案是使用协作式多任务,把所有应用程序发出的服务请求放置在一个线程中进行处理,采用

9、预先设定好的仲裁方法来决定先完成哪个请求,在处理一个服务的过程中,如果因为一些原因不能完成任务时,就必须结束对这个服务请求的处理,再选择另外一个请求服务进行处理,这种方式可以得到更高的处理效率。为了在手机这样的资源有限的小内存设备中更好地完成协作式多任务,达到节省资源,提高效率的目的,Symbian 提供了一个称为活动对象的服务框架,活动对象代表异步服务请求,它封装了:代表请求状态的数据成员(iStatus);异步服务提供器上的句柄;构造期间与服务提供器的连接;发布(或重新发布)异步请求的函数;请求完成时活动规划器调用的处理函数;删除未完成请求的函数。通过它可以把应用程序里并发执行部分(其实不

10、是并发,不过宏观上看来是)放在一个线程里面执行。对活动对象的管理和调度是通过活动规划器(ActiveScheduler)来完成的。在每一个活动服务对象都有一个 iStatus 字段来标识当前对象的状态,通过定时器的方法iTimer.After(iStatus,mTime)设定定时器,在 mTime 秒钟以后 iStatus 将发生改变,此时活动规划器会知道这个状态的改变,从而调用相应活动对象的处理函数,完成应用程序的服务请求。2.3 活动规划器:为了方便 Symbian OS 的应用程序发布多个异步请求,并且在任何当前请求完成时获得通知,Symbian OS 提供了一个支持框架。通过实现两种类

11、型的对象完成协作式多任务:用于等待循环的活动规划器(Active Scheduler)(每个线程一个活动规划器)以及用于每个任务的活动对象(Active object)该对象封装请求及对应的处理器函数(在请求完成时调用该函数)。由 CactiveScheduler 或其派生类实现活动规划器。它在一个线程中实现等待循环,检查异步事件的完成情况。通过调用 User:WaitForAnyRequest()来检测已完成事件,这个调用将挂起线程,直到一个异步请求完成。当线程接收到信号时,活动规划器按照优先级顺序遍历活动对象列表,查找已经完成的活动对象。检查每个活动对象,查看它是否发布了请求(设置了它的

12、iActive 标志),并且查看该请求是否已经完成。如果两个条件都满足,首先将活动对象设置为非活动状态,从而在下一次存在已完成的请求时不会再次找到它。活动规划器和活动对象之间的关系如图所示。CactiveSchedulerStart()Stop()Add()Error()WaitForAnyRequest()RunL()DoCancel()Cancel()SetActive()IsActive()RunError()CactiveIActiveTrequestStatus用户aitForAnyRequest()WaitForRequest()RequestComplete()管理请求设置 图

13、对象关系图 2.4 通信协议选择:通信功能是 Symbian 的核心基本功能,它提供了对一系列通信协议的支持,支持与不同类型的设备、在不同的距离、为不同的目的进行通信。主要包括串行通信、套接字、TCP/IP、红外线、蓝牙。在我们的公安公网移动查询系统中,主要利用 TCP/IP 上的套接字来实现移动客户端与远程数据库的连接,完成大量信息的快速查询。3 通信程序关键部分实现 3 通信程序关键部分实现 在选择了使用 TCP/IP 情况下开发通信程序时,通信系统关键部分的实现如下:1)建立 Socket 服务器 设置超时/Start a timer iTimer=CTimeOutTimer:NewL(

14、EPriorityHigh,*this);CActiveScheduler:Add(this);/加入活动规划器/Open channel to Socket Server User:LeaveIfError(iSocketServ.Connect();2)建立客户端 Socket User:LeaveIfError(iSocket.Open(iSocketServ,KAfInet,KSockStream,KProtocolInetTcp );3)设置服务器端 IP 地址和端口,/设置服务器地址信息 iAddress.SetPort(iPort);iAddress.SetAddress(aAd

15、dr);4)连接服务器,同时设置延迟,激活活动对象 /Initiate socket connection iSocket.Connect(iAddress,iStatus);/Start a timeout iTimer-After(KTimeOut);SetActive();5)发送 iSocket.Write(iWriteBuffer,iStatus);/Initiate actual write iWriteStatus=ESending;/Request timeout iTimer-After(iTimeOut);SetActive();/激活活动对象 6)接收 iSocket.R

16、ecvOneOrMore(iBuffer,0,iStatus,iDummyLength);SetActive();4 结束语 4 结束语 本文对 Symbian 操作系统的通信机制进行了分析,结合移动警务项目的要求,运用这些机制很好地完成了移动客户端和远程服务器通信的任务。参考文献:参考文献:1(美)R.J.(Bud)Bates 通用分组无线业务(GPRS)技术与应用M。朱洪波等,译。北京:人民邮电出版社 2004。2(美)Herbert Schildt+参考大全(第四版)周志荣等,译。北京:电子工业出版社 2003.3(美)Bruce Eckel 著+编程思想(第版)刘宗田等,译。北京:机械

17、工业出版社 2003.4 Richard Harrison 等著 Symbian OS C+手机应用开发 周良忠 译。北京:人民邮电出版社 2004。国家基金项目:国家基金项目:金盾工程(J1GAB23W013)本文创新点:本文创新点:利用 Symbian 操作系统中提供的通信机制,建立移动客户端和远程服务器之间高效、稳定的通信。作者简介:作者简介:贾洪勇(1975)男,河南西平,硕士,助教,研究方向:操作系统、信息安全。汪永伟(1977)男,河南新安,硕士,助教,研究方向:信息安全、计算机网络。牛保民(1979)男,河南浚县,硕士研究生,研究方向:移动开发、嵌入式系统。联系方式:贾洪勇:地址:河南省郑州市商城路 12 号解放军信息工程大学电子技术学院 403 教研室 邮编:450004

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com