




已阅读5页,还剩78页未读, 继续免费阅读
(系统工程专业论文)基于Symbian+OS的信息获取技术的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 在如今信息化越来越快的时代,手机已经远远不是过去只接打电话的通话工 具,在已经来到的3 g 中,数据业务比重不断增加,消息通信作为移动终端信息 交换方式已经占有重要的地位。智能手机作为一种已经融入人们1 日常生活的角 色,手机上所存储的用户日常信息才是智能手机最宝贵的财富。 本文首先介绍了s y m b i a no s 开发平台的相关知识及开发的关键技术。接着 讲解了s y m b i a no s 下的消息架构,并研究实现了消息架构下的短消息与电子邮 件的接收、提取、发送等操作。其次深入研究其他一些日常人个信息如:通讯录、 通讯记录、日历、文件列表等信息的相关技术,并研究实现了这些信息的提取、 接收等操作。 本文研究并实现了s y m b i a no s 下的套接字连接等操作。首先详细讲解了 s y m b i a no s 下的套接字的体系结构与核心功能类等基础知识;其次对主机解析 服务与网络接入点相关操作技术做了深入的研究与实现;接着结合程序实例详细 介绍了s y m b i a no s 下的套接字连接的操作实现;最后在介绍了p c 端的套接字 连接相关知识的基础上,结合程序实例详细说明了p c 端套接字操作的程序流程 与代码实现。 本文最后编程实现了智能手机远程取证系统,经过反复测试和完善,目前性 能良好、运行稳定,达到了系统开发的目标。该系统的实现不仅提供了一个智能 手机信息提取传输的平台,而且为智能手机取证工作带来了极大的帮助。 关键词:智能手机,s y m b i a n ,s o c k e t ,信息提取,短信息,电子邮件,通讯录,通讯记 录,文件传输 a b s t r a c t i nt h et i m e si n f o r m a t i o n i z em o r ea n dm o r eq u i c k l yn o w , m o b i l ep h o n e sh a v e b e e nm u c hm o r et h a nt h et a l kt o o l so n l yr e c e i v i n ga n dd i a l i n gt h ec a l l s ,i nt h e3g w h i c ha l r e a d ya r r i v i n gi n ,d a t ab u s i n e s ss p e c i f i cg r a v i t ye s c a l a t i o n ,i n f o r m a t i o n c o m m u n i c a t i o na l r e a d yo c c u p yi m p o r t a n tp o s i t i o na sm o v i n gt e r m i n a li n f o r m a t i o n e x c h a n g ew a y i n t e l l i g e n c em o b i l et e l e p h o n ea l r e a d ym e l t sa sak i n do ft oe n t e r p e o p l et h ed a i l yl i f er o l e ,t h ed a i l yc o n s u m e ri n f o r m a t i o nb es t o r e do nm o b i l e t e l e p h o n ei sr e a l l yt h em o s tp r e c i o u sw e a l t ho fi n t e l l i g e n c em o b i l et e l e p h o n e t h i sp a p e rf i r s ti n t r o d u c e dt h ss y m b i a no sd e v e l o p m e n tp l a t f o r m sr e l e v a n c e k n o w l e d g ea n dt h ed e v e l o p m e n tk e yt e c h n o l o g y t h e ne x p l a i n e dt h em e s s a g e a r c h i t e c t u r e ,r e s e a r c ht h eo p e r a t i o ns u c ha sa d m i t t i n g ,d r a w i n g ,d i s p a t c h i n gh a v i n g r e a l i z e dt h es h o r tm e s s a g ea n de m a i lu n d e rm e s s a g ef r a m e w o r k t h e ns t u d y e di na d e e p g o i n gw a yaf e wd a i l yc o n s u m e ri n f o r m a t i o n so p e r a t i o ns u c ha s c o n t a c t s , c o m m u n i c a t i o nl o g ,c a l e n d a r , d o c u m e n tl i s t i n g ,a n dr e a l i z e dt h eo p e r a t i o no ft h e s e i n f o r m a t i o ns u c ha sd r a w i n g ,a d m i t t i n ga n ds oo n t h i sp a p e rr e s e a r c h e da n dr e a l i z e dt h eo p e r a t i o n su n d e rs y m b i a no ss u c ha s s o c k e tc o m m u n i c a t i o na n ds oo n f i r s t l yd e t a i l e dt h ee l e m e n t a r yk n o w l e d g ea b o u t s o c k e t ss y s t e ms t r u c t u r ea n dc o r ef u n c t i o nc l a s s ;s e c o n d l yd e e pr e s e a r c h e da n d r e a l i z e dt h eh o s tr e s o l u t i o ns e r v i c e sa n di n t e m e ta c c e s sp r o v i d e rt e c h n o l o g y ;t h e n d e t a i l e dt h e o p e r a t i o n a b o u ts o c k e tc o m m u n i c a t i o nu n d e rs y m b i a no sw i m p r o c e d u r ee x a m p l e ;f i n a l l y , d e s c r i b e st h eo p e r a t i o no fp cc l i e n ts o c k e tc o d ep r o c e s s e s a n dp r o c e d u r e sb a s e do nt h ei n t r o d u c t i o no fr e l e v a n tk n o w l e d g ea b o u tp cc l i e n t s s o c k e tc o n n e c t i o n t h i sp a p e rf i n a l l yp r o g r a m m i n gt h er e m o t ef o r e n s i c s s y s t e m b a s e do n s m a r t p h o n e ,a f t e rr e p e a t e dt h et e s t i n ga n di m p r o v i n g ,n o wi th a sg o o dc h a r a c t e r 、 o p e r a t e ss t a b l y 、a t t a i n st h ea i mo fs y s t e md e v e l o p m e n t t h es u c c e s so ft h er e m o t e f o r e n s i c ss y s t e mb a s e do ns m a r t p h o n en o to n l ys u p p l i e sap l a t f o r mf o re x t r a c t i n g a n dt r a n s m i t t i n gi n f o r m a t i o no ns m a r t p h o n e ,b u ta l s og i v e sg r e a th e l pt os m a r t p h o n e f o r e n s i c s k e y w o r d s :s m a r t p h o n e ;s y m b i a n ;s o c k e t ;i n f o r m a t i o ne x t r a c t i o n ;s h o r tm e s s a g e ; e m a i l ;a d d r e s sb o o k ;c o m m u n i c a t i o nl o g ;f i l et r a n s m i s s i o n ; 厦门大学学位论文原创性声明 本人呈交的学位论文是本人在导师指导下,独立完成的研究成 果。本人在论文写作中参考其他个人或集体己经发表的研究成果,均 在文中以适当方式明确标明,并符合法律规范和厦门大学研究生学 术活动规范( 试行) 。 另外,该学位论文为() 课题( 组) 的研究成果,获得() 课题( 组) 经费或实验室的 资助,在() 实验室完成。( 请在以上括号内填写课 题或课题组负责人或实验室名称,未有此项声明内容的,可以不作特 别声明。) 垆 少本 日 , 儿 汐 名 套月 0 ,6 人 年 叭忙 厦门大学学位论文著作权使用声明 本人同意厦门大学根据中华人民共和国学位条例暂行实施办 法等规定保留和使用此学位论文,并向主管部门或其指定机构送交 学位论文( 包括纸质版和电子版) ,允许学位论文进入厦门大学图书 馆及其数据库被查阅、借阅。本人同意厦门大学将学位论文加入全国 博士、硕士学位论文共建单位数据库进行检索,将学位论文的标题和 摘要汇编出版,采用影印、缩印或者其它方式合理复制学位论文。 本学位论文属于: () 1 经厦门大学保密委员会审查核定的保密学位论文, 于年 月日解密,解密后适用上述授权。 ( ) 2 不保密,适用上述授权。 ( 请在以上相应括号内打“ 或填上相应内容。保密学位论文 应是已经厦门大学保密委员会审定过的学位论文,未经厦门大学保密 委员会审定的学位论文均为公开学位论文。此声明栏不填写的,默认 为公开学位论文,均适用上述授权。) 声明人( 签名) : x 1 “胁日 妒咖 i 第一章绪论 1 1 智能手机综述 第一章绪论 1 1 1 智能手机定义 智能手机是指采用开放式操作系统、第三方可根据操作系统提供的应用编程 接口为手机开发各种扩展应用和提供各种扩展硬件的手机【3 7 】。通俗定义即一个简 单的“掌上电脑+ 手机= 智能手机”。从广义而言,智能手机除了具备手机的通 话功能外,还具备了p d a 的大部分功能,特别是个人信息管理以及基于无线数 据通信的浏览器和电子邮件功能。 是否采用嵌入式操作系统并支持第三方软件安装应用是智能手机与普通手 机两大区分点。 1 1 2 智能手机的特点 ( 1 ) 具备普通手机的全部功能,能够进行正常的通话,发短信等手机应用。 ( 2 ) 具备无线接入互联网的能力,即需要支持g s m 网络下的g p r s 或者c d m a 网络下的c d m a1 x 或者3 g 网络。 ( 3 ) 具备p d a 的功能,包括p i m ( 个人信息管理) ,日程记事,任务安排,多媒 体应用,浏览网页。 ( 4 ) 具备一个具有开放性的操作系统,在这个操作系统平台上,可以安装更多的 应用程序,从而使智能手机的功能可以得到无限的扩充。 ( 5 ) 具有人性化的一面,可以根据个人需要扩展机器的功能。 ( 6 ) 功能强大,扩展性能强,第三方软件支持多【4 i 】。 1 2 智能手机操作系统 智能手机操作系统主要有以下几种:s y m b i a n 公司的s y m b i a no s 、微软的 w i n d o w sm o b i l e 、以及p a l m 和l i r i u x 等【3 7 】,基本上都是由原来的掌上电脑操 作系统发展而来。 1 2 1s y m b i a n 操作系统 s y m b i a n 操作系统是s y m b i a n 公司为手机而设计的操作系统,它包含联合的 基十s y m b i a no s 的f 膏息捩取投术的研究 数据库、使用者界面架构和公共工具的参考实现,它的前身是p s i o n 的e p o c 。 s y m b i a n 操作系统是一种3 2 位占先式多任务操作系统,具有功耗低,内存 占用少等特点。它最大优势是在于它是为便携式装置而设计,而在有限的资源下, 可以稳定运行数月甚至数年【3 7 】。而这要得益于它的保护内存、s y m b i a n 编程描述 和清除堆栈等技术,将这些与其它技术搭配使用,可降低内存需求、避免内存泄 漏;类似技术也运用于增加磁盘和记忆卡使用空间。其次,s y m b i a n 的编程采用 事件式处理,如果应用程序没有与c p u 直接交涉,c p u 会被关闭,正确的使用 这些技术将能够延长电池使用时间。这些技术让s y m b i a n 的c + + 变得非常专业, 并有着陡峭的学习曲线。此外,许多s y m b i a n 的装置也支持利用o p l 、p y t h o n 、 v i s u a lb a s i c 、s i m k i n 以及p e r l 搭配j 2 m e 和自行开发的j a v a 来使用。 1 2 2w i n d o w sm o b i l e 操作系统 w i n d o w sm o b i l e 系列操作系统是在微软计算机的w i n d o w s 操作系统上变化 而来的,因而它们的操作界面极为相似。 w i n d o w sm o b i l e 系列操作系统具有强大功能,多数具备了音频、视频文件 播放、上网冲浪、m s n 聊天、电子邮件收发等功b 匕1 3 7 1 。支持该操作系统的智能 手机多数都是使用英特尔嵌入式处理器,c p u 主频较高;另外,采用该操作系 统的智能手机在其它硬件配置( 如内存、储存卡容量等) 上也较采用其它操作系 统的智能手机要高出许多,因此性能较为强劲,操作运行速度较快。但此系列手 机也有存在不足,如因配置高、功能多而产生耗电量大、电池续航时间短、硬件 成本高等。 ( 1 ) s m a r t p h o n e 操作系统 s m a r t p h o n e 是m i c r o s o f t 开发的新一代手机操作系统平台,这一智能电话解 决方案为手机用户提供了语音、数据及多媒体功能,通过与微软的后端服务器及 服务相结合,成为移动商务人士以及公司用户利用小型移动电话实现移动服务和 互联网访问的主要平台。 ( 2 ) p o c k e tp cp h o n e 操作系统 p o c k e tp cp h o n e 是目前最为常见的微软智能手机操作系统,目前市面上绝 大多数基于微软操作系统的智能手机都采用了这一操作系统,例如市面上流行的 联想e t l 8 0 、e t 5 6 0 、多普达6 9 6 、8 1 8 等智能手机即采用了此操作系统。与微 2 第一章绪论 软s m a r t p h o n e 不同的是,该操作系统主要借助触控笔和触摸屏来完成大部分的 操作。 1 2 3p a l m 操作系统 p a l m 是3 c o m 公司的p a l mc o m p u t i n g 部开发的一种3 2 位的嵌入式操作系 统,该公司原是一家以生产掌上电脑及掌上电脑操作系统为主的公司,p a l m 智 能手机所用的p a l m 操作系统又与p a l m 掌上电脑所用的操作系统非常相似,因此, 基于该操作系统的手机拥有的第三方软件较多,使用p a l m 掌上电脑的老用户能 快速地熟悉此类智能手机。 由于p a l m 一直遵循l e s si sm o r e ( 少就是多) 这一理念,它本身所占的内存 极少,基于p a l m 操作系统编写的应用程序所占的空间也很少,通常只有几十k b , 所以基于p a l m 操作系统的掌上电脑虽然只有几兆内存却可以运行众多的应用程 序吲。但由此而来,它所能提供的功能也因内存空间小而受限。p a l m 也意识到 丰富的功能才能提高对消费者的吸引力,p a l m 越来越向提供丰富的功能靠拢,“少 就是多”的设计理念逐步削弱。 1 2 4l i n u x 操作系统 l i n u x 是一套免费使用和自由传播的操作系统。它支持3 2 位和6 4 位处理器, 在计算机领域中,主要用于配备i n t e lx 8 6 系列c p u 的计算机,在手机领域中, 较具代表性的产品有摩托罗拉a 7 6 8 。 l i n u x 具有稳定、可靠、安全等优点,具备强大的网络功能,在相关软件的 支持下,可方便实现w w w 、f t p 、d n s 、d h c p 、e m a i l 等服务。由于l i n u x 源代码开放,这一重大特点使其具有丰富应用,而丰富的应用是智能手机的优越 性体现和关键卖点所在1 3 7 。从应用开发的角度看,由于l i n u x 的源代码是开放的, 有利于独立软件开发商( i s v ) 开发出硬件利用效率高、功能更强大的应用软件, 也方便行业用户开发自己的安全、可控认证系统,尤其是当智能手机大量用作行 业应用的移动终端时。 1 3 本文的内容组织与创新 1 3 1 本文的内容安排 第一章为绪论,主要描述了智能手机的定义与特点,并介绍了当前智能手机 堆十s y m b i a no s 的信息捩耿技术的研究 上所使用的主流操作系统相关信息。 第二章首先介绍了s y m b i a no s 操作系统的结构与主要特点,以及各个接口 平台的相关知识;接着详细讲解了其中最重要的s e r i e s6 0 开发平台相关知识; 最后重点研究解析了s y m b i a no s 开发中的几个关键技术。 第三章首先讲解了s y m b i a no s 下的消息架构,并在此基础上深入研究并实 现了此架构下的短信息与电子邮件的提取、拦截、发送等操作实现;接着深入研 究并实现了通讯录、通讯记录、日历、系统文件列表等同常信息的相关操作。 第四章首先讲解了s y m b i a no s 下s o c k e t 连接的相关知识;接着深入研究主 机解析服务、网络接入点等关键知识,并编程实现了主机解析服务的应用与网络 接入点的查找、自动选择等操作:最后研究并编程实现了智能手机通过s o c k e t 连接传输指定文件或文件央到p c 端的功能。 第五章主要讲述了基于s y m b i a no s 的智能手机远程取证系统的系统概状与 总体架构,并重点介绍了系统六个核心模块的实现流程与运行效果。 第六章为总结与展望,总结了系统当前的实现情况,包括所取得的成绩与存 在的不足,并提出以后的完善方向。 1 3 2 本文的主要工作与创新 本文重点研究了智能手机s y m b i a no s 上各种个人信息与s o c k e t 网络连接的 操作技术,并针对性的研究实现了各关键技术的编程实现:实现了网络接入点自 动选择等辅助模块,有效提升了系统的实用性。架构了一个智能手机上个人信息 提取分析的平台,打造了位于国内领先位置的智能手机远程取证系统。本文的主 要创新点如下: ( 1 ) 研究s y m b i a no s 消息框架的相关知识,编程实现了消息架构下短信息与电 子邮件的提取、接收、发送等操作。 ( 2 ) 编程实现了通讯录、通讯记录、日历、系统文件列表等日常信息的提取、接 收等操作。 ( 3 ) 研究智能手机与p c 的s o c k e t 连接的相关知识,并分别在手机端与p c 端实 现基于s o c k e t 连接的文件传输功能。 ( 4 ) 实现了主机地址解析、自动选择网络接入点等辅助功能,提升了系统的实用 性。 4 第二章s y m b i a no s 开发f ,- 台介绍 第二章s y m b i a no s 开发平台介绍 2 1 s y m b i a n 操作系统简介 s y m b i a n 操作系统是专为移动设备设计的,因此它的特点是内存需求量小、 功耗低。这对于用户来说非常重要,因为用户都希望手机的待机时间越长越好。 由于s y m b i a n 系统是个开放的操作系统,所以它支持第三方开发者开发软件 并在设备上进行安装,当然,这一切都和设备制造商相互独立。同时,系统还提 供了很多c + + 应用程序接口,开发者可以使用这些接口文件来使用手机的许多服 务,比如电话、短信以及其他的许多基本功能。 2 1 1 s y m b i a n 操作系统结构 s y m b i a n 系统主要有以下5 部分组成【29 】,如图2 1 所示。 ( 1 ) 应用层。应用层主要包括s h e l l 、o p l 以及其他应用程序。 ( 2 ) 系统层。系统层主要包括程序中常见的d i g a l o g s ( 对话框) 、m e n u ( 菜单) 、 t o o l b a r ( 工具栏) 、i c o n s ( 按钮) 、r e s o u r c e ( 资源) 等应用单元。 ( 3 ) 服务层。服务层主要包括w i n d o ws e r v e r 、p r o c e s ss e r v e r 、s o c k e ts e r v e r 、s o u n d s e r v e r ,f 胁l e s ss e r v e r ,d a t a b a s es e r v e r ,f i l es e r v e r ,a l a r ms e r v e r ,c o m m s s e r v e r 以及无线协议等为其他应用程序提供的系统服务。 ( 4 ) 内核。主要包括e u s e r d l l 、e k e m e x e 、服务控制( s u p e r v i s o rs e r v e r ) 、m 址( 设 备抽象层) 等操作系统与低层硬件相关的内容。 ( 5 ) 驱动程序。主要包括所有设备驱动程序,如音频驱动、显示驱动、m m c 驱 动、键盘驱动、串并口驱动、d s p 驱动和时钟控制器驱动等。 i s y m t m m no su i k o i g 饼“跨 lj , i 黟i i l 器;翻臻 , l = v ak v m ,l 。 i 激务豁 。l , i s 辨m 稍l 嚣;上i z ( t 船d l l 。空中l ;f l 务i l t 、丹级耱) 。l l 曼:i z 锺弘 :产露竣釜搿叠甜譬等 图2 - 1s y m b i a no s 操作系统结构图 皋十s y m b i a no s 的信息扶取技术的研究 2 1 2 s y m b i a n 操作系统主要特点 s y m b i a no s 是一个开放的操作系统。它采用基于静态优先级的抢先式多任 务机制且配合时间片轮转,构成简捷、高效的内核,具有模块化的系统结构,提 供了良好的扩充空间,支持强大的通信及多媒体功能【1 6 】。s y m b i a n 是真正的微核 操作系统,所谓“微核”,就是说操作系统只有很小的一部分是运行在最高优先级 的,其他的功能都是以c l i e n t s e r v e r 的方式提供。 ( 1 ) 高可靠性。具备高效电源管理机,而且即使在电池耗尽的情况下,也能确保 不丢失任何用户数据。由于采用特殊的编程规范,可以及时高效地管理系统 内存资源的分配和回收,不会造成内存的泄漏。因此,以s y m b i a no s 为操 作系统的设备可连接运行多年而无须重新启动,这也是对无线信息设备的基 本要求。 ( 2 ) 采用面向对象的设计和编程,程序代码具有很好的可重用性。s y m b i a no s 支持c + + 和i a v a 两种应用广泛的面各对象编程语言,提供各种常用的3 2 位 应用程序接口函数,而且具有图形用户界面编程框架,可以方便地创建用户 应用程序。系统支持u n i c o d e ,容易进行本地化。 ( 3 ) 支持多任务、提供多种通信协议并具有一定的实时性,增强了与其它设备的 互操作性。支持标准的国际互联网通信协l s l ( t c p i p ,p p p ,t e l n e t ,h t t p ) ,电子邮件协 议( p o p 3 ,s m t p ,i m a p 4 ) 提供g p r s ,w a p 等标准协议栈;支持短信息;具有蓝牙协议 模块;可以通过电缆或红外与机相连,进行数据同步和备份。 ( 4 ) 硬件配置充分考虑了现有无线信息设备的硬件选型和未来需求。以s y m b i a n o s 为操作系统的设备采用a r m 系列r i s e 处理器,具有较强的处理能力;利用 r o m 进行永久程序存储,并可通过外加快闪存储卡来扩展系统存储量支持高 分辨率彩色显示、触摸屏和笔输入,具有多媒体功能。 2 1 3s y m b i a n 操作系统的主要用户接口平台 在此s y m b i a n 操作系统中,可以使用不同的用户接e l 设计平台来进行开发【2 】。 典型的平台包括:$ 6 0 、u i q 、$ 8 0 、n o k i a 7 7 1 0 和f o m a ,下面就简要介绍一下 各个平台的特点。 ( 1 ) $ 6 0 s 6 0 平台是s y m b i a n 操作系统的主流用户接口设计平台,它的用户接i :1 是针 6 第- 二章s y m b i a no s 开发f 台介绍 对单手操作设计的,它基于按键操作,同时采用了智能的图形化界面设计方案。 凡是采用s 6 0 平台的手机,不论其制造商是谁,都可以保证手机的操作一致性和 手机问的互通性。 ( 2 ) u i q u i q 用户接口设计平台是由u i q 科技公司所有的,该公司是s y m b i a n 公司 的一个附属公司。获得u i q 平台许可证的手机制造商有华宇、明基、摩托罗拉 和索尼爱立信。u i q 是以触摸屏为基础设计的用户接口,所以它设计到许多用户 笔操作,同时主要针对多媒体业务较多的移动手机。u i q 设计的初衷就是要高效 地使用手机的大型彩色触摸屏幕,支持更多、更丰富的数据业务。平台关心的是 可用性,所有的数据改变都会自动保存,而且正在运行的应用程序会保持一张列 表用于快速导航,使得用户可以更方便地使用应用程序。 ( 3 ) $ 8 0 $ 8 0 平台主要用于商用手机,也就是比较高端的手机,它是由诺基亚所有并 负责许可证的发送。$ 8 0 平台设计用于双手操作,因为它配备了q w e r t y 键盘, 也就是与传统的键盘相同的一个小型键盘。此外,基于$ 8 0 平台的手机通常都有 大的彩色显示屏。在诺基亚的手机中,使用$ 8 0 平台的有9 2 1 0 、9 5 0 0 和9 3 0 0 等。 2 2s e r i e s6 0 平台 2 2 1s e r i e s6 0 平台简介 $ 6 0 是诺基亚开发拥有并注册的一个平台,它是一个以用户为主导而设计的 s y m b i a n 操作系统。$ 6 0 设备是智能手机设备,此款智能手机通常配有一个大的 彩色屏幕和摄像头。$ 6 0 的用户界面设计为单手操作,它的基础按键是诺基亚曾 经设计的并经过最为广泛研究和深入全面开发的面向用户的产品【2 】。将其列入 $ 6 0 平台能确保所有基于$ 6 0 平台的各个手机制造商制造的手机产品中,手机用 户界面的致性问题。 $ 6 0 的另一个特点是,它在用户端隐藏了一个文件系统,而用户只能看到文 件系统的一部分。 $ 6 0 是一个开放的平台,它允许第三方开发商创造新的和已经存在过的$ 6 0 的应用程序。开发商可以选择使用c + + 语言开发应用程序( c + + 语言是开发 幕十s y m b i a no s 的信息扶耿技术的研究 s y m b i a n 操作系统的语言) ,其他语言包括j a 、,a 、p y t h o n 、v i s u a lb a s i c 和c ( 当 然其余的这些语言只和$ 6 0 应用c h 语言部分相关) 。 本文所讲述的相关技术与应用实例均基于$ 6 0 开发平台。 2 2 2s e r i e s6 0 平台结构 s e r i e s6 0 平台在s y m b i a no s 之上进行构建,并通过可配置图形化用户接 口库,全面的应用程序套件以及其他通用引擎进行补充。s e r i e s6 0 平台的内核 是s y m b i a no sg t 层。s e r i e s6 0 添加了扩展的a v k o n u i 层,基于a v k o n 和 u i k o n 库的完整应用程序套件以及第三方g u i 应用程序所使用的许多重要用户 接口和框架a p i ,如图: 越,l l 簪l f y - j l s c r i c s6 0a v k o n ( i u li t - - il 龟吵 d o s o m e t h i n g e l s e l 0 ; c l e a n u p s t a c k :p o p a n d d e s t r o y ( c l a n g e r ) ; ) 如果d o s o m e t h i n g e l s e l o 执行成功,紧跟着将把c l a n g e r 指针从清除栈中弹 出并且将其指向的内存收回。如果d o s o m e t h i n g e l s e l ( ) 异常退出了,c l a n g e r 对 象就会被清除栈销毁,整个过程都是异常退出处理过程的一部分。如果在上述代 码中没有添加有关清除栈的代码p u s h l ( c l a n g e r ) 和p o p a n d d e s t o r y ( c l a n g e r ) ,当 d o s o m e t h i n g e l s e l 0 函数发生异常退出时,c l a n g e r 指针会被销毁,那么c l a n g e r 对象所占用的内存则发生泄漏。 2 3 3 二阶段构造 首先考虑下面这行代码: c e x a m p l e 木f o o 2 n e wc e x a m p l e 0 ; 代码调用n e w 操作符,首先在存在可用内存的情况下,在堆上分配一个 c e x a m p l e 对象;然后会调用类c e x a m p l e 的构造函数初始化这个对象。如果 c e x a m p l e 的构造函数发生了异常退出,那么分配给该对象的内存和在构造函数 中分配的内存都将被遗弃【2 9 】。这种情况下,两阶段构造将会避免内存泄漏的发生。 当编写一个新类时,将构造函数的代码分为两部分或两段: ( 1 ) 一个基本不会发生异常退出的构造函数。 这个构造函数将被n e w 操作符调用。它隐式地调用基类的构造函数,还会 调用那些不会发生异常退出的函数,或者以默认值或以传入构造函数的参数来初 始化成员变量。 ( 2 ) 一个类方法( 通常叫做c o n s t r u c t l o ) 。 只要( 1 ) 中分配并构造的对象指针被压入清除栈,该方法就可以被单独调用。 它将完成对象的构造过程,并且能够安全的执行那些可能发生异常退出的操作。 如果发生异常退出,清除栈将调用析构函数来释放所有已经成功分配的资源,并 回收分配给对象本身的内存。 + 一个典型两阶段构造的类如下: c l a s sc e x a m p l e :p u b l i cc b a s e p u b l i c : 1 0 第一:章s y m b i a no s 砰发、f 台介绍 s t a t i cc e x a m p l e n e w l o ; s t a t i cc e x a m p l e 书n e w l c 0 ; c e x a m p l e o ; p r i v a t e : c e x a m p l e o ; v o i dc o n s t r u c t l 0 ; 典型的n e w l o 和n e w l c 0 实现如下: c e x a m p l e 奉c e x a m p l e :n e w l c 0 第一阶段构造 c e x a m p l e 宰m e = n e w ( e l e a v e ) c e x a m p l e 0 ; 将对象指针压入清除栈 c l e a n u p s t a c k :p u s h l ( m e ) ; 第二阶段构造 m e - c o n s t r u e t l 0 ; r e t u r n ( m e ) ; ) c e x a m p l e 幸c e x a m p l e :n e w l o c e x a m p l e m e = c e x a m p l e :n e w l c 0 ; c l e a n u p s t a c k :p o p ( m e ) ; r e t u m ( m e ) ; n e w l o 和n e w l c 0 两个函数都会返回一个完全构造的对象,唯一的不同点, 是后者对象指针留在清除栈中,使用时需要手动弹出;而前者已经将对象指针从 清除栈中清除。如果出现下列两种情况,程序会发生异常退出:无法为对象分配 足够内存;第二阶段构造函数c o n s t r u c t l 0 发生异常退出。如果第二阶段构造失 败,清除栈能够保证没有完全构造的对象被销毁,并且将其占用的内存回收。 2 3 4 活动对象 2 3 4 1 活动对象介绍 运行s y m b i a no s 的设备所拥有的资源通常比桌面p c 更有限,因而在 s y m b i a n o s 上除了要快速响应以及谨慎的处理能量消耗以外,尽量减少事件处 理代码的内存消耗和高效使用处理器资源也很重要。活动对象通过支持轻量级 的、事件驱动多任务模型来帮助实现高效程序设计。活动对象将传统的等待循环 封装到了一个类中。它们被设计成这样:在同一个线程中运行的活动对象之间切 桀 二s y m b i a no s 的信息扶取技术的研究 换的代价要比线程上下文切换代价低( 在速度上的差别可能达到l o 倍,另外一 个线程大约在内核中有4 k b 的空问开销,在用户空间有8 k b 用于程序栈的空 间丌销,而一个活动对象的大小可能只有几百个字节,甚至更小) 【2 9 】。这就使得 活动对象更适合s y m b i a no s 的事件驱动多任务。 除了上下文切换带来的运行期代价,使用抢占式多线程对于事件处理而言也 不方便,因为抢占式多线程需要通过诸如互斥体或信号量的同步原语来保护共享 对象。此外,在s y m b i a n o s 的缺省情况下,资源所有权也是线程相关的。如果 一个文件被主线程打开,那么在没有调用r s e s s i o n b a s e :s h a r e ( ) 显式共享句柄的 情况下,即使是同一进程的其他线程也无法使用该文件。由于这个限制,s y m b i a n o s 很难将多线程作为实现事件驱动多任务的一种可行方法。 在s y m b i a no s 中,活动对象相互协作并顺序的实现多任务,也不需要对共 享资源进行同步保护。另外,因为活动对象在同一个线程中运行,所以可以更容 易的共享内存和对象。尽行的,就像同一个进程中的线程一样。 然而,一旦一个活动对象在处理事件了,它就无法被另外一个活动对象的事 件处理程序所抢占( 因为虽然在一个线程内的活动对象是非抢占的协同运行的, 但在s y m b i a n o s 中它们所在的线程确实是被抢占式调度的) ,这就意味着它们 不适合实时任务。在s y m b i a no s 中,实时任务应当用高优先级线程和进程来实 现,并根据相对的实时性要求选择恰当的优先级。 2 3 4 2 使用活动对象 一个典型的s y m b i a no s 应用程序或服务器由一个单独的事件处理线程构 成,该线程运行着配合一个或多个活动对象的调度器。每个活动对象请求一个异 步服务,并在请求过了一段时间后才会处理相应的完成事件。同时它也提供一种 撤销请求的方法,还有异常情况下的错误处理【2 9 】。使用活动对象的步骤如下: ( 1 ) 构造 一个活动对象类必须派生自c a c t i v e 类,从c a c t i v e 派生的类必须调用基 类中的作为保护成员的构造函数,并传递一个参数来设置活动对象的优先级。活 动对象代码应当对活动调度器调用一个静态函数c a c t i v e s c h e d u l e r :a d d 0 。这可 以将对象加入到那个线程中事件处理活动对象的调度器所维护的列表中。 ( 2 ) 提交请求 1 2 第_ 二章s y m b i a no s 开发f 弁介缗 首先检查确认在试图提交一个请求之前没有请求已经被提交,每个活动对象 只能够有一个当前的请求。 然后活动对象向服务器提供者发送请求,传入其t r e q u e s t s t a t u s & 类型的 i s t a t u s 成员变量作为参数。 最后如果请求被成功提交,请求方法将调用c a c t i v e 基类中的s e t a c t i v e o 方 法,从而向活动调度器表明请求应经被提交。 ( 3 ) 事件处理 每个活动对象必须实现c a c t i v e 基类的纯虚成员函数r u n l o ,当来自异步 服务提供者的完成事件发生,且活动调度器选择了活动对象处理该事件时,它就 会在活动对象上调用r u n l o 。 ( 4 ) 撤销 如果j 下在运行的应用程序线程想要中止,那么活动对象必须能够撤销任何选 定的、自己产生的异步请求。c a c t i v e 基类实现了一个c a n c e l ( ) 方法,该方法调 用纯虚方法d o c a n c e l 0 ,活动对象的派生类通过实现d o c a n c e l 0 来进行撤销工 作。1 2 3 5 客户端服务器框架 2 3 5 1 客户端服务器框架的意义 一个客户要使用服务器提供的服务。服务器接受来自客户的请求消息并同步 或异步的处理它们。数据可以通过请求信息本身从客户传递给服务器,或者通过 客户地址空间中的描述符指针来传递,此时服务器可以使用内核中介的数据传输 来访问这些数据【2 9 】。在s y m b i a no s 中,服务器通常用来管理对系统资源和服务 的共享访问。使用服务器是高效的,因为它可以服务多个客户会话,并且可以并 发地被运行于不同线程的客户所访问。服务器也保护了系统的完整性,因为它可 以确保资源在客户间恰当的共享,并且确保所有客户都正确地使用资源。 当服务器运行在它自己的进程中时,它具有一个单独的、隔离的地址空间, 并且只通过定义良好的接口来访问正在获取服务的客户。通过将服务器放在一个 单独的进程中,系统可以保证具有不良行为的客户无法破坏它正在操作的但是由 服务器管理的资源或者其他客户的资源。s y m b i a no s 就是利用这个原理来保护 文件系统的,所有对基于文件的数据访问都必须通过文件服务器的客户e f s r v d u 雉 二s y m b i a no s 的信息扶取技术的研究 或者通过更高层的、使用到文件服务器客户的组件( 例如,流存储e s t o r d 1 1 ) 来 完成。 服务器也可以用来提供异步服务,因为它们运行在与其客户分离的线程中。 s y m b i a n o s 的大多数系统服务,尤其是那些提供异步功能的服务,都是用客户 端服务器框架加以支持的:例如窗口服务器( 用来访问u i 资源,诸如屏幕和 键盘) 、串行通信服务器( 用于访问串口) 和电话服务器。 2 3 5 2 客户端与服务器如何通信 一个客户和一个服务器运行于不同的线程中,甚至通常处于不同的进程中。 例如把系统的客户端( 前台管理程序) 和服务器( 后台实时监控程序) 设计为两 个应用程序,它们运行在不同的进程中。当运行于不同进程时,它们无法互相访 问彼此的虚地址空间,所以它们使用消息传递协议来进行通信【2 9 】。这种通信的渠 道称为会话,会话是由内核创建的,同时内核还在所有的客户端服务器通信中 充当媒介。 当客户消息对服务器提交请求时,就会发生客户端服务器通信,这个消息 标识了请求的实质,并且还可以额外包含一些参数数据。这些额外的参数数据在 介绍r m e s s a g e 类时详细讲解。 2 4 本章小结 本章首先讲解了s y m b i a n 操作系统的系统结构与主要特点,以及各个用户 接口平台的相关知识;接着详细解析了本文研究工作所基于的用户接口平台: s e r i e s6 0 开发平台的平台结构等相关知识;最后重点解析了s y m b i a n 操作系统下 智能手机开发的几个关键技术:异常退出、清除栈、二阶段构造、活动对象、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三年级信息技术上册 第5课 我画我家教学设计 粤教版
- 人教精通版英语三年级下册 Lesson 19 教案
- 二年级上册心理健康教案-17《学会观察》 北师大版
- 七年级人教版上册第四单元 第一课 美国政治的心脏华盛顿教学设计 4
- 二年级下册铅笔有多长教案及反思
- 财务制度和报销流程培训
- 九年级英语下册 Unit 6 Entertainment and Friendship Topic 3 I will remember our friendship forever Section A教学设计1 (新版)仁爱版
- 初中作文-写作技巧教案
- 人教版七年级下册历史第7课《辽、西夏与北宋的并立》教学设计
- 二年级语文下册 第四单元 9 枫树上的喜鹊教学设计 新人教版
- 2024年全国中学生生物学联赛试题含答案
- 数独题目高级50题(后附答案)
- 深圳市失业人员停止领取失业保险待遇申请表样表
- JIS G4305-2021 冷轧不锈钢板材、薄板材和带材
- 中国联通消防安全管理规定
- 一课一练21:关联速度模型(答案含解析)—2021届高中物理一轮基础复习检测
- GB∕T 10781.11-2021 白酒质量要求 第11部分:馥郁香型白酒
- T∕CCT 002-2019 煤化工 副产工业氯化钠
- 学习通《商业计划书的优化》章节测试附答案
- 捐赠意向书模板
- “三会一课”记录表(样表).doc
评论
0/150
提交评论