(计算机应用技术专业论文)嵌入式图形用户接口的研究与实现.pdf_第1页
(计算机应用技术专业论文)嵌入式图形用户接口的研究与实现.pdf_第2页
(计算机应用技术专业论文)嵌入式图形用户接口的研究与实现.pdf_第3页
(计算机应用技术专业论文)嵌入式图形用户接口的研究与实现.pdf_第4页
(计算机应用技术专业论文)嵌入式图形用户接口的研究与实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(计算机应用技术专业论文)嵌入式图形用户接口的研究与实现.pdf.pdf 免费下载

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

文档简介

华东师范人学硕上学位论文 摘要 近年来,随着3 c 技术( 消费类电子、计算机、通信) 趋向融合,嵌入式系统得到迅猛 发展和普及,嵌入式技术的研究与发展成为当前的一个热点话题。计算机图形用户接e l ( g u i ) 为计算机与其使用者之间提供了方便的人机交互接口,随着嵌入式系统的弋速发展 和产品形式的多样化,图形用户接口在嵌入式系统中的使用也越来越广泛。不同配置的嵌入 式系统对g u i 的要求和解决方案也有所不同。高端系统既可以采用w i n c e 等商业化的产品 也可以采用l i n u x + m i n i g u i 等开发源代码的项目,但都有一个共同的耍求,就是系统要有 丰富的资源来满足这些系统软件的使用,同时还有足够的资源运行应用程序。对资源比较有 限的中低端系统来说,这些解决方法太臃肿和庞大,一方面系统可能承受不起,另一方面过 丁i 庞人的系统软件和其复杂功能已经超出了这类系统的虑用需求,失去了嵌入式系统量体裁 衣、最有效利用资源的本质特征。基于以上因素的考虑,本文设计菏实现了无操作系统支持 的轻型g u i 系统e g u l 。 本文首先研究了几种典型的嵌入式g u i , 层鲭构,其总体框架分为三层:设备驱动层、 进而提出了e g u i 的设计方案。e g u i 采用分 图形引擎层、a p j 层:软彳牛采用模块化设计。 设备驱动层相当于硬件抽象层。能够屏蔽底层硬件的差别,为上层提供统一的接口:图形引 擎层提供基本绘图函数、区域填充、像素读写、位图及文字显示等图形函数;a p i 层实现了 一个窗口系统,包括消息循环、窗口部件、输入法等模块,为应用程序提供统一的编程接口。 整个系统层次结构清晰,具有较强的可移植性和可配置性,且占系统资源少。 在设计并实现e g u i 原型系统的基础上,进一步设计了基于e g u i 的可视化辅助开发 具v t e g ( v i s u a lt o o l k i tf o re g u i ) 。辅助工具的使用可以改变嵌入式系统传统开发方式 的不足之处,尤其为图形应用程序的编写带了极大的便利,是提高开发效率、缩短开发周期 的有效手段。 关键词 嵌入式系统、图形用户接口、图形引擎、消息循环、窗口部件、可视化工具 华东师范大学硕士学位论文 a b s t r a c t n o w a d a y s ,r e s e a r c ha n dd e v e l o p m e n t o fe m b e d d e dt e c h n o l o g yb e c o m e sa h o t s p o t c o m p u t e rg r a p h i c a lu s e ri n t e r f a c e ( o u l ) p r o v i d e sc o m p u t e ra n d i t su s e r sw i t hc o n v e n i e n t i n t e r f a c ew i t ht h er a p i dd e v e l o p m e n to fe m b e d d e ds y s t e ma n dm u l t i p l i c i t yo fi t sp r o d u c t ,g u i b e c o m e sm o r ea n dm o r ep o p u l a ri nt h e s es y s t e m s 。 h o w e v e r , d i f f e r e n te m b e d d e ds y s t e m sh a v ed i f f e r e n tr e q u i r e m e n t so ug u i ,a n dr e s o l v e n to f t h e s es y s t e m si sa l s od i f f e r e n t h i g h e n de m b e d d e ds y s t e m sc a nu s et h e s eg u i s ,s u c ha sw i n c e o rl i n u x + m i n i g u i 。t h eg u l sm e n t i o n e d a b o v eh a v et h es a m er e q u i r e m e n t ,w h i c hi s t h e e m b e d d e ds y s t e m sm u s th a v er i c hr e s o u r c e s b u tt ol o w - e n de m b e d d e ds y s t e m s ,s u c hr e s o l v e n t t h a tn e e d st oc o n s u m el a r g eq u a n t i t yo fs y s t e mr e s o u r c e si st o oh e a v ya n du n a c c e p t a b l e o nt h e o t h e rb a n d ,c o m p g c a t e df u n c t i o n s 铲b e y o n dt h en e e do fl o w e n ds y s t e m s i nv i e wo ft h e s e r e a s o n s ,an e we m b e d d e dg u i ( c a r t ) w i t hn os u p p o r to fo p e r a t i n gs y s t e mi sd e s i g n e da n d i m p l e m e n t e di nt h i sp a p e r e g u ii sd i v i d e di n t ot h r e el a y e r s ,t h a ti se q u i p m e n td r i v e r , g r a p h i ce n g i n ea n da p i s o f t w a r e d e v e l o p m e n tu s e st h em e t h o do fm o d u l a r i z a t i o ne q u i p m e n td r i v e rl a y e ri sa l s on a m e dh a r d w a r e a b s 仃a c tl a y e r , w h i c hc a l lh i d et h ed i f f e r e n c e so fd i f f e r e n th a r d w a r e sa n dp r o v i d et h es a m e i n t e r f a c et og r a p h i ce n g i n e g r a p h i ce n g i n el a y e ri sa l s on a m e dm i d d l el a y e r , t h a tp r o v i d e s g r a p h i c a lf u n c t i o n ss u c ha sr e g i o n - f i l l i n g ,p i x e lr e a d i n g w r i t i n g ,b i t m a ps h o w i n g ,c h a r a c t e r s h o w i n ga n ds oo n a p tl a y e ri m p l e m e n t saw i n d o ws y s t e mt h a tc o n t a i n sm e s s a g el o o p ,w i d g e t a n di n p u t t i n gm e t h o d ,a n di tp r o v i d e sp r o g r a m m i n gi n t e r f a c ew i t ha p p l i c a t i o np r o g r a m se g u i c o n s u m e sf e ws y s t e mr e s o u r c e s ,a n dc a nb e 仃a n s p o a e dt om a n yo t h e rp l a t f o r m sa n db e m o d u l a r i z e d a f t e ri m p l e m e n t i n gt h ep r o t o t y p eo f # g 坦av i s u a lt o o l k i tf o re g u in a m e dv t e gi s d e s i g n e di n t h i sp a p e lu s a g eo ft h et o o l k i tc a ni m p r o v e t r a d i t i o n a ld e v e l o p m e n tm e t h o do f e m b e d d e ds y s t e m s t h ec o n c e p to f v i s u a l i su s e di ne m b e d d e ds y s t e m s ,w h i c hg i v e s c o n v e n i e n c et od e v e l o p m e n to f g r a p h i c a la p p l i c a t i o np r o g r a m s ,a n dc a r lr e d u c ed e v e l o p m e n tt i m e a n db r i n gm o r ep r o f i t s , 哗东师范大学硕上学位论文 k e y w o r d e m b e d d e ds y s t e m ,g u i ,g r a p h i ce n g i n e ,m e s s a g el o o p ,w i d g e t ,v i s u a lt o o l k i t 华东师范大学硕上学位论文 学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作及取得的研究成果。据我 所知,除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。 对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名:函塑些日期:丝:! 兰:! 学位论文使用授权声明 本人完全了解华东师范大学有关保留、使用学位论文的规定,学校有权保留学位论文 并向国家主管部门或其指定机构送交论文的电子版和纸质版。有权将学位论文用于非赢利目 的的少量复制并允许论文进入学校图书馆被查阅。有权将学位论文的内容编入有关数据库进 行检索。有权将学位论文的标题和摘要汇编出版。保密的学位论文在解密厉适用本规定。 学位论文作者签名:函塑堕 导师签名: 日期:兰竺:! ! :2日期:至三! ! 堡 夕 坡一 华东师范大学硕十学位论文 o r i g i n a l i t yn o t i c e i np r e s e n t i n gt h i st h e s i si np a r t i a lf u l f i l l m e n to f t h e r e q u i r e m e n t sf o rt h em a s t e r s d e g r e ea te a s tc h i n an o r m a lu n i v e r s i t y , 1w a r r a n tt h a tt h i st h e s i si so r i g i n a la n da n y 0 tt h et e c h n i q u e sp r e s e n t e di nt h et h e s i sh a v eb e e nf i g u r e do u tb ym e a n yo ft h e r e f e r e n c e st ot h ec o p y r i g h t ,t r a d e m a r k ,p a t e n t ,s t a t u t o r yr i g h t ,o rp r o p r i e t yr i g h to f o t h e r sh a v eb e e ne x p l i c i t l ya c k n o w l e d g e da n di n c l u d e di nt h er e f e r e n c e ss e c t i o na t t h ee n do ft h i st h e s j s s i g n a t u r e :丝f ! 尸d a t e :丝:! 兰:, c o p y r i g h tn o t i c e ih e r e i na g r e et h a tt h el i b r a r yo fe c n us h a l lm a k ei t sc o p i e sf r e e l ya v a i l a b l ef o r i n s p e c t i o n if u r t h e ra g r e et h a te x t e n s i v ec o p y i n go ft h et h e s i si sa l l o w a b l eo n l yf o r s c h o l a r l yp u r p o s e s ,i np a r t i c u l a r , s t o r i n gt h ec o n t e n to ft h i st h e s i si n t or e l e v a n t d a t a b a s e s ,a sw e l la sc o m p i l i n ga n dp u b l i s h i n gt h et i t l ea n da b s t r a c to ft h i st h e s i s , c o n s i s t e n t 、v i t h ”f a i ru s e ”a sp r e s c r i h e di nt h ec o p y r i g h tl a wo ft h ep e o p l e s r e p u b l i co fc h i n a 华东师范大学硕士学位论文 引言 当前,以信息家电为中心的嵌入式系统蓬勃发展,广泛地应用于办公自动化、消费电子、 通信设各、智能仪器和军事电子设备等各个领域。随着应用、技术的迅速发展,嵌入式系统 相应的硬件利软件也得到迅速发展,许多设备都配有i n t e l 、m i p s 、m o t o r o l a 等公司生产的 3 2 位微处理器,甚至还使用了液晶显示器,嵌入式设备硬件条件的提高,进一步促进了嵌 入式系统对图形用户接口的需求。 图形用户接口是指计算机与其使用者之间的对话接口,它的引用为用户提供了丰富的图 形编程接口,使其能够方便快速地编制界面友好的应用程序。嵌入式系统是为了满足特殊需 求而被简化了的计算机系统,与通用系统相比,普遍存在c p u 运算速度慢、内存容量小等 特点,所以嵌入式系统对图形用户界面系统的基本要求有: 图形算法简洁、快速,占用资源少; 功能强: 可靠性高; 模块结构,便于移植和定制。 嵌入式g u i 的发展有几个分支,一类是脱胎于桌面系统的g u i ( 如w i n c e ) ,这类系 统是作为嵌入式操作系统的窗口系统而开发的,无法和某个特定的操作系统分开,继承了传 统操作系统和窗口系统的很多复杂的机制,虽然有其性能上的优势,但也有着臃肿和庞大这 样的先天不足,对系统的资源要求非常高:还有一类是专fj 针对嵌入式系统设计的g u i ( 如 m i n i g u l ) ,是运行于操作系统之上的独立的g u i 系统,有时需要底层图形引擎的支持。 在嵌入式系统的发展过程中,硬件条件的提高带来了图形用户接口的更多需求,但另一 方面随着图形化的人机接口带给嵌入式设备的方便使用,有一些硬件资源不是非常丰富的设 备也要求有图形用户接口。而前面所述的几类嵌入式g u i 都离不开操作系统,在嵌入式系 统中操作系统的运行往往要占用很多系统资源,这对资源有限的设备来讲是不切实际的,所 以对这类设备有必要重新考虑g u i 的设计方法,使其占用的系统资源最少。但又要满足嵌 入式g u i 的基本要求。 本文首先研究了几种典型的嵌入式g u i ( 以m i n i g u i 为主) 的体系结构,并对它们进 行了归纳总结。在此基础上,提出了无操作系统支持的嵌入式g u i 的设计思想,并实现了 其原型系统。进一步地,还提出了基于该g u i 系统的可视化辅助开芨t 具的设计方案。本 华东师范大学硕士学位论文 文结构如f : 第一章介绍了嵌入式系统及图形用户界面的概况。 第二章研究丁几种典型的嵌入式g u i ,着重分析了m i n i g u l 的体系结构,并对这几种 g u i 的主要性能指标进行了归纳总结。 第三章提出了e g u i 的设计思想和体系结构,并讨论各层功能及其实现。 第四章分析了e g u i 的窗1 3 系统设计与实现中的关键技术,包括窗1 3 部件、消息循环、 输入法等。 第五章介绍如何利用e g u i 提供的接口开发图形应用程序。 第六章研究了可视化的软件开发方法,阐述了基于e g u i 的可视化辅助开发工具 v t e g 的设计目标及采用的一些主要技术。 - 2 华东师范大学硕士学位论文 1 1 嵌入式系统 第一章嵌入式系统及g u i 概述 伴随着二十一世纪的曙光,人类迎来了一个充满希望的新时代。而作为二十世纪人类社 会最伟大的发明之一,计算机也迈入了其另一个充满机遇的阶段厉p c 时代。不知不觉 中,形式多样的数字化产品已经开始继p c 机之后成为信息处理的一大主要工具,并且正在 逐步形成一个充满商机的巨大产业。 后p c 时代的到来,使得人们开始越来越多地接触到一个新的概念嵌入式产品。像 手机、p d a ( 如商务通等) 均属于手持的嵌入式产品,v c d 机、机顶盒等也属于嵌入式产 品,而像车载g p s 系统、数控机床、网络冰箱等同样都采用嵌入式系统。嵌入式软件是数 字化产品的核心。如果说p c 机的发展带动了整个桌面软件的发展,那么数字化产品的广泛 普及必将为嵌入式软件产业的蓬勃发展提供无穷的推动力。 1 1 1 嵌入式系统基本概念 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系 统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处 理器、外围硬件设备、跌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其 他设备的控制、监视或管理等功能。 嵌入式系统集软硬件于一体的可独立工作的“器件”。嵌入式系统的核,t 5 是嵌入式微处 理器。嵌入式微处理器一般具各以f4 个特点: 1 对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内 部的代码和实时内核的执行时间减少到最低限度。 2 具有功能根强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,为了避免 在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于 软件诊断。 3 可扩展的处理器结构,以便能最迅速地开发出满足应用要求的最高性能的嵌入式徽处理 器。 4 低功耗的系统结构,尤其是便携式的无线及移动的计算和通信设备中靠电池供电的嵌入 3 华东帅范大学硕士学位论文 式系统更是如此,这类设备需要的功耗往往只达到m w 其至uw 级。 相关支撑硬件包括显示卡、存储介质( r o m 和r a m 等) 、通讯设备、i c 卡或信用卡的 读取发备等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储 介质,而大多使用闪存( f l a s hm e m o r y ) 作为存储介质。嵌入式软件包括与硬件相关的底层 软件、操作系统、图形界面、通讯协议、数据库系统、标准化浏览器和应用软件等。 1 1 2 嵌入式系统的特点 综上所述,从硬件角度看,嵌入式系统具有便利灵活、性能价格比高、嵌入性强等特点, 可以嵌入到现有任何信息家电和工业控制系统中。从软件角度来看,嵌入式系统具有不可修 改性、系统所需配置要求较低、系统专业性和实时性较强等特点。 嵌入式计算机系统同通用型计算机系统相比具有以f 特点: 1 嵌入式系统通常是面向特定应用的。嵌入式c p u 与通用型的最大不同就是嵌入式c p u 大多丁= 作在为特定用户群设计的系统中,它通常都县有低功耗、体积小、集成度高等特 点,能够把通用c p u 中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系 统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。 2 嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结 合后的产物。这一点决定了它必然是一个技术密集、资金密集、高度分散、不断创新的 知识集成系统。 3 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅 片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。 4 嵌入式系统和具体应用有机地结台在一起,它的升级换代也是和具体产品同步进行。因 此嵌入式系统产品一旦进入市场,具有较长的生命周期。 5 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片 机本身中,而不是存贮于磁盘等载体中。 6 嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程 序功能进行修改的,必须有一套开发工具和环境才能进行开发。 1 1 3 嵌入式系统的应用前景 后p c 时代是一个真实的阶段,而且是一个可以预测的时代。嵌入式系统就是与这一时 - 4 - 华东师范人学硕士学位论文 代紧密相关的产物,它将拉近人与计算机的距离,形成一个人机和谐的工作与生活环境。从 某一个角度来看,嵌入式系统可应用于人类工作与生活的各个领域,具有极其广阔的应用前 景。嵌入式系统在传统的工业控制和商业管理领域已经具有广泛的应用空间,如智能t 控设 备、p o s a t m 机、i c 忙等;在家庭领域更具有广泛的应用潜力,如机顶盒、数字电视、 w e b t v 、网络冰箱、网络空调等众多消费类和医疗保健类电子设备等;此外还有在媒体手 机、袖珍电脑、掌上电脑、车载导航器等方面应用,将极人地推动嵌入式技术深入到生活和 上作的方方面面。 嵌入式系统在各个领域的广泛应用,使得越来越多的普通消费者开始接触嵌入式设备。 为了给用户提供最为便捷的使用手段,嵌入式设备纷纷采用图形用户界面方式,这比原始的 输入输出方式要灵活方便得多,易于为普通用户所接受并操作。由于开发用户界面的工作量 极大,而且不同嵌入式设备用户对界面的需求也不尽相同,为了提高开发的效率和速度,对 g u i 的研究越来越受到广泛的关注和重视。 1 2g u i 概述 1 2 1g u i 的历史 计算机用户界面是指计算机与其使用者之间的对话接口 ,是计算机系统的重要组成 部分。计算机的发展史不仅是计算机本身处理速度和存储容量飞速提高的历史,而且是计算 用户界面不断改进的历史。早期的计算机是通过面板上的指示灯来显示二进制数据平【| 指令, 人们则通过面板上的开关、扳键及穿孔纸带送入各种数据和命令。5 0 年代中后期,由于采 用了作业控制语言( j c l ) 及控制台打字杌等,使计算机可以批处理多个计算任务,从而代替 了原来笨拙的手工扳键方式,提高了计算机的使用效率。 1 9 6 3 年,美国麻省理工学院在7 0 9 7 0 9 0 计算机上成功地开发出第一个分时系统c t s s , 该系统连接了多个分时终端,并最早使用了文本编辑程序。从此,以命令行形式对话的多用 户分时终端成为7 0 年代乃至8 0 年代用户界面的主流。 8 0 年代初,由美国x e r o x 公司a l t o 计算机首先使用的s m a l l t a l k - - 8 0 程序设计开发环境, 以及后来的l i s a 、m a c i n t o s h 等计算机,将用户界面推向图形用户界面的新阶段。随之而来 的崩户界面管理系统和智能界面的研究均推动了用户界面的发展。用户界面已经从过去的人 去适应笨拙的计算机,发展到今天的计算机不断地适应人的需求。 用户界面的重要性在于它极大地影响了最终用户的使用,影响了计算机的推广应用,甚 5 一 华东师范大学硕士学位论文 至影响了人们的工作和生活。由于开发用户界面的工作量极大,加上不同用户对界面的要求 也不尽相同,因此,用户界面已成为计算机软件研制中晟困难的部分之一。当前,i n t e m e t 的发展异常迅猛,虚拟现实、科学计算可视化及多媒体技术等对用户界面提出了更高的要求。 1 2 2g u i 的特征 g u l 的广泛流行是当今计算机技术的重大成就之一,它极大地方便了非专业用户的使 用,人们不再需要死记硬背大量的命令,而可以通过窗口、菜单方便地进行操作。图形用户 界面的主要特征有如下几点: 包含四个基本元素w r ,其中: w ( w i n d o w s ,窗口1 ,是崩户或系统的一个工作区域。一个屏幕上可以有多个窗口。 l ( 1 c o n s ,图符) ,是形象化的图形标志,易于人们隐喻和理解。 m ( m e n u 。菜单) ,可供用户选择的功能提示。 p ( p o i n t i n g d e v i c e s ,鼠标器) 。便于用户宣接对屏幕对象进行操作。 用户模型 g u i 采用了不少桌面办公的比喻,使应用者共享一个直观的界面框架。由于人们熟悉 办公桌的情况因而对计算机显示的圈符的含义容易理解,诸如:文件夹、收件箱、画笔、 t 作簿、钥匙及时钟等。 直接操作 过去的界面不仅需要记忆大量命令,而且需要指定揉作对象的位置,如行号、空格数、 x 及y 的坐标等。采用g u i 后,用户可直接对屏幕上的对象进行操作,如拖动、删除、插 入以至放人和旋转等。用户执行操作后,屏幕能立即给出反馈信息或结果,因而称为“所见 即所得( w h a ty o us e ei sw h a ty o ug e t ) ”。用视、点( 鼠标) 代替了记、击( 键盘) ,给用户 带来了方便。 1 2 3g u i 系统的结构模型 一个图形用户界面系统通常由三个基本层次组成。它们是显示模型,窗口模型和t j 户模 型。用户模型包含了显示和交互的主要特征,因此图形用户界面这一术语有时也仅指用户模 型。圈1 - i 给出了图形用户界面系统的层次结构。 6 华东帅范大学硕上学位论文 图1 - 1 图形用户界面系统的层次结构 最底层是计算机硬件平台,如m a c i n t o s h ,s u ns p a r c 等。硬件平台之上是计算机操作 系统。人多数图形用户界面系统都只能在一两种操作系统上运行。 操作系统之上是图形用户界面的显示模型。它决定了图形在屏幕上的基本显示方式。不 同的图形用户界面系统所采用的显示模型各不相同。例如大多数在u n i x 之上运行的图形用 户界面系统都采用x 窗口作显示模型;m sw i n d o w sm 采用m i c r o s o f t 公司自己设计的图 形设备接1 2 ( g d i ) 作显示模型。 显示模型之上是图形用户界面系统的窗口模型。窗口模型确定窗口如何在屏幕上显示 如何改变大小,如何移动,及窗口的层次关系等。它通常包括两个部分:一是编程t 具;二 是对如何移动,输出和读取屏幕显示信息的说明。因为x 窗口不但规定了如何显示基本酗 形对象,也规定了如何显示窗口,所以它不但可以充当幽形用户界面的显示模型,也可以充 当它的窗口模型。 窗口模型之上是用户模型,图形用户界面的用户模型又称为图形用户界面的视感。它也 包括两个部分:一是构造用户界面的j 二具:二是对于如何在屏幕上组织各种图形对象,以及 这些对象之间如何交互的说明。比如,每个图形用户界面模型都会说明它支持什么样的菜单 和什么样的显示方式。 图形用户界面系统的应用程序接口由其显示模型,窗口模型和_ h j 户模型的应用程序接口 共同组成。例如o s f m o t i f 的应用程序接口就是由它的显示模型 u 窗口模型的应用程序接 口x l i b 和用户模型的应用程序接口x ti n t r i n s i c s 及m o t i f t o o l k i t 共同组成的。 1 2 4g u i 的发展 随着虚拟现实、科学计算可视化及多媒体技术的e 速发展,新的人机交互技术不断出现 更加自然的交且方式将逐渐为人们所重视。新一代界面的主要特征可描述如下: 华东师范大学颂士学位论文 以用户为中心 多通道; 智能化; 高带宽; 不限制地点; 图示编程。 1 3 嵌入式g u i 在常见的p d a 等小型手持式设备上,由于硬件条件等的限制,我们看到的用户界面都 非常简单,几乎看不到p c 机上华丽美观的g u l 支持。但近几年出现的p a l m 等手持式电 脑或者在w i n d o w sc e 等面向嵌入式系统的操作系统上,我们已经看到了完整的图形用户 界面支持。随着手持式设备的硬件条件的提高,嵌入式系统对轻量级g u i 的需求必然会越 来越迫切。 根据近年来市场需求的显示,越来越多的嵌入式系统,包括p d a 、机顶盒、d v d v c d 播放机、w a p 手机等等系统均要求提供全功能的w e b 浏览器。这包括h t m l 4 0 的支持、 j a v a s c r i p t 的支持甚至包括j a v a 虚拟机的支持。而这一切均要求有一个高性能、高可靠 的g u i 的支持。 另外一个迫切需要轻量级g u i 的典型系统即工业实时控制系统。这些系统一般建立在 标准p c 平台上,硬件条件相对嵌入式系统要好,但对实时性的要求非常高,并且比起嵌 入式系统来说,对g u i 的要求也更高。根据其工作特点,该类系统一般不希望建立在庞大 累赘的、非常消耗系统资源的操作系统和g u i 之上,比如w i n d o w s 或xw i n d o w 。目前 许多这类系统都建立在d o s 等系统上,并且采用比较简单的手法实现g u i 。直到出现 l i n u x 系统之后,尤其在r t - l i n u x 系统出现之后,许多1 :业控制系统开始采用r t - l i n u x 作为操作系统,但g u i 仍然是一个问题。因此,这类系统对轻型g u i 的需求更加突出。 必须清楚的是,嵌入式系统往往是一种定制设备,它们对g u i 的需求各不相同。如有 的系统只要求一些基本的图形功能,而有些系统则要求完备的g u l 支持。因此,g u i 也 必须是可定制的。 综上所述,g u i 在嵌入式系统或者实时系统中的地位将越来越重要,这些系统对g u i 的基本要求包括 2 2 】: 华东师范大学硕士学位论且: 轻型、占用资源少 高性能; 高可靠性; 可配置。 1 。4 本章小结 本章对嵌入式系统和g u i 的概念及特点进行了介绍,指出嵌入式g u i 系统的基本要求 是轻型、占用资源少高性能,高可靠性和可配置。 9 华东师范人学硕士学位论文 第二章典型的嵌入式g u i 在第一章中提过,与通用的g u i 系统相比,嵌入式系统对g u i 的基本要求包括:轻型、 用资源少、高性能、高可靠性和可配置。目前常见的嵌入式g u i 系统有w i n c e 、p a l m o s 等嵌入式操作系统的图形用户界面和面向嵌入式l i n u x 系统的g u i 系统后者中具代表性 的有北京飞漫软件公司的m i n i g u i 、美国c e n t u r y 软件公司的m i c r o w i n d o w s 、挪威t r o a e c h 公司的q t e m b e d d e d 。本章中将对这三种主流的g u i 系统进行分析讨论,其中以m i n i g u i 为主,井对它们的主要性能指标进行归纳总结。 2 1i v i i n i g u l m i n i g u i 5 由原清华大学教师魏永明先生开发,是中国人做得较好的自由软件之一。 m i n i g u i 是一种面向嵌入式系统或者实时系统的图形用户界面支持系统。它主要运行予 l i n u x 控制台,实际可以运行在任何一种具有p o s i x 线程支持的p o s i x 兼容系统上。 m i n i g u i 同时也是国内最早出现的几个自由软件项目之一。 2 1 1 体系结构 2 1 1 1 多线程的分层设计 从整体结构上看,m i n i g u l 是分层设计的,层次结构如图2 - 1 所示。在最底层,g a l ( 图形抽象层) 和i a l ( 输入抽象层) 提供底层图形接口以及鼠标和键盘的驱动:中间层是 m i n i g u i 的核心层,其中包括了窗口系统必不可少的各个模块;最顶层是a p i ,即编程接 口。 1 0 华东师范大学硕士学位论文 星 gal i a l p t h r e a d i 罢一 图2 - 1m i n i g u i 的分层设计 g a l 和i a l 为m i n i g u i 提供了底层的l i n u x 控制台或者xw i n d o w 上的图形接 口以及输入接口,而p t h r e a d 是用于提供内核级线程支持的c 函数库。 m i n i g u i 本身运行在多线程模式下,它的许多模块都以单独的线程运行,同时,m i n i g u l 还利用线程来支持多窗1 3 。从本质上讲,每个线程有一个消息队列,消息队列是实现线程数 据交换和同步的关键数据结构。一个线程向消息队列中发送消息,而另一个线程从这个消息 队列中获取消息,同一个线程中创建的窗口可拭享同一个消息队列。利用消息队列和多线程 之间的同步机制,可以实现微客户服务器机制。 多线程有其一定的好处,但也有弊端,即不同的线程共享了同一个地址空间,因此,客 户线程可能会破坏系统服务器线程的数据,但有一个重要的优势是,由于共享地址空间,线 程之间就没有额外的数据复制开销。由于m i n i g u l 是面向嵌入式或实时控制系统的,这种 应用环境下的应用程序往往具有单一的功能,从而使得采用多线程而非多进程模式实现图形 界面有了一定的实际意义,也更加符合m i n i g u i 之“m i n i ”的特色。 2 1 1 2 微客户,月& 务器结构 在多线程环境中,与多进程间的通讯机制类似,线程之间也有交互和同步的需求。比如, 用来管理窗口的线程维持全局的窗口列表,而其他线程不能直接修改这些全局的数据结构, 而必须依据“先来先服务”的原则,依次处理每个线程的请求,这就是一般性的客户月务 器模式。m i n i g u i 利用线程之间的同步操作实现了客户线程和服务器线程之间的微客户月 牛东师范人学硕士学位论文 务器机制,之所以这样命名,是因为客户和服务器是同一进程中的不同线程。 微客户月务器机制的核心实现主要集中在消息队列数据结构上。比如,m i n i g u l 中的 d e s k t o p 微服务器管理窗口的创建和销毁。当一个线程要求d e s k t o p 微服务器建立一个窗口 时,该线程首先在d e s k t o p 的消息队列中放置一条消息,然后进入休眠状态而等待d e s k t o p 处理这一请求,当d e s k t o p 处理完成当前任务之后,或正处于休眠状态时,它可以立即处 理这请求,请求处理完成时,d e s k t o p 将唤醒等待的线程,并返同一个处理结果。 当m i n i g u i 在初始化全局数据结构以及各个模块之后,要启动几个重要的微服务器, 它们分别完成不同的系统任务: d e s k t o p :用于管理m i n i g u i 窗口中的所有主窗口,包括建立、销毁、显示、隐藏、 修改z o r d e r 、获得输入焦点等等。 p a r s e r :用米从i a l 中收集鼠标和键盘事件,并将收集到的事件转换为消息并邮寄给 d e s k t o p 服务器。 t i m e r : 用来触发定时器事件。该线程启动时首先设置l i n u x 定时器,然后等待 d e s k t o p 线程的结束,即处于休眠状态。当接收到s i g a l r m 信号时该线程处理该 信号并向d e s k t o p 服务器发送定时器消息。当d e s k t o p 接收到定时器消息时,会查看 当前窗口的定时器列表,如果某个定时器过期,则会向该定时器所属的窗口发送定时器 消息。 2 1 2 多线程和多窗口 在m i n i g u i 中图形用户界面包括如图2 - 2 所示的基本元素。 一主窗口 一一窗口非客户区 i 一窗口标题 l - - 一一窗口边框 i 一菜单栏 一窗口客户区 l 一一子窗i j ( 控件) 一一对话框 一一对话框控件 图2 - 2m i n i g u l 图形用户界面的基本元素 华东师范大学硕士学位论文 m i n i g u i 中的窗口主要分四类,分别为主窗口、对话框、控件和主窗口中的子窗口。 m i n i g u l 中的主窗口和w i n d o w s 应用程序的主窗口概念类似,但有一些重要的不同, m i n i g u l 中的每个主窗口及其附属主窗口对应丁i 一个单独的线程,通过函数调用可建立主 窗口以及对应的线程。每个线程有一个消息队列,属于同一线程的所有主窗口从这一消息队 列中获取消息并由窗口过程( 回调函数) 进行处理。 2 1 3 对话框和标准控件 m i n i g u l 中的对话框是一种特殊的窗口,对话框一般和控件一起使用,这两个概念和 w i n d o w s 或xw i n d o w 中的相关概念是类似的。m i n i g u l 支持的控件类型有: 静态框:文本、图标或矩形框等: 文本框:单行或多行的文本编辑框; 按钮:单选钮、复选框和一般按钮等: 列表框; 进度条。 m i n i g u l 中的每个控件都属于某种子窗1 5 1 类,是对应子窗口类的实例。类似丁面向对 象技术中类和对象的关系。图2 3 给出了m i n i g u l 中控件和控件类之间的关系。 每个控件的消息实际都是由该控件所属控件类的同调函数处理的,从而可以使得每个属 丁统一控件类的控件均保持有相同的用户界面利处理行为。 但是,如果在调用某个控件类的回调函数之前,首先调用自己定义的某个回调函数的话, 就可以让该控件重载控件类的某些处理行为,从而让该控什一方面继承控件类的人部分处理 行为,男一方面又具有自己的特殊行为。这实际就是面向对象中的继承和派生。比如,一般 的编辑框会接收所有的键盘输入,当希望自己的编辑框只接收数字时,就可以用这种办法屏 蔽非数字的字符输入。 华东帅范大学硕士学位论文 控件le d i t 控件类 2 1 4 消息和消息循环 图2 - 3 控件类和控件之间的关系 在任何g u i 系统中,均有事件或消息驱动的概念。在m i n i g u i 中,使用消息驱动作为 应用程序的创建构架。 在消息驱动的应用程序中,计算机外设发生的事件,例如键盘键的敲击、鼠标键的按击 等,都由支持系统收集,将其以事先约定的格式翻译为特定的消息。应用程序一般包含有白 1 4 华东师范大学硕士学位论文 己的消息队列,系统将消息发送到应用程序的消息队列中。应用程序可以建立一个循环,在 这个循环中读取消息并处理消息,直到特定的消息传来为止。这样的循环称为消息循环。一 般地,消息由代表消息的一个整型数和消息的附加参数组成。应用程序一般要提供一个处理 消息的标准函数。在消息循环中,系统可以调用此函数,应用程序在此函数中处理相应的消 息。 一个消息驱动的应用程序的简单构架如图2 _ 4 所示: 图2 - 4 消息驱动的应用程序的简单构架 m i n i g u l 支持如下几种消息的传递机制这些机制为多线程环境。r 的窗口间通讯提供 了基本途径: 通过p o s t m e s s a g e 发送。消息发送到消息队列后立即返回。这种发送方式称为“邮寄” 消息。如果消息队列中的邮寄消息缓冲区已满,则该函数返回错误值。 通过p o s t s y n c m e s s a g e 发送。该函数用来向不同于调用该函数的线程消息队列邮寄消 息,并且只有该消息被处理之后,该函数才能返回,冈此这种消息称为“同步消息”。 通过s e n d m e s s a g e 发送。该函数可以向任意一个窗口发送消息,消息处理完成之后, 该函数返回。如果目标窗口所在线程和调用线程是同一个线程。该函数直接调用窗口 过程,如果处于不同的线程,则利用p o s t s y n c m e s s a g e 凼数发送同步消息。 通过s e n d n o t i f y m e s s a g e 发送。该函数向指定的窗i z l 发送通知消息,将消息放入消息 队列后立即返回。由于这种消息和邮寄消息不同是不允许丢失的,因此,系统以链 表的形式处理这种消息。 通过s e n d a s y n c m e s s a g e 发送。利用该函数发送的消息称为“异步消息”,系统直接调 用目标窗口的窗口过程。 华东师范大学硕上学位论文 2 1 5 图形和输入抽象层 m i n i g u i 引入了图形抽象层和输入抽象层( g r a p h i c sa n di n p u ta b s t r a c tl a y e r ,g a l 和 i a l ) 的概念。抽象层的概念类似于l i n u x 内核虚拟文件系统的概念。它定义了一组不依 赖于任何特殊硬件的抽象接口,所有

温馨提示

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

评论

0/150

提交评论