学位论文 > 优秀研究生学位论文题录展示

Heterosis:一种基于XCB的新型窗口管理器

作 者: 王鹏
导 师: 李毅
学 校: 电子科技大学
专 业: 计算机系统结构
关键词: 窗口管理器 X窗口系统 dwm Heterosis Xlib XCB
分类号: TP316.7
类 型: 硕士论文
年 份: 2010年
下 载: 20次
引 用: 0次
阅 读: 论文下载
 

内容摘要


在计算机科学中,窗口管理器(Window Manger)是指一种用于在图形用户界面(GUI)中控制窗口系统(Windowing System)中各窗口位置和外观的软件。大部分的窗口管理器被用于为某种桌面环境(Desktop Enviroment)提供支持。窗口管理器一般用控件工具包(Widget Toolkit)编写而成,并且需要与其下层的窗口系统协同工作,而窗口系统则为其提供诸如图形硬件,指点设备和键盘等底层支持。本文首先介绍了当代三大桌面操作系统平台上窗口管理器的现状,并简要介绍了窗口管理器的发展历史,分析了当今窗口管理器的各种类型,特性以及功能。在三大桌面操作系统当中,X窗口系统(X Window System)是绝大部分类UNIX操作系统平台上的图形子系统。本文接着介绍了其发展历程,设计原则,并着重分析了其底层的窗口协议(Window Protocol)的通信过程和主要数据结构。传统上,几乎所有基于X窗口系统的窗口管理器都是使用Xlib作为其底层的图形程序库。但Xlib的历史久远,其在设计与实现上也都有一定的缺陷。而2001年出现的XCB,正好成为了Xlib的一个更优的替代品。在本文的后续部分中,分别对Xlib和XCB进行了介绍,分析了它们的数据类型和API函数,以及各自的优缺点,并给出了Xlib同XCB的应用程序实例,而且重点对二者请求应答往返时间的性能进行了详细的定量对比和分析,结果显示XCB的时间性能较Xlib大约高出30倍,且差距随着请求数量的增加而加大。在众多的窗口管理器之中,dwm是一种基于X窗口系统且开放源代码的动态窗口管理器。在此前提之上,dwm被选定作为代码基础,以实现一种新的窗口管理器——Heterosis。它将dwm从传统上常用的Xlib程序库移植至XCB之上,进而提高了其性能。本文在后续的部分中,描述了Heterosis的整个实现过程,包括dwm的现有设计,Heterosis的版本控制方法,逻辑流程,具体的移植方法,实现过程中所遇到的问题和解决方法,以及调试过程等等,并给出了源代码说明和清单。最后给出了对于窗口管理器在设计上的展望,以及Heterosis其今后可以改进的地方。

全文目录


摘要  4-5
ABSTRACT  5-11
第一章 引言  11-15
  1.1 课题研究背景和动机  11
  1.2 dwm 窗口管理器  11-12
  1.3 当今各平台的窗口管理器研究现状  12-14
    1.3.1 X 窗口系统  12-13
    1.3.2 微软 Windows  13
    1.3.3 Mac OS  13-14
  1.4 论文主要工作和内容组织  14-15
    1.4.1 论文主要工作  14
    1.4.2 论文内容组织  14-15
第二章 窗口管理器  15-24
  2.1 窗口管理器的历史  15
  2.2 窗口管理器的类型  15-20
    2.2.1 平铺式窗口管理器  15-17
    2.2.2 堆叠式窗口管理器  17-19
    2.2.3 合成式窗口管理器  19-20
  2.3 窗口管理器的特性与功能  20-23
  2.4 本章小结  23-24
第三章 X 窗口协议分析  24-38
  3.1 X 窗口系统简介  24
  3.2 X 窗口系统的历史  24-25
  3.3 X 窗口系统的设计原则  25-26
  3.4 X 窗口协议  26-37
    3.4.1 X 窗口协议简介  26
    3.4.2 X 窗口协议剖析  26-29
    3.4.3 资源标识符  29-30
    3.4.4 原子  30-31
    3.4.5 窗口  31-32
    3.4.6 像素映射  32-33
    3.4.7 事件  33-35
    3.4.8 键盘与指点设备  35-36
    3.4.9 扩展  36-37
  3.5 本章小结  37-38
