https://smart888.taobao.com/ 立观智能监控
分类: LINUX
2009-03-18 15:49:58
Tiny-X是标准X-windows系统的简化版,去掉了许多对设备的检测过程,无需设置显示卡Driver,很容易对各种不同硬件进行移植。Tiny-X专为嵌入式开发,适合用作嵌入式linux的GUI系统。Tiny-X图形系统是由SuSE赞助的,开发人员是XFree86的核心成员Keith Packard。目前TinyX是XFree86自带的编译模式之一,只要通过修改编译选项,就能编译生成Tiny-X。
作为XFree86 4.0(ftp://ftp.xfree86.org/pub/XFree86/4.0)的子集,性能和稳定性都非常好,适合内存资源比较少的系统的X系统,它是以 XFree86为基准,所以构置或设定的方式与 xfree86 是相同的。一般的X Server都太过于庞大,因此Keith Packard就以XFree86为基础,精简了不少东西而成Tiny X Server,它的体积可以小到几百Kb而已,非常适合应用于嵌入式环境。TinyX象X Window系统一样采用标准的Client/Server体系结构,如下图所示:
1.X服务程序也称作显示管理器,是控制实际显示设备和输入设备的程序。它响应X客户程序的请求,直接与图形设备通信,负责打开和关闭窗口,控制字体和颜色等底层的具体操作。每一个显示设备只有一个惟一的X服务程序。
2.X客户程序是使用系统窗口功能的一些应用程序,无法直接影响窗口或显示,它们只能请求X服务程序,并通过X服务程序提供的服务在指定的窗口中完成特定的操作。
在嵌入式系统GUI开发中使用Tiny-X开发上层应用是比较方便的,在实际使用中, Tiny-X底层要用到的库之间的关系如下图所示:
l Glib类库:Glib类库包括一些基本的数据类型和C语言需要的一些功能,与GUI无关,封装了一些常用的函数,如字符串相关函数、时间函数等。可以被GDK类库、GTK类库或直接被应用程序调用。
l GDK类库:建立在Xlib上的针对图形图像类封装的底层图形库。可以被GTK类库或应用程序直接调用。
l GTK类库:建立在Xlib和GDK之上的面向对象的类库。GTK提供了完善控件集,应用程序主要也是基于GTK类库来编写。