(计算机应用技术专业论文)基于嵌入式linux的pda系统研究.pdf_第1页
(计算机应用技术专业论文)基于嵌入式linux的pda系统研究.pdf_第2页
(计算机应用技术专业论文)基于嵌入式linux的pda系统研究.pdf_第3页
(计算机应用技术专业论文)基于嵌入式linux的pda系统研究.pdf_第4页
(计算机应用技术专业论文)基于嵌入式linux的pda系统研究.pdf_第5页
已阅读5页,还剩73页未读 继续免费阅读

(计算机应用技术专业论文)基于嵌入式linux的pda系统研究.pdf.pdf 免费下载

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

文档简介

中文摘要 摘要 在当前的电子信息技术和网络技术高速发展的后p c 时代,嵌入式系统已经 广泛地渗透到科学研究、工程设计、军事技术、商业文化艺术、娱乐业以及人们 日常生活中的方方面面。与此同时,采用l i n u x 作为嵌入式操作系统已成为p d a 技术发展的方向。因此,对嵌入式l i n u x 的p d a 研究具有非常重要的意义。 本文首先分析了p d a 的定义、起源和未来的发展趋势。此后,在深入研究嵌 入式系统的基础上,针对l i n u x 实时性的缺陷和p d a 实时性的要求,提出了对 l i n u x 的内核改造。通过综合分析比较,最后选择r t l i n u x 进行理论研究和分析, 并进行实时性能的测试。对于p d a 系统设计上,采用了分层设计思想,使系统开 发更加简洁和实用。同时,为使系统上看到p c 机上美观的g u i ,采用q t 作为 图形用户界面系统。具体分析了q t 的原理和机制,并对q t 的具体设计运用进 行讨论。在程序设计中对p d a 网络拨号进行关键讨论和设计。 最后,本文对未来p d a 需要改进和发展的方向进行了探讨。 关键字:嵌入式l i n u x ;p d a ;0 t ;实时性;网络拨号 英文摘要 p d a s y s t e mr e s e a r c hb a s e d o ne m b e d d e dl i n u x a b s t r a c t i nt h ea g eo fp e r v a s i v ec o m p u t i n gw i t ht h er a p i dd e v e l o p m e n to ft h ep r e s e n t e l e c t r o n i ct e c h n o l o g ya n dn e t w o r kt e c h n o l o g y ,t h ee m b e d d e ds y s t e mh a sa l r e a d y p e n e t r a t e di n t oa l lf i e l d s ,s u c ha ss c i e n t i f i cr e s e a r c h , e n g i n e e r i n gd e s i g n , m i l i t a r y t e c h n o l o g y ,c o r n n l e r c ec u l t u r ea r ta n dp e o p l e sd a i l yl i f e a tt h e $ a n l et i m e ,t h es y s t e m b a s e d0 1 1e m b e d d e dl i n u xh a sb e c o m et h et e c h n i c a ld i r e c t i o no fp d a t h e r e f o r e t h e g r e a ts i g n i f i c a n c es h o u l db ep u to nt h em s e a r c ho f e m b e d d e dl i n u xp d as y s t e m n l ep a p e rf i r s t l ya n a l y z e st h ep d a sd e f i n i t i o n , o r i g i na n df u t u r ed e v o l p m e n t t r e n d ,a f t e rt h i s , o nt h eb a s eo ft h em s e 盯c hd e e p l ya b o u tt h ee m b e d d e ds y s t e m , c o m b i n i n gt h ed e f i c i e n c yi nr e a l - t i m ec h a 矗呦o f l i n u xa n dt h ed e m a n do fr e a l - t i m e f e a t u r eo fp d a ,t h ew r i t e rp u t sf o r w a r dt h ep e r c e p to fr e f o r m i n gt h ei n n e r - c o r eo f l i n u x ,t h ep a p e ra d o p t st h em u l t i l a y e rd e s i g nt h i n k i n go nt h ep d a s y s t e md e s i g ni n o r d e rt om a k et h es y s t e md e v e l o p m e n tm o r ec o n c i s ea n du s e f u l a tt h es a m et i m e f o r t h es a k eo fh a v i n gt h eh a n d s o m eg r a p h i c su s e ri n t e r f a c ei nt h ee m b e d d e ds y s t e m ,t h e p a p e ra d o p t sq t a st h eg r a p h i c su s e ri n t e r f a c e t h e n ,t h ep a p e rg i v e so u ti t sa n a l y s i s o nt h et h e o r y ,m e c h a n i s m ,d e s i g na n da p p l i c a t i o no fq ti nd e t a i l sa sw e l l 嬲t h em a i n d e s i g na n dd i s c u s s i o no f t h en e t w o r kd i a l u po f p d a i nt h ee n d , t h ep a p e ri n t r o d u c e st h ep o i n t st ob ei m p o v e da n dd e v e l o p e da b o u t p d a k e yw o r d s :e m b e d d e dl i n u x ;p d a ;q t ;r e a l t i m e ;n e t w o r kd i a l u p 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成硕士学位论文! 基王毖厶式l i 噬的里坌丕统班塞:。除论文中已经 注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以明 确方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开发表 或未公开发表的成果。 本声明的法律责任由本人承担。, 敝储签钰秒暂曙3 月潍 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。 保密口,在 年解密后适用本授权书。 本学位论文属于:保密口 、 不保密蚴在以上方框内打“”) 一缝睇蔫碧鸽 基于嵌入式l i n u x 的p d a 系统 第1 章绪论 1 1 论文研究背景 1 1 1p d a 发展 1 什么是p d a p d a 是p e r s o n a ld i g i t a la s s i s t a n t 的缩写,字面意思是“个人数字助理”。这 种手持设备集中了计算,电话,传真和网络等多种功能。它不仅可用来管理个人 信息( 如通讯录,计划等) ,更重要的是可以上网浏览,收发e m a i l ,可以发传 真,甚至还可以当作手机来用。尤为重要的是,这些功能都可以通过无线方式实 现。当然,并不是任何p d a 都具备以上所有功能:即使具备,也可能由于缺乏相 应的服务而不能实现。但可以预见,p d a 发展的趋势和潮流就是计算、通信、网 络、存储、娱乐、电子商务等多功能的融合。 2 p d a 的分类 p d a 其实应该细分为电子词典、掌上电脑、手持电脑设备和个人通讯助理机 四大类。而后两者由于技术和市场的发展,已经慢慢融合在一起了 ( 1 ) 电子词典 在所有的p d a 类产品中,这是最简单的一款。它主要的功能是提供了中英文 互译、电话号码存储、英语单词朗读等,它的特点就是其所有的程序都是固化在 存储器上,因而存储能力有限,功能也比较单一且不具有扩充性。但这些产品也 有其不可比拟的优势。如它们针对性比较强,提供了所需的功能,如游戏、计算、 记事等。另外,它也有体积小,操作简单等特点。 ( 2 ) 掌上电脑 掌上电脑是一种可以拿在手掌上、装在口袋里的电脑。较专业的说法就是一 种基于嵌入式系统的小型个人微机产品。虽然也称作电脑,但掌上电脑的结构和 我们通常使用的台式电脑不同,虽然可以进行数据交换,但没有直接的兼容性。 掌上电脑的自身特点是小巧、功能丰富,具有记事簿、计算器、备忘录等多种功 能。 第1 章绪论 ( 3 ) 手持电脑设备 手持电脑设备的英文名称叫h p c ,即h a n dh o l dp c 的意思。这是一种介于 笔记本电脑和掌上电脑之间的产品。其外型则类似于传统的笔记本电脑。它的功 能要比掌上电脑强大,但同样的体积和重量也要增加,所以在便携性能上较掌上 电脑差。 ( 4 ) 个人通讯助理机 个人通讯助理机在这么多类产品中是显得最时尚的一种。它的概念就是将掌 上电脑的一些功效和手机、寻呼机相结合而产生的。这种产品的最大特点就是其 舍弃了一般的电话线而采用无线的数据接收方式,目前基于w i n c e 和p a l m 系统 开发的产品,统称s m a r t p h o n e ,其功能与掌上电脑持平或更高,而且还拥有通讯 功能和无线数据交换,更代表将来掌上电脑的发展方向。 3 p d a 发展趋势 ( 1 ) 开拓“无线”天空 由于移动通讯和移动商务的市场需求不断增加,p d a 的一个重要发展趋势就 是强调在无线状态下的沟通能力。 ( 2 ) 整合“多媒体”功能 p d a 特别是新型的掌上电脑将必然整合许多功能,除了无线互联网接入、连 接企业局域网外,还将包括笔输入、语音输入、数码图片和音乐的获得和处理, 满足个性化、娱乐化需求等。 ( 3 ) 市场障碍依然存在 p d a 的前景尽管诱人,但市场障碍依然存在。目前的p d a 还存在体积较大、 耗电量多、增加成本等问题。因此,未来急需解决的是如何推出将性能、价格和 外形等因素很好结合的产品。 1 1 2 嵌入式系统应用 1 嵌入式系统概念 嵌入式系统( e m b e d d e d s y s t e m ) 是以应用为中心,以计算技术为基础的,并且 软硬件时可裁剪的,适应应用系统对功能、可靠性、成本、体积、功耗等严格要 基于嵌入式l i n u x 的p d a 系统 求的专用计算机系统【l 】o 2 嵌入式系统的特点【2 】 ( 1 ) 系统内核小。由于嵌入式系统一般是应用于小型电子装置,系统资源相 对有限,所以内核较之传统的操作系统要小得多。 ( 2 ) 专业性强。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非 常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中 也需要根据系统硬件的变化和增减不断进行修改。同时,针对不同的任务,往往 需要对系统进行较大更改;程序的编译下载要和系统相结合,这种修改和通用软 件的“升级”是完全不同的概念。 ( 3 ) 系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要 求其功能的设计及实现过于复杂,这样一方面利于控制系统成本,同时也利于实 现系统安全。 ( 4 ) 高实时性。高实时性是嵌入式软件的基本要求。而且软件要求固化存储, 以提高速度。软件代码要求高质量和高可靠性。 ( 5 ) 专门的开发工具和环境。由于嵌入式系统本身不具备自主开发能力,即 使设计完成以后,用户通常也不能对其中的程序功能进行修改,因此必须有一套 开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬 件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的 概念,主机用于程序开发,目标机作为最后的执行机,开发时需要交替结合进行。 3 嵌入式系统的分类 由于嵌入式系统由硬件和软件两大部分组成,所以其分类也可以从硬件和软 件进行划分。 ( i ) 嵌入式系统的硬件 从硬件方面来讲,嵌入式系统的核心部件是嵌入式处理器。嵌入式处理器分 为4 类,即嵌入式微处理器( m i c r o p r o c e s s o ru n i t ,m p u ) 、嵌入式微控制器 ( m i c r o c o n t r o l l e r u n i t ,m c u ) 、嵌入式d s p 处理器( d i g i t a ls i g n a l p r o c e s s o r ,d s p ) 和嵌入式片上系统( s y s t e mo nc h i p ,s o c ) 。 第l 章绪论 近年来嵌入式微处理器的主要发展方向是小体积、高性能、低功耗。 ( 2 ) 嵌入式系统的软件 嵌入式系统的软件一般由嵌入式操作系统和应用系统软件组成。嵌入式操作 系统可分为实时操作系统和分时操作系统两类。实时操作系统是指具有实时性, 能支持实时控制系统工作的操作系统。分时操作系统是指有当多个进程同时使用 一个处理器时,处理器可以轮流处理各自的请求,就好像每个进程独自占有处理器 一样。 4 ,嵌入式系统的应用领域 嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括: 工业控制 交通管理 信息家电 家庭智能管理系统 p o s 网络及电子商务 环境监测 机器人 除了以上这些应用领域,嵌入式系统还有其他方面的应用。嵌入式系统已经 进入到现代社会中人们生活的方方面面,尤其是在控制方面的应用。就远程加电 控制而言,除了开发出支持t c p i p 的嵌入式系统之外,家电产品的控制协议也需 要制订和统一,这需要家电生产厂家来做。同样的道理,所有基于网络的远程控 制器件都需要与嵌入式系统之间实现接口,然后再由嵌入式系统来控制并通过网 络实现。所以,开发和探讨嵌入式系统有着十分重要的意义。 1 2 论文研究意义 嵌入式操作系统的引入改变了嵌入式系统的开发方式,加快了嵌入式系统的 开发速度,提高了代码的可用性与可扩展性。同时,作为嵌入式系统中的重要产 品p d a ,也随着嵌入式操作系统的发展而不断提高。近年来p d a 市场竞争极 基于嵌入式l i n u x 的p d a 系统 其激烈,国内的p d a 厂商要想在市场上立于不败之地,必须加大自主知识产权产 品和技术的开发,以降低生产成本,在极小化生产成本的同时极大化扩展应用性 能,在竞争中获得主动位置i 同时也迫切需要在系统和功能扩展上进行改进。 1 3 国内外研究现状 从2 0 世纪8 0 年代开始,市场上出现了各式各样的嵌入式搡作系统,这些操 作系统大部分都是为专有系统开发的,并逐步演变成了现在多种形式的嵌入式操 作系统。这些操作系统主要有p a l mo s 、w i n d o w sc e 和l i n u x 等。 p a l mo s 在研发之初受到硬件的限制,因此在整体的设计理念上以简单、实 用为出发点,强调的重点是使用功能与使用经验值的平衡。在这种思想的指导下, 以同时满足最高的使用经验值并具备最实用的功能自然成为了p a l m o s 的特色。 p a l mo s 的另一个特点是操作系统体积小,并且具备上万个共事软件,可以满足 使用者的需求,但由于精简设计与强调效率化,使得p a l mo s 早期在多媒体功能 与信息兼容性上的表现较其它操作系统较弱。 随着p d a 市场的发展,全球操作系统软件制造商微软公司当然也不会缺席。 微软在1 9 9 8 年推出的w i n d o w sc e 就是专为p d a 产品设计的操作系统,可以说 w i n d o w sc e 最大的特色就是桌面型w i n d o w s 操作系统的缩小版本,它在数据的 传输上可拥有与现有p c 机绝对的兼容性,并且为了提升竞争力,微软特别在 w i n d o w sc e 操作系统中加入简易版的o f f i c ew o r d 与o f f i c ee x c e l ,使用户在p c 机上的使用习惯可以顺利地延续到w i n d o w sc e 上。然而w i n d o w sc e 除了将 w i n d o w s 操作系统的优点传承下来之外,同时也将w i n d o w s 体积庞大、开机及运 算速度缓慢的缺点反映在p d a 上,为此微软在市场上吃了不少的苦头,市场占有 率远远的被p a l mo s 抛在后面。 而嵌入式l i n u x 操作系统自1 9 9 1 年发展以来,在开放原始码及自由软件的 理念之下,不断的快速发展,俨然成为微软的劲敌。由于l i n u x 的稳定性及灵活 度都优予目前现有的操作系统,自然成为硬件厂商新选择。另一方面,以l i n u x 操 作系统为基础的p d a 拥有成本低廉、开发弹性高的特性,可将现有数以千计的 第l 章绪论 l i n u x 应用软件转换成l i n u x p d a 所使用的软件,若再加上目前为l i n u x 开发软 件的速度来看,要与p a l mo s 上万的应用软件并驾齐驱将不是一件难事。因此在 如此强大的软件支持下,相信除了目前市面上少数的几款l i n u xp d a 外,将来会 有更多的p d a 厂商加入l i n u x 中。 1 4 主要研究内容和所作的工作 1 研究内容: 在深入研究嵌入式系统的基础上,结合l i n u x 实时性的缺陷和p d a 实时性的 要求,对嵌入式l i n u x 的p d a 系统进行研究并加以改进,设计并实现一个具有良 好扩展能力的系统软件。在此基础上,设计并开发相应的扩展模块。 2 所作工作: ( 1 ) 构建嵌入式l i n u x 的p d a 系统软硬件平台。 ( 2 ) 操作系统实时化改造。 ( 3 ) 嵌入式系统的设计。 ( 4 ) 应用软件的开发。 基于嵌入式l i n u x 的p d a 系统 第2 章实时操作系统及图形用户界面 2 1 实时操作系统 2 1 1 实时操作系统的介绍 实时操作系统r t o s ( r e a lt u n eo p e r a t i o ns y s t e m ) 是指一个能够在定制的时 间范围内完成特定的功能或者对外部的异步事件做出响应的操作系统。其操作的 正确性不仅依赖于逻辑设计的正确程度,而且跟这些操作进行的时间有关。“在确 定的时间内”是这个定义的核心。也就是说,实时系统是对响应时间有严格要求 的。 实时系统对逻辑和时序的要求非常严格,如果逻辑和时序出现偏差将会引起 严重的后果。实时系统通常可分为两类:软实时系统和硬实时系统。软实时系统仅 要求事件响应是实时的,并不要求限定某一任务必须在多长时间内完成;而硬实 时系统中,不仅要求任务响应要实时,而且要求在规定的时间内完成事件的处理。 通常,大多数实时系统是软、硬结合的。实时应用软件的设计一般比非实时应用 软件设计要困难一些。实时系统的技术关键是要保证系统的实时性。 实时操作系统具有如下的功能:任务管理( 多任务和基于优先级的任务调度) ; 任务间同步和通信( 信号量和邮箱等) ;存储器优化管理( 含r o m 的管理) ;实时 时钟服务;中断管理服务。实时操作系统具有如下的特点:规模小;中断被屏蔽 的时间很短,中断处理短;任务切换很快【3 】。 实时操作系统可分为可抢占型和不可抢占型两类。对于基于优先级的系统而 言,可抢占型实时操作系统是指内核可以抢占正在运行任务的c p u 使用权,并将 其使用权交给进入就绪态的优先级更高的任务,是内核抢了c p u 让别的任务运 行。而不可抢占型实时操作系统使用某种算法并决定让哪个任务运行后,就把 c p u 的控制权完全交给了这个任务,直到这个任务主动将c p u 控制权还回来。 中断由中断服务程序来处理,中断可以激活一个休眠态的任务,使之进入就绪态; 而这个进入就绪态的任务还不能运行,要等到当前运行的任务主动交出c p u 的控 制权。使用这种实时操作系统实时性比不使用实时操作系统的系统好很多,它的 第2 章实时操作系统及图形用户界面 实时性取决于最长任务的执行时间。不可抢占型实时操作系统的缺点也恰恰是这 一点,如果最长任务的执行时间不能确定,系统的实时性就不能确定。 可抢占型实时操作系统的实时性最好,优先级高的任务只要具备了运行的条 件,或者说进入了就绪态,就可以立即运行。除了优先级最高的那个任务,其它 任务在运行过程中都随时可能被比它优先级高的任务中断,而中断它的任务先运 行。通过这种方式的任务调度保证了系统的实时性;但是,如果任务之间抢占c p u 控制权处理不好,会产生系统死锁、崩溃等严重后果。 嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其是在功能 复杂、系统庞大的应用中显得愈来愈重要。 首先,嵌入式实时操作系统提高了系统的可靠性。在控制系统中,出于安全 方面的考虑,要求系统起码不能崩溃,而且还要有自愈能力。不仅要在硬件设计 方面提高系统的可靠性和抗干扰性,而且也应在软件设计方面提高系统的抗干扰 性,尽可能地减少安全漏洞和不可靠的隐患。长期以来的前后台系统软件设计在 遇到强干扰时,使得运行的程序产生异常、出错、跑飞,甚至死循环,造成了系 统的崩溃。而实时操作系统管理的系统,这种干扰可能只是引起若干进程中的一 个被破坏,可以用通过系统运行的系统监控进程对其进行修复。通常情况下,这 个系统监视进程用来监视各进程运行状况,遇到异常情况时采取一些利用于系统 稳定可靠的措施,如把有问题的任务消除掉。 其次,嵌入式实时操作系统提高了开发效率,缩短了开发周期。在嵌入式实 时操作系统环境下,开发一个复杂的应用程序,通常可以按照软件工程中的分解 原则将整个程序分解为多个任务模块。每个任务模块的调试、修改几乎不影响其 它模块。商业软件一般都提供了良好的多任务调试环境。 再次,嵌入式实时操作系统充分发挥了3 2 位c p u 的多任务潜力。不仅3 2 位c p u 比8 位、1 6 位c p u 快,而且3 2 位c p u 本来就是为运行多用户、多任务 操作系统而设计的,特别适于运行多任务实时系统。3 2 位c p u 采用利于提高系 统可靠性和稳定性的设计使其更容易做到不崩溃。例如,c p u 运行状态分为系统 态和用户态:将系统堆栈和用户堆栈分开;实时地给出c p u 运行的状态等。允许 基于嵌入式l i n u x 的p d a 系统 用户在系统设计中从硬件和软件两方面对实时内核的运行实施保护如果还是采 用以前的前后台方式,则无法发挥3 2 位c p u 的优势。 从某种意义上说,没有操作系统的计算机( 裸机) 是没有用的。在嵌入式应用 中,只有把c p u 嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机 嵌入式应用。 2 1 2 实时操作系统评价标准 下面将从实时性、可靠性与故障容错、标准兼容性等几个实时系统所关注的 主要问题来对实时操作系统进行分析和评价【1 0 l 。 1 实时性 实时性是嵌入式实时操作系统的一个非常重要的特性,同时也是选择嵌入式 实时操作系统时需要首先衡量的个重要指标。目前主要包括: ( 1 ) 可抢占式内核 可抢占内核设计是指高优先级任务可以抢占低优先级任务的执行,即使低优 先级任务正在执行操作系统内核代码。通过这种方式,最高优先级的任务一旦就 绪,总能很快得到c p u 的控制权,从而增强系统响应的实时性。 ( 2 ) 系统调度策略 任务调度策略是直接影响系统实时性的一个重要因素。强实时系统和准实时 系统的实现区别主要在选择调度算法上。选择基于优先级调度的算法足以满足准 实时系统的要求,而且可以提供高速的响应和大的系统吞吐率。 ( 3 ) 任务优先级分配和优先级反转 在基于优先级调度的实时系统中,每个任务都有其优先级。任务越重要,赋 予的优先级应越高。应用程序执行过程中各任务优先级不变,则称之为静态优先 级。反之,应用程序执行过程中,任务的优先级是可变的,则称之为动态优先级。 优先级反转是指一个任务等待比它优先级低的任务释放资源而被阻塞,如果这时 有中等优先级的就绪任务,阻塞会进一步恶化,严重影响了实时任务的完成。目 前解决优先级反转的措施有两种:优先级继承和优先权极限。 ( 4 ) 执行时间的确定性 第2 章实时操作系统及图形用户界面 系统执行某项任务或者对外界信号的反应是否能在一个确定的时间段内完 成,这个时间最大是多少,是衡量一个实时系统性能的重要指标。强实时操作系 统的函数调用与服务的执行时间应具有可确定性,系统服务的执行时问不依赖于 应用程序任务的多少,系统完成某个确定任务的时间是可预测的。 除了以上四点外,作为实时操作系统最重要的指标实时性,其衡量还包括如 下三点: 1 ) 任务切换时间:当多任务内核决定运行另外的任务时,它把正在运行任务 的当前状态( 即c p u 寄存器中的全部内容) 保存到任务自己的栈区之中,然后把下 一个将要运行的任务的当前状态从该任务的栈中重新装入c p u 的寄存器,并开始 下一个任务的运行,这个过程就称为任务切换。而任务切换所需要的时间取决于 c p u 有多少寄存器要入栈。c p u 的寄存器越多,额外负荷就越重。 2 ) 中断响应时间:系统接收到中断信号到操作系统作出响应,并完成切换转 入中断服务程序的时间。对于可抢占式内核,要先调用一个特定的函数,该函数 通知内核即将进行中断服务,使得内核可以跟踪中断的嵌套。可抢占式内核的中 断响应时间计算公式为; 中断响应时间= 关中断的最长时间+ 保护c p u 内部寄存器的时间+ 进入中断服 务函数的执行时间+ 开始执行中断服务例程( i s r ) 的第一条指令时间 3 ) 定时器精度:在实时系统中,有一部分任务需要通过定时器触发来完成。 在这种情况下系统所能够提供的定时器精度就显得非常关键。一般来说,定时器 精度与操作系统所采用的技术和系统的硬件特征都有关系。 2 可靠性和容错能力 在大多数安全关键的实时系统中,可靠性是衡量和选择实时操作系统的另一 个重要因素。可靠性包含两个方面: ( 1 ) 系统平均无故障时间大,也就是系统基本上不出现故障。 ( 2 ) 在系统一旦出现故障的情况下,操作系统能够提供快速恢复机制,从而 避免灾难性后果的发生。 3 p o s 兼容性 基于嵌入式l i n u x 的p d a 系统 目前嵌入式实时操作系统数目众多,就应用比较广泛的来看也有几十种之多。 在不同系统上开发的应用软件是否可以相互移植、移植的工作量有多大是用户最 为关注的问题之一为了达到方便移植,软件重用的目的,实时操作系统必须具 有大致相同的系统服务,以及兼容的应用编程接口。基于这种原因,针对操作系 统的标准化工作在几十年前就已经开始。在这些标准中,目前有一部分已经得到 广泛应用和支持,比如p o s i x 标准、u l t r o n 标准和o s e k v d x 标准等。 o s e l d x 标准是从欧洲发展而来的针对汽车工业的嵌入式实时操作系统标准。 u l t r o n 标准主要由日本几家公司提出来。p o s i x 标准则是从传统u n i x 发展而 来的一种开放系统标准。相比而言,p o s i x 标准应用范围更广,目前支持p o s i x 标准的嵌入式操作系统也比较多。 如果实时操作系统提供p o s i x 标准兼容的应用编程接口,贝应用p o s i x 接 口风格编写的应用软件可以在这些实时操作系统之间方便的进行移植。目前应用 比较广泛的实时操作系统大都提供对p o s i x 标准的部分或全部支持,在本文后面 将要讨论的实时操作系统特性对比中,p o s i x 标准兼容性将作为一个重要的对比 分析要素。 2 2 图形用户界面 2 ,2 1 图形用户界面介绍 所谓g u i ( g r a p h i c su s e ri n t e r f a c e ) 就是图形用户界面,是指计算机与其使 用者之间的对话接口,是计算机系统的重要组成部分。 一个图形用户界面系统通常由三个基本层次组成,即显示模型、窗口模型和 用户模型。用户模型包含了显示和交互的主要特征。如图2 1 给出了图形用户界 面系统的结构。 第2 章实时操作系统及图形用户界面 桌面管理系统 用户模型 窗口模型 显示模型 操作系统 硬件平台 图2 1 图形用户界面系统的结构 f i g 2 1o l r ls y s t e ms t r u c t t u e 2 2 2 嵌入式系统g u l 简介 我们时常在p c 机上看到w i n d o w s 图形用户界面,以及l i n u x 上的k d e 、 g n o m e ,这些图形用户界面美观且方便用户操作,功能全面。嵌入式系统经常 有一些特殊的要求,而这些要求普通的p c 机上的图形窗口系统是不能满足的。 比如特殊的外观效果,控制提供给用户的函数,提高装载速度,特殊的低层图形 或输入设备。因此,嵌入式系统必定要有自己的图形用户界面。嵌入式图形用户 界面就是在嵌入式系统中为特定的硬件设备或环境而设计的图形用户界面系统。 所以嵌入式g u i 不但要有g u i 的特征,在实际应用中,嵌入式系统对它来说还 有如下的基本要求:占用资源少、高性能、高可靠性、可配置。 嵌入式系统往往是一种定制设备,它们对图形用户界面的需求也各不相同。 有的系统只要求些图形功能,而有些系统要求完备的g u l 支持。因此很多嵌 入式系统需要自己特定的嵌入式图形用户界面。下面,将简要介绍常见的嵌入式 系统的g u i : ( 1 ) m i i l i g u i m i n i g u i 是l i n u x 控制台上运行的,基于s v g a l i b 和l i n u x t h r e a d 库的多窗 口图形用户界面支持系统。m i n i g u i 采用了类w i n 3 2 的a p i 接口,实现了简化的 类g r m d o w s9 8 风格的图形用户界面。m i n i g u i 也是一个窗口系统,它的主要组 成元素是窗1 2 1 ,在这个基础上m i n i g u i 中的窗口可以基本分四类,分别为主窗e 1 、 对话框、控件和主窗口中的窗片。m i n i o u i 中的主窗1 2 i 和w i n d o w s 应用程序的主 基于嵌入式l i n u x 的p d a 系统 窗口概念类似,m i n i g u i 中的每个主窗口对应于一个单独的线程,通过函数调用 可建立主窗口以及对应的线程。每个线程有一个消息队列,主窗口从这一消息队 列中获得消息并由窗口过程( 回调函数) 进行处理。m i n i g u l 的目标是保持现有 的小巧的特点,在l i n u x 控制台上提供一个小的窗口系统支持,“小”是m i n i g u i 的特色,同时m i n i g u i 又将尽力与微软的m s w i n d o w sa p i 保持兼容这么定位 是希望m i n i g u i 可以在未来以l i n u x 为基础的应用平台上提供一个简单可行的 g u l 支持系统,让m i n i g u i 可以应用在w i n d o w sc e 可以应用的任何场合。 ( 2 ) m i c r o w i n d o w s m i c r o w i n d o w s 是一个开放源代码项目,目前由美国一家公司在主持开发。 该项目的开发非常活跃,国内也有人参与了其中的开发,并编写了g b 2 3 1 2 等字 符集的支持。它主要特色在于提供了比较完善的图形功能,包括一些高级的功能, 比如a l p h a 混合,三维支持,t r u e t y p e 字体支持等。它使得那些只有在具有相 当的硬盘和r a m 配置的高端w i n d o w s 系统才能实现的窗口系统,如m i c r o s o r w i n d o w s 和xw i n d o w s ,可以在嵌入式这类设备上运行。m i c r o w i n d o w s 能够在 没有任何操作系统或其他图形系统的支持下运行,它能对裸显示设备进行直接操 作。它拥有w i n 3 2 编程接口,便于熟悉w i n d o w s 开发的用户进行开发,不过接 口不够完善。 ( 3 ) q t e m b e d d c d q t 是一个多平台的c h 图形用户界面应用程序框架。它提供给应用程序开发 者建立艺术级的图形用户界面所需的所用功能。q t 是完全面向对象的很容易扩 展,并且允许真正地组件编程。稍后将作重点介绍。 三种主流嵌入式g u i 的比较: m i n i g u i 的策略是首先建立在比较成熟的图形引擎之上,比如s v g a l i b 和 l i b g g i ,开发的重点在于窗口系统如图形接口。在m i n i g u i 的开发中,引入了图 形抽象层和输入抽象层( g a l 和i a l ) 的概念。利用g a l 和i a l ,m i n i g u i 才 可以在多种图形引擎上运行,并且便于移植。它尽量保持与w i n 3 2 的兼容,这样 在w i n c e 应用的任何场合,也可以使用m i n i g u i 。 第2 章实时操作系统及图形用户界面 m i c r o w i n d o w s 目前的开发重点则在底层的图形引擎,窗口系统和图形接口方 面的功能还比较欠缺。但是它能够在没有任何操作系统或其他图形系统的支持下 运行,它能够对裸显示设备进行直接操作,因而显得十分小巧,便于移植到各种 硬件和软件系统上。最上层的a p l 支持w i i l 3 2 和n a n ox 接口,这样就与w i n 3 2 和x w i n d o w 窗口系统保持了兼容,在这些系统间移植应用软件就很容易了。 q t e m b e d d e d 是一个多平台的c + + 图形用户界面应用程序框架,它注重于能 给用户提供精美的图形用户界面所需要的所有元素。而且它是基于一种面向对象 的思想,所以用户对其对象的扩展是相当容易的,而且它还是支持真正的组件编 程。 另外,这些g u i 系统所使用的授权条款也各有不同。m i n i g u i 、m i c r o w i n d o w s 和q t e m b e d d e d 均为自由软件,只是所遵循的条款不同。 g u i 的详细性能比较如表2 1 所示: 基于嵌入式l i n u x 的p d a 系统 表2 1 用户图形界面性能比较 t a b 2 1g u ip e r f o r m a n c ec o m p a r i s o n m i n i g u im i c r o w i n d o w sq t f b e d d e d 授权条款 l g p l肝l l g p lg p l ( 2 2 以后版本) v o p l i n t e lx 8 6 、a r m 、 i n t e lx 8 6 、a r m 、m i p s 、对系统硬件需求比较高, 己知能运行的硬 p p c 、舡p s 、 s t r o 日l g a r m 。一般采用s t r o n g a r m ,主 件平台s t r o n g a p 理, 主频最低需7 0 m h z频最低需1 0 0 m i l z 主频最低需3 0 姗z i o m i p s 以上,8 蛐3 0 m i p s 以上,1 6 m b 2 0 0 m i p s 以上,1 6 m b 典型系统配置 f l a s h 。1 6 惦r a mf l a s h ,1 6 m br 枷f l a s h ,3 2 髓r a m 系统资源消耗小较小最大 函数库容量 5 0 0 k b6 0 0 k b1 5 0 0 k b 对操作系统的要 主要运行与l i n u x 能够在没有任何操作 具有优良的跨平台特性 求 控制台系统的支持下运行 基于s v g a l i b ,有自己的图形抽象层, 图形支持库l i b g g l 或可运行与s v g a l i b ,基于f r a m e b u f f e r f r a m e b u f f e rf r a m e b u f f e r 或x 之上 可移植性 较差非常好较好 a p i w i n 3 2 风格x ,w i n 3 2 子集q t ( c + + ) x 接口的多进程支持 多进程支持 好 好,但w i n 3 2 尚不支持好 多线程 实现语言 c 语言 c 语言( 部分采用汇编) c 十+ 高、中端产品,主要针高端产品,主要针对手持 产品使用广泛性中,低端产品 对手持设备设备 从上表可知,m i i l i g u i 是建立在比较成熟的图形引擎之上,开发的重点在于 窗口系统,其小巧精致并且尽量与w i n 3 2 兼容。m i c r o w i n d o w s 目前开发的重点 在底层的图形引擎,窗口系统和图形接口方面功能比较欠缺,与w i n 3 2 和x w i n d o w s 窗口系统保持兼容,提供了相对完善的图形功能。 第2 章实时操作系统及图形用户界面 q t e m b e d d e d 是一个专门为小型设备提供图形用户界面的应用框架和窗口系 统。提供了丰富的窗口小部件( w i d g e t s ) ,并且还支持窗口部件的定制,因此它 可以为用户提供漂亮的图形界面。q t 是k d e 等项目使用的g u l 支持库,所以有 许多基于q t 的xw i n d o w s 程序可以非常方便地移植到q t e m b c d d e d 版本上。最 终,在分析和比较了各种g u i 的特点后,本文选用q t e m b e d d e d 作为移植对象。 2 3q t 概述 2 3 10 t 知识背景介绍 q t 作为一种跨平台的基于c + + 的o u i 系统,能够提供给用户构造图形用 户界面的强大功能。自从1 9 9 6 年q t 被t r o l l t c c h 公司发布以来,该系统成为 世界上很多成功的图形用户应用所使用的主要系统。更为重要的是,l i n u x 操作 系统的桌面环境系统k d e 也是基于q t 构造的。目前,q t 已经提供了对包括 m s w i n d o w s 、u n i x ) ( 1 1 和嵌入式平台的支持,得到了越来越广泛的应用。 2 3 2q t 进程间通信的研究 在q t 系统中,不仅有着构造完善的系统结构,而且为了满足用户对编写图 形用户界面应用的种种需求,它还创建了许多新的系统机制,其中q t 所特有的 内部进程通信机制尤其值得一提。本文分析了基于q t 的应用进程之间通信常用 的三种机制:q c o p 协议,s i g n a i s l o t 机制和f i f o 机制。 1 q c o p 协议 q c o p 是q t 内部的种通信协议,这种协议用于不同的客户之间在同一地 址空间内部或者不同的进程之间的通信。目前,这种机制还只在q t 的嵌入式版 本中提供。 为实现这种通信机制,q t 中包括了由q o b j e c t 类继承而来的q c o p c h a n n e l 类,该类提供了诸如s e n d o 、i s r e g i s t e r e d o 等静态函数,它们可以在脱离对象的 情况下使用。为了在c h a n n e l 中接收通信数据,用户需要构造一个q c o p c h a n n e l 的子类并提供r e c e i v e o 函数的重载函数,或者利用c o n l l e c t ( ) 函数与接收到的信 号相联系。 基于嵌入式l i n u x 的p d a 系统 在发送消息时,将利用如下的协议机制: q c o p e n v e l o p ee ( c h a n n e l n a m e ,m e s s a g e n a m e ) ; 对于需要携带参数的消息,必须使用 运算符将参数添加到e n v e l o p e 中。 e “p a r a m e t e r l p a r a m e t e r 2 “: 对于不带参数的消息,只需要利用: q c o p e n v e l o p ee ( e h a n n e l n a m e ,m e s s a g e n a m e ) ; 在q t o p i a 中,所有的c h a n n e l s 名都以”q p e ”开始,而m e s s a g e n a m e 则是一个 函数的标识符。 在接收消息时,通常只需要利用在应用程序中预先定义好的 q p e a p p l i c a t i o n a p p n a m e 管道,当然,也可以根据需要自己定义管道,并将其 与一个s l o t 函数相关联: m y c h a n n e l = n e 、f i rq c o p c h a n n e l ( ”q p e f o o b a r “,t h i s ) ; c o l l n e c t ( m y c h a r m e l ,s l g n a l ( r e c e i v e d ( c o n s tq c s t r i n g & ,c o n s tq b y t e a r r a y & ) ) ,t h i s ,s l o t ( f o o b a r m e s s a g e ( c o n s tq c s

温馨提示

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

评论

0/150

提交评论