论文部分内容阅读
随着信息技术和电子产品的发展,嵌入式Linux系统已经广泛用于生产生活的各个方面,许多基于嵌入式Linux的硬件设备均需要一个高效率、可扩展的GUI。嵌入式Linux环境下,GUI的整体架构与桌面Linux环境类似,但考虑到系统资源限制,可移植性等方面,需要对桌面Linux环境下GUI系统进行部分重新设计与裁剪。目前国内外存在多种基于Linux的嵌入式GUI解决方案,形成不同架构多种实现形式,各自存在一定的优势和不足。在这种形势下,开发出一种高效稳定、扩展性和移植性强的嵌入式GUI,具有重要的研究意义和应用价值。本文从GUI系统模型入手,分析其设计原则,结合Linux内核关于GUI的关键技术,研究了消息驱动、窗口管理、输入输出等几个重要GUI模块的原理和实现,从嵌入式系统资源占用少、高效可靠、扩展移植性强的要求出发,总结出一种高效率可扩展的GUI系统架构,在此基础上设计并实现了一个基于Linux的GUI原型系统,对系统功能和性能进行了测试和分析。本论文主要工作如下:①对GUI系统的结构以及Linux下帧缓存、进程间通信以及I/O多路复用等GUI关键技术进行了深入研究,划分出GUI系统的三大层次与六大功能模块。采用了基于多任务的C/S模式体系架构,分析了消息驱动中同步/异步消息处理各自的优势和不足,总结出窗口管理中的z序、剪切域等概念和有效的窗口裁剪算法,并指出图形库、输入/输出抽象层和控件的模块划分对于系统的扩展性与可移植性的重要意义。②在本文总结出的GUI系统架构的基础上,设计实现了一个GUI原型系统。该系统采用UNIX域套接字实现C/S通信,使用I/O多路复用和基于优先级的消息队列处理同步/异步消息,通过共享存储完成服务器与客户端的显示同步。论文对系统设计和实现中的关键部分进行了分析和阐述。③在模拟环境中对原型系统进行了测试,测试结果表明本系统能够实现GUI中窗口管理、消息驱动及显示的功能,具有较高的可靠性,同时在平衡C/S各端负载,提高整体效率方面具有很好的性能表现。测试结果验证了本文所述的GUI设计是有效可行的。