赛迪网 > IT技术 Linux > 嵌入式应用
  IT资讯搜索
 
IT产品搜索

主流嵌入式Linux系统下GUI解决方案 (2)

发布时间:2007.03.09 03:32     来源:赛迪网技术社区    作者:lynn

一点建议

  综合上述GUI解决方案各方面的性能,归结起来有在国内有四种GUI较为适用,笔者对其做出推荐。

  1.OpenGUI

  由于基于汇编实现内核,并利用MMX指令进行了优化,OpenGUI运行速度非常快。它支持32位的机器,能够在多种操作系统下运行,主要用来在这些系统中开发图形应用程序和游戏。由于历史悠久,OpenGUI非常稳定,但是由于其内核用汇编语言实现,其内部使用的是私有的API,所以其可移植性较差,可配置性也较差。

  2.Qt/Embedded

  这个版本的主要特点是可移植性较好。因为Qt是KDE等项目使用的GUI支持库,所以许多基于Qt的X Window程序可以非常方便地移植到Qt/Embedded版本上。因此,自从Qt/Embedded以GPL条款发布以来,就有大量的嵌入式Linux开发商转到了Qt/Embedded系统上,如韩国的Mizi公司。但是,由于它是基于C++类库的,所以和其他GUI相比系统消耗资源较大。因此说Qt/Embedded是肥美型的产品,功能丰富,一般用于手持式高端信息产品。

  3.MiniGUI和Micro-Windows的比较

  MiniGUI和MicroWindows均为自由软件,但这两个系统的技术路线却有所不同。MiniGUI的策略是建立在比较成熟的图形引擎之上,比如Svgalib和LibGGI,开发的重点在于窗口系统、图形接口之上。而MicroWindows的开发重点则在底层的图形引擎之上,所以可以对裸显示器直接操作,而窗口系统和图形接口方面的功能还稍有欠缺。比如说,MiniGUI有一套用来支持多字符集和多编码的函数接口,可以支持各种的字符集,包括GB、BIG5、UNI-CODE等,而MicroWindows在多字符支持上尚没有统一接口。

  X Window System的分层架构

  ● X ServerX Window System架构上有一项特点是别的GUI系统所没有的,这个特点就是Client/Server架构,注意这里和一般我们所熟知的某某服务器(Server端)跟PC端(Client端)相连接的情形是不同的。惟一类似的是X Window System本身也是采用网路架构设计。具体而简单一点的说明就是,X Client可以看作我们在X上执行的软件,X Server则是负责显示及传递使用者输入事件(包括键盘、鼠标等硬件装置的输入)。

  ● Graphic Library

  我们可以把一幅图案想象成有成千上万个细微小点所组成,这种小点的单位通常为pixel,在同一平方单位里这些小点数越高图案就越清晰、画质就越好,也就是说分辨率或解析率高。事实上我们要设计的视窗当然不可能是这样一点一点地画上去的,这样太过浪费时间,基于这种观念我们就设计出高阶一点的函数来帮助我们解决这个繁琐的步骤,例如各类视窗编程里用到的画点、画线、画矩形、画圆形、画不规则形、上色等函数。透过这些函数是的程序设计者不用去管画一条线要几个点以及如何让显示器显示等林林总总低阶的工作,我们称绘图相关的一组函数库为GUI的基本Graphic Library。

  ● Toolkits

  有了点、线、面的函数之后,虽然已经去除了大半的重复无聊工作,但是就开发视窗程序来说,还是显得非常没有效率,怎么办呢?只有继续将构成视窗的抽象元件,如按钮、卷轴、组合框等各类控件抽离出来,重新定义一组更高阶的函数库,在配合上联系的语法函数就成立Toolkits这类的东西,目前流行的有QT、GTK+等。

  ● Window Manager

  有了Toolkits,我们可以很轻松地建立视窗模块(X Client),但是每个视窗模块只负责自己模块内的事务,那么不同视窗间的沟通、协调,例如视窗的切换、放大、缩小等,就没有模块管理了,于是视窗管理员(Window Manager)就应运而生了。

  ● Internationalization

  国际化通常是我们东方语系国家的人比较关心的议题,但是很多软件一开始都由西方国家所主导开发,因此这点常常受到忽略,这个问题牵扯的层面很多,上从语言的显示、输入、中止语言习惯,下到文字位元的处理,完整的解决是必须从头到脚彻底配合才能达成,只处理一半都只能说是一个蹩脚的系统。

  随着东方国家使用GUN/Linux的人口越来越多,I18N(i-eighteen-letters-n的缩写)也日益受到重视,目前底层libc部分已经有完整的支持,剩下来便是GUI系统的问题,由于处理双位元所耗的资源较大,西方国家主导的系统很多情况下,经过一些取舍,I18N就被牺牲掉了,整体而言Embedded Linux GUI系统在I18N的程度通常都没有PC端的好,只有在需求时才会使用。(T002)

<<上一页 1 2


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 在Linux下建立VPN服务器来做加密代理 (03-08) · 50MB的Linux操作系统 Feather Linux (03-08)
· 系统管理 从头开始对ubuntu进行优化 (03-07) · 新闻观察 回顾2006 Linux不失落的理由 (03-07)
· Linux下安装和使用杀毒软件AntiVir (03-07) · 利用IP别名托管多个SSL网络服务站点 (03-07)
· 一种高效率的数据信息传输技术Relay (03-07) · Linux操作系统下利用SSH进行远程控制 (03-07)
· 铲除病毒攻击两大威胁 走近Linux防护 (03-07) · 利用FAM和IMON在Linux下实现数据复制 (03-07)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管