发布网友 发布时间:2022-07-29 15:48
共1个回答
热心网友 时间:2023-11-25 09:53
X的这种任务划分有几个优点:
1.客户程序可以在远程电脑上执行计算任务,而使用的X服务器仅负责复杂的图形显示,充分发挥X服务器在显示上的优势。
2.只有X服务器与硬件打交道,所有的客户程序都与硬件无关,这很容易在不同的平台上移植。
3.客户程序可以在不同的电脑上运行,从巨型机到个人电脑,从而充分发挥网络计算的优越性。
尽管每个X客户程序都可以对整个屏幕范围进行显示操作,但标准的做法是先创建一个显示视窗,此后客户程序的所有显示都相对于这个视窗进行操作。这样在同一屏幕内就能同时显示多个独立的客户程序,通过对视窗的管理在不同的程序之间进行切换。每个视窗应该位于屏幕的哪个位置、何时显示、何时隐藏,以及视窗的标题、四周如何显示等,这些都不应该由产生这个视窗的客户程序自己控制和维护,否则就不能达到简化设计的目的。X Window并没有自己实现这些任务,在X的设计原则中,这些代表 GUI风格的任务仍然是客户程序的任务,因此X将管理视窗的任务给予了一个特殊客户程序——视窗管理器,使用不同的视窗管理器会使X Window的外观看起来截然不同。
X系统只负责显示图形,并不*显示和操作的风格,因此不同的X Window的风格并不相同,用户可以根据自己的喜好进行选择。
在X Window上,所有的视窗形成了一个树状结构。X Window的视窗管理程序运行在根视窗上,所有的其他视窗为根视窗的子视窗,而其他视窗上也有相应的按钮、对话框等元件,这些是它的子视窗。如图7-2所示。
由于X Window系统只提供了最基本的系统调用,而具体的视窗都有很多共性,因此要开发X应用程序,应该首先使用开发工具包,而没有必要直接使用最基本的X Window 的系统调用,以简化编写程序的工作量。不同的公司或组织开发了各种工具包来提供创建和管理具体视窗的构件,例如Motif套件、OpenLook套件等。每种套件都提供了菜单、按钮、对话框等图形接口的标准构件,还提供基本的视窗管理器。使用不同套件开发的程序,其显示风格也不相同,因此就在不同程序之间形成了不同的GUI风格。Motif和Openlook 就是两种不同的图形接口风格,当前Motif成为了商业X Window的一个标准,很多商业软件均基于Motif进行开发,而Openlook则没有获得更普遍的支持。
(3)通信通道
有了Server和Client,它们之间就要传输一些信息,这种传输信息的媒介就是我们所要介绍的X的第3个组成部件:通信通道。凭借这个通道,Client传送“需求”给Server。而Server回传状态(status)及其他一些信息给Client。
Client是通过函数库来使用通信通道的。在系统或网络上支持通信形态需求的是内建于系统的基本的X视窗函数库(library)。只要Client程序利用了函数库,自然就有能力使用所有可用的通信方法。这时通道本身就变得不再重要了,而只是一个概念而已。
3.Server和Client之间的通信
Server和Client通信的方法大致有两类,对应于X系统的两种基本操作模式。
第一类,Server和Client在同一台机器上执行,它们可以共同使用机器上任何可用的通信方法做互动式信息处理。在这种模式下,X可以同其他传统的视窗系统一样高效工作。
第二类,Client在一部机器上运行,而显示器和Server则在另一部机器上运行。因此两者的信息交换就必须通过彼此都遵守的网络协议进行,最常用的协议为TCP/IP。这种通信方式一般被称为网络透明性,这也几乎是X独一无二的特性。
4.X的用户接口
X的设计目标之一就是能创建许多不同形式的用户接口。其他视窗系统提供具体的交互方法,而X只提供一般的架构,让系统创建者建造所需的交互风格。这种特性使得开发者可以在X的基础上建造全新的接口,并且可以在任何时刻根据自己的需要选用适当的接口。
一般来说,用户接口可以分为两部分。管理接口也就是视窗管理器,是命令的最高层,它负责在屏幕上建构或重建视窗,改变视窗的大小、位置,或者将视窗改变成图示等。
应用接口确定了用户和应用程序之间的交互风格,即用户如何利用视窗系统的设备程序来控制应用程序并输入资料给它。例如,如何用鼠标来选定一个选项。
5.X独立于操作系统
X不是内置于操作系统,它只是比用户层次稍高一些。在系统中也是一个相对独立的元件。这样做有如下优点:
1. 易于安装和改版,甚至去除。这种工作不需要重启系统,也不会对其他应用程序造成干扰。
2.第三方很容易支持并加强它的功能。例如你的制造厂商提供的系统不够好,你可以向别人买更好或更快的版本。
3.X不会制定操作系统,因此成为一种标准,这也是第三方发展软件的原动力。
4.为了开发者。在Server上进行工作时,如果程序异常中断,只会影响到视窗系统,不会造成机器的损坏或操作系统内核的破坏。