




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湖北工业大学硕士学位论文基于Qt_Embedded的嵌入式GUI系统的研究与构建姓名:孙昌青申请学位级别:硕士专业:计算机应用技术指导教师:柯敏毅20090501个一用使,来以布发款条统系湖北工业大学硕士学位论文摘(要)是一种以图形作为基础的用户界面,嵌入式图形用户界面系统是嵌入式系统的一个主要组成部分。嵌入式系统对的基本要求包括轻型、占用资源少、高性能、高可靠性及可配置性。作为嵌入式主流的系统,延续了在上的强大功能,并以诸多优点赢得许多巨头厂商的青睐。自从方案。以基于的系统目前已成为嵌入式可视化软件系统开发的主要解决()论文在深入分析了嵌入式系统发展背景的基础上,介绍了的概念,并对目前嵌入式
2、的发展现状和发展前景进行了全面的分析。()阐述了体系结构,最后详细分析了户端服务器的工作模式和通信原理,为进一步实现基于和开发应用程序提供了理论依据。的()对底层支撑软件进行了研究,并详细描述了实现过程,包括、内核的编译和移植过程,根文件系统的选择与构建,以及基于驱动程序的设计和移植步骤。()详细叙述了和在宿主机的安装以及到的移植步骤和注意的细节,并成功的在目标机上构建了基于的系统,测试结果证实系统运行稳定,性能良好。最后,并以嵌入式播放器的图形界面设计为例,进一步说明如何进行论文构建的系统具有设计相对简单、程序小巧,并能充分利用系统资源的特点,非常适合嵌入式系统。该系统的构建为开发基于的嵌入
3、式图形界面系统的应用软件提供了一个借鉴,对于嵌入式环境下的应用程序开发也有一定参考价值。关键词:嵌入式系统,移植湖北工业大学硕士学位论文(),:,湘咖二案大謦学位论文原创性声明和使用授权说明原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或集体己经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本声明的法律结果由本人承担。学位论文作者签名:弓矗墨角日期:二年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国
4、家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权湖北工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。学位论文作者签名:孑小习责日期:多年占月日指导教师签名:褫“级强日期:年否月日湖北工业大学硕士学位论文第章引言课题研究背景及意义本世纪是嵌入式计算系统时代,在日常生活和工作中人们所接触的设备大部分都是嵌入式设备,这些嵌入式设备一般都具有强大计算能力的。嵌入式系统指的是把计算机系统作为一个信息处理部件嵌入到应用系统中而形成的系统,是适应具体应用系统在功能、可靠性、成本及功耗诸方面更多的综合要求的专用计算
5、机系统【】,它是计算机技术追求经济型、小型化、可靠性、高速度和智能型的必然结果。近年来,随着计算机、微电子、通信及网络技术的发展,嵌入式系统已经应用于工业控制、家用电器等领域,并广泛用于移动计算机平台、信息家电、无线通信设备、电子商务平台及军事设备。嵌入式系统的飞速发展离不开嵌入式处理器和嵌入式操作系统的发展。嵌入式处理器方面,】已取得了极大的成功,在创立至今短短的几十年的时间就占据了的市场份额,芯片在嵌入式领域几乎随处可见,它目前是世界上销量最大的位微处理器。位的处理器由于它的低成本、低功耗和高性能的特性,使其已成为位嵌入式处理器的事实上的标准。嵌入式操作系统方面,开源系统由于很多程序员的加
6、入,使其不断的在发展壮大。嵌入式具有可用于多种硬件平台、源码开放、内核高效稳定等优点,使其成为嵌入式领域主流的嵌入式操作系统。随着嵌入式系统功能的完善以及图形显示设备的广泛应用,目标产品对的需求越来越多,要求也越来越高【】。当初的一些简单的人机交互接口已经无法满足人们的要求,几乎只要是面向人机交互的嵌入式产品,就会涉及文字编辑、图形视频,甚至浏览器,而这一切均要求有一个高性能、高可靠的的支持。嵌入式的发展现状与前景嵌入式的发展现状随着嵌入式设备市场的不断扩大,对嵌入式系统需求也越来越多,要求也越来越高,嵌入式是嵌入式开发过程中的必不可少的关键环节。众多的开发厂商往往都采用某些比较现成的嵌入式系
7、统,如、湖北工业大学硕士学位论文或者其他的系统。一般选择自行开发系统的开发厂商较少,因为嵌入式系统开发周期比较短,开发厂商一般都把精力集中在开发应用程序上。嵌入式系统目前已成为嵌入式系统竞争领域的必争之地,有没有一款优异的嵌入式已成为整个嵌入式设备成功与否的关键所在。目前嵌入式主流系统主要有、中,本文将逐一介绍其特点。采用条款发布,是基于一个用汇编实现的图形内核。采用分层结构:最底层是使用汇编语言编写的高速图形引擎,中间层实现了用于图形绘制的,包括线条、矩形和圆弧等,第三层是使用编写的完整的对象集。利用指令进行了优化,因此其运行速度非常快。支持多种操作系统平台,比如,和等等,不过目前只支持硬件
8、平台。的资源消耗小、可移植性差、不支持多进程,目前的发展比较缓慢。起源于项目,是一个较早出现的开放源码的嵌入式软件它提供类和类的两种接口,目前由美国公司主持开发。的核心基于显示设备接口,是用语言开发的,支持位和位、以及芯片。基于体系结构,与和窗口系统保持兼容,并采用分层设计。此外,开发和调试应用程序可以在开发机上进行,而不需要使用“宿主机目标机”调试模式。但也存在许多缺点,如:无硬件加速能力,窗口系统和图形接口方面的功能还比较欠缺。国内也有很多程序员参与项目的开发,但是目前以开放源码形势发展的项目基本停滞。是一个面向实时嵌入式系统或者实时系统的轻量级图形用户界面支持系统。作为国产自由软件,具有
9、诸多的优势和技术创新,其早期由魏永明先生和众多志愿者开发,现在由北京飞漫软技术有限公司进行维护和商业运作。用使再不擎引层图层底,能功大强的上布发款条湖北工业大学硕士学位论文是建立图形引擎、和直接基于的之上。在的体系结构中,存在着图形抽象层和输入抽象层(和),来为提供了底层的控制台或者上的图形接口以及输入接口,而用于提供内核级线程支持的函数库利用和认,大大提高了的可移植性。目前还不是很成熟,主要表现在:代码质量参差不齐,从而影响整体系统稳定性,自有图形引擎的功能较弱,体系结构不完善,而且没有一个的图形开发环境。所以,的支持度不够,尤其是缺乏大型开发厂商的支持。是著名的库开发商公司开发的面向嵌入式
10、系统的版本【。年月诺基亚宣布将以约合亿美元的价格收购著名跨平台开源开发工具的开发商公司,以增强其服务和软件业务。目前已经被一些大型公司使用,如、等。人们耳熟能详的软件如、等等使用的正是公司开发的开发包。继承了在,而是采用作为底层图形接。同样有版,方便开发者的学习和开发,同时,将外部输入设备抽象为和输入事件,底层接口支持键盘、鼠标、触摸屏及用户自定义的设备等。类库完全采用封装,提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。是完全面向对象的,很容易扩展,提供了丰富的窗部件集,并且允许真正的组件编程。库的稳定性和健壮性比较好。它的类库接口完全兼容于同版本的,使用下的开发工具可以直接开发
11、基于的应用程序界面。因此,自从以以来,就有大量的嵌入式开发商转到了系统上。当前已经升级为,继承了的新技术,包括:高性能渲染引擎、模板容器类及基于行为的主窗口架构。嵌入式的发展前景图形用户接口()】是指计算机与其使用者之间的对话接口,是计算机系统的重要组成部分,目前已经成为一种用户与计算机交互的标准。就像操作系统流行的原因一样,极大地方便了非专业用户的使用,人们可以通过窗口、菜单方便地进行操作,使程序员和用户从大量的命令中解脱出来。目前的桌面机操作系统大多有着美观、操作方便、功能齐全的,进何如明说步一进,例为计设面界形图的器放播程用应湖北工业大学硕士学位论文例如的和。然而,与桌面机系统不一样,嵌
12、入式以及系统一般都是固化在存储芯片上,很少存储在大容量的磁盘设备上,而且嵌入式系统处理器芯片的主频较低、存储容量较小,所以我们在设计图形用户界面系统的时候,必须考虑嵌入式系统的基本要求:轻型、占用资源少、模块化设计、可裁减性、可移植性。当前嵌入式系统种类繁多、良莠不齐,因此,针对特定的嵌入式硬件平台和软件平台选择一款优异的显得很重要。目前,嵌入式的研发正处于起步阶段,对嵌入式系统的研究己成为嵌入式系统研究及发展中的一个热点,在嵌入式领域有许多技术难题尚待解决,因而研究与开发嵌入式图形用户界面有着长远的意义。论文的主要内容嵌入式操作系统对于嵌入式电子产品来说是必不可少的,嵌入式由于源代码开放,因
13、此是使用最多的嵌入式操作系统之一,而嵌入式在嵌入式中又是非常重要的,尤其是对嵌入式网络设备更是必不可少。因此,构建一个小型、高效的系统具有很大的实用价值和现实意义。本文的研究工作主要包括以下几个方面的内容:第一,在深入分析了嵌入式系统发展背景的基础上,介绍了的概念,并对目前嵌入式的发展现状和发展前景进行了全面的分析。接着介绍了嵌入式系统的概念和组成,描述了本课题的硬件平台开发板的和嵌入式软件平台系统的特点。第二,阐述了体系结构,最后详细分析了序的创建过程、客户端服务器的工作模式和通信原理,为进一步实现基于的系统和开发应用程序提供了理论依据。第三,对底层支撑软件进行了研究,并详细描述了实现过程,
14、包括、内核的编译和移植过程,根文件系统的选择与构建,以及基于驱动程序的设计和移植步骤。第四,详细叙述了和在宿主机的安装以及到的移植步骤和注意的细节,并在目标机上成功构建基于的系统后,以嵌入式行应用程序开发。湖北工业大学硕士学位论文第章嵌入式系统平台概述嵌入式系统概述嵌入式系统的概念嵌入式系统()】是一个相对模糊的定义,目前己经渗透到我们生活中的每个角落,包括工业、服务业、电子消费等等各个领域,由于这种应用范围的扩大,使得“嵌入式系统更加难于明确定义。比较权威的定义有两种,一种是,国内的一般的定义是:嵌入式系统是计算机软件和硬件的综合体,它是以应用为中心和以计算机技术为基础的,并且软硬件是可以裁
15、减的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。另一种是,(国际电气和电子工业协会)的定义是:嵌入式系统是用于控制、监视或者辅助操作机器的设备和装置。两种定义分别是在不同方面来阐述嵌入式系统的特点,其实笔者认为可以将嵌入式系统简单的理解为一种软件和硬件的综合体,将电子于计算机技术与具体应用相结合后的产物,是一种体型小巧、功能强大的集成系统。嵌入式系统的组成嵌入式系统一般指非系统,它包括硬件和软件两部分,硬件设备包括处理器和外围设备,软件部分包括操作系统软件和应用程序。嵌入式处理器是嵌入式系统的核心部分,它与通用处理器最大的区别在于,嵌入式处理器大多工作在为
16、特定用户群所专门设计的系统中,它将通用处理器中许多由板卡完成的任务集成到芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。如今,全世界嵌入式处理器已经超过多种,流行的体系结构有多个系列,其中以、等使用最为广泛。外围设备在嵌入式系统中主要用于完成存储、通信、调试、显示等辅助功能,如存储器及外设器件和端口、图形控制器等。嵌入式操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统不仅具有通用操作系统的一般功能,如向上提供对用户的接口(如图形界面、库函数等),向下提供与硬件设备交互的接口(硬件驱动程序),管理
17、复杂的资源系统,同时它还湖北工业大学硕士学位论文在系统实时性、硬件依赖性、软件固化性以及应用专用性等方面具有更加鲜明的特点。嵌入式系统的应用环境复杂,嵌入式处理器的多样化,使嵌入式操作系统的种类繁多,以适应不同的应用。常用的嵌入式操作系统有如下几种商业:,等开源:,等国内:,等应用软件是针对特定应用系统领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件。由于嵌入式系统本身的特点,决定了嵌入式应用软件除了具有应用软件本身的特点外,还要做到准确、安全和稳定,而且还要尽可能的减少代码量,以减少对系统资源的消耗,从而降低硬件成本。嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用
18、相结合才具有其实用价值。硬件平台开发板概述处理器简介),既可以认为是一个公司的名字,也可以(认为是对一类微处理器的通称,还可以认为是一种技术的名字】。采用架构的微处理器一般具有如下特点:体积小、低功耗、低成本、高性能;支持(位)(位)双指令集,能很好的兼容位位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固定。年公司成立于英国剑桥,主要出售芯片设计技术的授权。在创立至今短短的几十年的时间就占据了的市场份额,芯片在嵌入式领域几乎随处可见,它目前是世界上销量最大的位微处理器。位的处理器由于它的低成本、低功耗和高性能的特性,使其已成为位
19、嵌入式处理器的事实上的标准,技术正在逐步渗入到我们生活的各个方面。¥处理器的体系结构及特点本课题目标机使用的硬件平台是友善之臂信息技术有限公司开发的开发板,其中央处理器采用韩国三星公司的¥。这块处理器是一款基于内核的位嵌入式微处理器,主要面向手持式设备以及高性价比、低功耗的应用,中央处理器为¥】。外部存储器为位以及。扩展网口,接口芯片为。接口可接湖北工业大学硕士学位论文,级灰度屏。接口兼容规范,接口芯片为。串口:有两个标准针接口。时钟源:内部实时时钟。接口;音频输出,其硬件平台框架如图所示。图硬件平台软件平台概述目前,在技术领域和市场领域经常见到嵌入式操作系统比较多,比较常用的有嵌入式操作系统
20、,系统逐一进行简单介绍。”】操作系统是美国风河()公司设计开发的一种嵌入式实时操作系统(),由于其具有高性能的内核、开发环境简便、可靠性高,又具有实时性,因此被广泛应用于通信、航空、航天等实时性要求极高的领域中。但目等,下面将对上述几种嵌入式操作前支持的协议有一定的局限性,任务间的通信机制不够完善。源代码不开放,再加上学习的移植需要相当长的时间才能掌握,因此并没有得到很多开发厂商的支持。操作系统是家族中的新成员,是一种位的多任务操作系统。是有优先级的多任务操作系统,它允许多进程,在相同时间系统中运行支持最大的位同步进程。此外,其组件可以裁剪,更适合嵌入式设备。与桌面机系统很相似,包含图形接口的
21、人机接口,还包含了浏览器等组件。但对硬件要求相对较高,例如主频要求高,内存及外部存储容量也较大。而且同一样的源代码不开放,从而阻碍了更多开发者的加入。的产生来自于一名芬兰学生的业余爱好,从诞生以来,就不断有开发者加入它,并且是一些高级开发人员热衷的项目,这些使得在短期内就成为迅速成长成为了一个唯一能和系统相媲美的操作系统。是一个多用户多任务操作系统,支持分时处理和软实时处理,并带有微内核特征(如模块加载卸载机制),具有很好的定制特性。从诞生至今虽然只有十几年,但它已形成了一个庞大的家族,大到服务器领域,小到微型机领域,包括现在的嵌入式领域,都具有其不可代替的优势。作为嵌入式操作系统,嵌入式系统
22、稳定、功能强大,而且使用成本低,具有开放的源代码,开发者可以任意的学习、修改、裁剪,这也是众多开发者加入的原因,这点优势是其他商用操作系统无法比拟的。嵌入式有很好的文档支持和优秀的开发工具。是互联网充分发展的产物,许多关于的技术文档和开发工具都可以在互联网浏览和下载,开发者同样可以不断完善和扩展这些技术文档和开发工具。此外,嵌入式还具有强大的网络功能和多处理器的支持。嵌入式诞生于互联网时代并具有的特性,保证了它支持所有标准因特网协议,并且可以利用的网络协议栈将其开发成为嵌入式的网络协议栈。内核提供对多种处理器的支持,并且正在进一步增加对嵌入式微处理器的支持。目前的内核支持,¥,等处理器体系结构
23、。鉴于诸多优点考虑,本课题选择嵌入式系统作为目标机的操作系统。本章小结本章介绍了嵌入式系统的概念和组成,描述了本课题的硬件平台开发板的和常用嵌入式系统的特点,最后阐述了嵌入式系统的特性,并选择了嵌入式系统作为嵌入式操作系统。第章客户端服务器通信原理概述的组成是挪威的奇趣科技公司的设计的主打产品,作为一款优秀的跨平台的应用程序开发框架,深受开发者的追捧,它是桌面系统以及集成开发工具的所实用的开发库。公司于年推出了版,然后接着推出了版,版,直到发展到现在最新的版,版又可称为。广义上来说,一个完整的应用开发框架由开发库、预言家、设计者、助手以及的嵌入式版本等组成,如图所示。开发平台图的组成()开发库
24、开发库是最主要的组成部分,开发库拥有的类大概有多个,当然这个数字还会增加。开发库则主要由、图形用户接口、国际化语言等类构成。开发库多用于下载软件如、电驴、迅雷等软件的底层接口函数和底层模块。()对接直层底在,¨【赖依的湖北工业大学硕士学位论文是受各自不同国家和实用不同语言的开发者喜欢的原因之一,它可以使开发者在开发过程中不受语言不同所带来的影响。开发者在开发过程中不需要过多的修改源码,便可以轻松的应对开发小组中由于所用语言不同所带来的影响。促使更多使用不同语言的开发者使用。()是一个集成的开发环境,它是一个带图形界面的布局与窗口构建器,可以在多种平台上运行,主要是用来对软件的主图形界
25、面与按钮等窗口部件进行布局、管理,以及构建对话框等窗口的。()是一款帮助软件,当开发者开发完图形软件后,可以自我定制帮助系统,它也可以当作帮助文档的浏览器来使用,非常的方便、快捷。()的嵌入式版本的嵌入式版本主要指的是和是公司面向嵌入式系统和移动产品开发而推出的版本,也分为开源版和非开源版,具体介绍将在后文中将详细叙述。此外,还有其他软件,比如()是公司开发的跨平台脚本工具箱,为静态的应用程序提供一个脚本界面,以及可以使应用程序很容易扩展。相关的另一个产品是面向程序员的应用程序框架,它也是基于开发库构建的。除此之外,还有一些开源的在其他开发语言上的绑定,如,它是的绑定,还有,则是的绑定,还有的
26、绑定等。由此可见,除了程序员可以轻松的编写应用程序开发外,使用其他语言的程序员也可以轻易开发应用程序。是一个公司专门为小型的嵌入式设备提供图形交互界面的开发框架,也是一个底层的图形引擎。是根据嵌入式系统体积小、软硬件都有限的特点,精简的而得到的版本。因此的完全兼容的标准,资源丰富,并且基本继承了的几乎所有优点,下面简单介绍一个与不同之处是消除了对(帧缓冲)进行操作。针对复杂臃肿系统,其资源消耗比较大,并且其所消耗的存储和运行空间都是嵌入式系统满足不了的。除此之外,功能强大、设计复杂,其使用需求并不是嵌入式系统实际的的使用需求。,序程用应湖北工业大学硕士学位论文开发库可以裁剪和定制,裁剪后的库文
27、件大小可以压缩到。这样简单精炼的开发库不仅可以提高时间和空间效率,还能满足本系统实时性的需求。同相比,非常节约空间,因为它不需要创建服务器或客户端。没有采用库,其下一层是技术引,上一层是提供图形抽象层和输入抽象层的接,的实现结构如图所示。应用程序移“础应用编程接口,核心层:,图形抽缘层,输入抽缘层输入设备驱动二卜嵌入式内核硬件平台图实现结构为开发者提供了统一兼容的编程接口,通过调用提供的,开发者就可以自如的设计出功能强大的提高嵌入式图形界面的开发效率。的优势,它是在上层应用层创建程序,开发者不需要考虑与硬件相关的因素。而且,在做不同硬件和操作系统的扩展和移植时,不需要改动应用层代码,而只需要改
28、动图形抽象层和输入抽象层这部分与硬件或操作系统有关的代码即可。很容易就可实现在多硬件平台上的扩展和移植。在底层定义了统一的编程接,并提供对组件开发的支持,这为开发大型的应用程序带来了极大的便利和分工协作。采用消息槽通信机制来取代回调()机制【】,这种机制的好处是既强调类型,又使得毫无关系的对象可以互相通信和互相协作。这个特点也是它适合于组件编程,把一个大规模的程序划分成小模块的特点。库采用面向对象的方法实现,可以缩短开发时间和减少代码量。设计合理的类,并通过继承和派生使代码能够重用,以减少系统开销量。由实现结构可知,外部设备的驱动仅位于它的下一层,因此添加外部设备如显卡、键盘、鼠标等外围设备及
29、其方便。的客户端服务器结构湖北工业大学硕士学位论文系统系统又称为或,是麻省理工学院于年开发的是一种位图方式显示的视窗系统【】,通常由客户端服务器模型和协议两个部分构成。随后被广泛使用到了系统之上,后来便演变成类系统图形界面的使用标准。比如,我们熟知的的桌面机系统和都是在建立在的基础之上。经常使用系统的用户都知道,一般跨平台的软件的安装针对很多平台,一般针对或的版本,就是适用于的版本。由于很容易扩展,所以目前大多操作系统都可以运行系统。是一个分布式的应用系统,在设计之初就考虑到网络的因素,因而在体系结构上采用了客户端服务器模型。同时为了便于扩展和移植,的客户端服务器模型并不依赖于具体的的软、硬件
30、,而是依赖于抽象的协议。在系统中,的服务器()主要功能是响应客户端的请求,与图形设备通信,负责底层的具体操作,并向客户端提供显示输出对象的能力。客户端()不具有显示的功能,所以只能向服务器发送显示请求。随后服务程序将显示的具体对象进行解释,再传给硬件设备,最后服务器再将显示事件的结果返回给客户端。然而,服务器与客户端如何通信呢?这就是协议的作用,它是客户端与服务器通讯的桥梁,系统架构示意如图所示。图系统架构然而,在现有的嵌入式设备中,和内存等硬件资源都有限并无法跟微型机相比,因此嵌入式设备的桌面环境建立在之上目前来说是不现实的。在嵌入式系统环境下,具有自己特有的客户服务器模型,并完成了几乎所有
31、所做的主要任务。创建应用程序的过程湖北工业大学硕士学位论文!,鬯!蔓,!曼!曼!曼】在应用程序的创建过程中起完成了初始化工作、创建会话管理器、启动应用程序服务器进程、创建调色板等等,其具体的调用过程如图所示。:“:士:。,:上:图构造函数的调用过程应用程序的创建过程其实并不复杂,主要是靠类来实现,其主要的实现过程如图所示。首先类成员的初始化工作由构造函数:和:来共同完成。然后依次调用、:和:。再调用:来启动服务器,来初始化显示设备,来初始化网络协议。其中在函数里,用户可以构建对象,通过创建默认的装饰风格以及通过:来设置字体。调用:来完成进程的命令行解析,调用:初始化对象,随后再通过:创建调色板
32、,并通过创建新的会话管理器。的工作模式分析如上文所说的窗:系统具有自己的一种客户端服务器体系结构,其窗口系统体系结构如图所示。在一个典型的嵌入式窗口系统中一般包括一个或多个客户端进程(简称客户端),一个服务器进程(简称服务又念概型模器务服户客的指泛般一与型模器务,序程用用应应,中湖北工业大学硕士学位论文器)。然而的客户不完全一样,在中,客户端和服务器都是并不是位于不同机器上应用程序。服务器和客户端不是独立分别运行在不同的机器上,而和客户端应用程序并且在同一机器上运行。在类主要完成服务器的构建,则主要完成客户端的构建。在系统中有程却只能有一个。在个启动的应用程序,这个应用程序除了具有一般程序的客
33、户端外,还具有服务器的功能。图服务器与客户端的划分并不完全以应用程序的多少里来划分,而是以应用程序的功能来划分的。假设当前在系统中只有一个应用程序在运行,那么该应用程序中既有服务器又有客户端,也就说它同时具备服务器的功能和客户端的功能;假设系统中有多个应用程序同时运行,那么则以参数方式运行的那个应用程序跟只有一个应用程序运行的时候一样,同时具备服务器的功能和客户端的功能,而其它应用程序只具有客户端的功能。在没有特殊情况下,如果应用程序在启动时,没有加参数,则默认它是以客户端启动的。一中客户端与服务器通信中客户端与服务器通信方式在中,客户端进程可有多个,但服务器进程只能有个【。服务器是以作为参数
34、运行的应用程序,它除了具有一般应用程序的客户端功能外,还具有服务器的功能。在这种情况下服务器与客户端在同一个进程中,也就是说客户端与服务器的通信是发生在同一进程空间中。在这种情况下,其实只需要通过两个队列结构就可以完成消息的传递。当服务器有命令或事件发送给客户端时,服务器就把此命令或事件放到与服务器对应的消息队列()中,直到客户端从取出此命令或者事件。而客户端也是如此,当客户端有命令或事件发送给服务器时,则把此命令或事件放到与客户端对应的消息队列()中,直到服务器从取出此命令或者事件。当然,这只是一个大致的通信过程。大多数情况下系统中总则存在多个客户端,它们都是没有用参数启动的应用程序时。这些
35、客户端有一个特点,就是它们与服务器不处于同一进程中。此时客户端与服务器的通信指的是不同客户端进程与一个服务器进程的通信。在这种情况下,不同客户端与这个服务器的通信不能再以队列的形式通信而是通过进行。多个客户端和一个服务器通过函数:()向对方发送事件和命令,然后服务器将来自鼠标及键盘等硬件输入的数据抽象通过以事件的形式发送给客户端。在发送的过程中,服务器还要把对窗口的全局管理也以事件的形式发送给客户端。在发送的同时,服务器还通过等待接收来自客户端发送过来的命令或事件,然后再进行相应的操作。客户端本身不具有处理的能力,需处理的窗口的全局管理及键盘鼠标命令数据同样用以事件的形式发送给服务器,交给服务
36、器处理。同服务器一样,客户端在发送的同时还要通过接收来自服务器的事件,然后发给相应的客户端进行窗口处理。由上述分析可知,中的客户端与服务器通信可以分为两种情况,一种是单进程情况,即服务器端与客户端在同一个进程中,另一种是多进程情况,即服务器端和客户端在不同的进程中,其通信模型如图所示。进程进程胳器骆户。一一一一一进程一一进程一客户端与服务器在不同进程图客户端服务器通信模型除了队列和的通信方式外,行通信,这种情况主要是用在图形绘制过程中。采用共享内存可以在客户端之间和客户端与服务器之间快速高效的共享数据。首先创建一段共享内存区,进程再将其映射到该进程的私有地址空间,因此,这个进程就可以直接快速的
37、读写这一块共享内存区,不需要进行繁琐的数据拷贝。同时避免了相同的数据在不同的客户端中不断的申请空间,从而造成资源的浪费。共享内存还能方便的协调客户端之间的行为,并且还保持唯一的全局数据。多进程中客户务器通信在通讯则是靠实现的。()是中的一种通信协议,它可以使不同的客户端在同一进程中通信,也可以使不同的客户端在不同的进程之间进行通信。目前,机制技术仅在和中投入了使用,在和中暂时还未使用此通信协议。由上文分析可知在中,多进程的情况下客户端与服务器通信是通过通信,而其具体的实现过程是通过通道完成的。类的首先创建一个通道对象,并重载调用函数,然后利用函数建立起信号与槽函数的桥梁。这个通道本质上是内存临
38、时数据区的一个临时文件,湖北工业大学硕士学位论文在通信的接口中封装了机制。多进程中,通道通信前首先要注册通道,然后才能进行后续的通信工作。在系统中,服务器总存在一个队列,其内部注册的是通道名称和客户端对应对象的,在客户端总存在着一个队列,其内部注册的是通道名称和服务器或客户端对应的对象。多进程中客户端朋艮务器具体的通信过程图如图所示图多进程中客户端服务器通信其具体通信过程如下:)一个要进行通信的进程首先构造一个对象,这里假设是,然后把这个对象与要注册的通道名,这里假设是通道名同时注册到队列中。)客户端向服务器发出注册命令,服务器读取注册命令后进行查找操作,找到与这个客户端名称所对应的客户端对象,然后把
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高分秘技2024年CPMM试题及答案
- 国际冷链物流解决方案试题与答案
- 2017年辽宁省鞍山市中考化学试卷(解析)
- 餐饮美学基础 课件全套 模块1-4 餐饮美学概论 -餐厅民俗美学
- 真人分享2024年CPMM考试经验试题及答案
- 烫伤急救与护理课件
- 植物对环境变化的适应试题及答案
- 江苏扬州历年中考作文题(2001-2024)
- 高效学习2024年CPMM的法门试题及答案
- SCMP全真模拟试题及答案分享
- 2025年甘肃省白银市景泰县公益性岗位招聘9人历年高频重点提升(共500题)附带答案详解
- (新版)大堂经理持证上岗(厅堂服务类)考试题库(含答案)
- 《光电对抗原理与应用》课件第5章
- 三维建模合同
- 八年级劳动教育国家测试题及答案
- 2025年中煤集团华东分公司及所属项目公司公开招聘管理单位笔试遴选500模拟题附带答案详解
- 《海洋牧场岩土工程勘察规程》
- 2024年吉林省高职高专单招考试数学试题(含答案)
- DB52T 1693-2022 文化旅游商品基地规范与评定
- 《马克思主义原理》课件
- 新生儿常见导管护理
评论
0/150
提交评论