X的体系结构
X Window并不是一个单一的软件,而是由一组软件协同工作的一个系统。主要是由X Server和X Clients通过X Protocol在网络上通信完成应用任务。X Client决定做什么,X Server则决定怎么做。其基本架构为:
图1:X系统的基本构成
X Server控制了所有的X资源和实体,同时负责一切由client所传来的X事件。
X Client就是X中的应用程序。很多在其它桌面系统中属于系统的功能,在X中都只是一个Client,特别是窗口管理器(Windows
Manager: WM)。这种结构,使得X下的软件开发非常灵活。
一个X Client若想要运行,必须打开一个显示器,连接一个X
Server,然后通过与X
Server之间的通信来完成所有的工作。
图2:X Server与Client间的交互
X Protocol定义了应用和它的显示之间的客户/服务器关系。通过这个协议,应用与它的显示被分离开来。更进一步地,X协议被定义为两层:设备相关和设备无关的;X Client与X Server之间的通信是异步的双向协议,任何提供字节流通信的方式都可以使用,可以是IPC,也可以是TCP/IP。X Protocol隐藏了操作系统和硬件的特殊性。这样大大简化了应用的开发和X Window System的可移植性。