第四章 X 协议的客户端库分析与比较  38-54
  4.1 XLIB 分析  38-43
    4.1.1 Xlib 简介  38
    4.1.2 Xlib 的数据类型和API  38-40
    4.1.3 Xlib 的优点  40
    4.1.4 Xlib 的缺点  40
    4.1.5 Xlib 应用程序实例  40-43
  4.2 XCB 分析  43-49
    4.2.1 XCB 简介  43
    4.2.2 XCB 的数据类型与API  43-45
    4.2.3 xcb-util 程序库  45
    4.2.4 XCB 的优点  45-46
    4.2.5 XCB 的缺点  46
    4.2.6 XCB 应用程序实例  46-49
  4.3 XLIB/XCB 往返性能对比和分析  49-53
  4.4 本章小结  53-54
第五章 HETEROSIS 的实现  54-70
  5.1 DWM 的现有设计  54
  5.2 参考文档和XCB API 手册  54
  5.3 源代码的版本控制  54-55
  5.4 HETEROSIS 的基本逻辑流程  55
  5.5 具体的移植过程  55-58
  5.6 调试工具  58
    5.6.1 Xephyr  58
    5.6.2 GDB  58
  5.7 HETEROSIS 的使用  58-60
  5.8 HETEROSIS 的特点  60-61
  5.9 HETEROSIS 的运行效果  61-63
  5.10 HETEROSIS 源代码说明  63-69
    5.10.1 config.def.h 文件  63-64
    5.10.2 heterosis.c 文件  64-68
    5.10.3 config.mk 文件  68
    5.10.4 Makefile 文件  68-69
  5.11 本章小结  69-70
第六章 总结与展望  70-72
致谢  72-73
参考文献  73-77
附录 HETROSIS 的源代码  77-120
  A.1 CONFIG.DEF.H 文件  77-79
  A.2 HETEROSIS.C 文件  79-118
  A.3 CONFIG.MK 文件  118
  A.4 MAKEFILE 文件  118-120
攻读硕士学位期间取得的研究成果  120-121

相似论文

  1. 嵌入式桌面环境的研究与实现,TP368.12
  2. Space操作系统的终端服务的研究和实现,TP316
  3. 图形系统在机顶盒软件体系中的设计与实现,TN948.55
  4. 基于DaVinci平台和嵌入式Linux系统构建图形桌面环境,TP391.41
  5. 多层体系结构的动态WEB模型的研究与开发,TP393.092
  6. 平台式惯导系统的软件设计,TN967
  7. 嵌入式Linux中图形用户界面的研究与实现,TP316.81
  8. 嵌入式图形用户界面系统的设计与开发,TP311.52
  9. 移动终端图形用户界面的研究和实现,TP311.52
  10. 移动终端人机交互技术的研究与实现,TN929.5
  11. PDA线务通的研究与实现,TP393
  12. 基于linux的终端仿真程序的研究与开发,TP391.9
  13. 织物成形模拟的有限元方法研究,TS101
  14. 基于ARM9的Windows CE系统移植,TP316.7
  15. 基于ARM的嵌入式实时操作系统的设计与开发,TP316.2
  16. 基于uC/OS-Ⅱ的车载危险品运输监控终端的设计与实现,TP316.84
  17. 基于gPXE的智能无盘系统管理技术研究,TP316
  18. 虚拟桌面系统中应用服务的管理与协同,TP316.7
  19. 嵌入式实时操作系统ARTs-OS的时间管理,TP316.2
  20. 嵌入式实时操作系统ARTs-OS中TCP/IP协议栈的开发,TP316.2
  21. 嵌入式实时操作系统ARTs-OS中的网卡冗余技术,TP316.2

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 操作系统 > Windows操作系统
© 2012 www.xueweilunwen.com