📄 00000003.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER> <BR> 第2章 从基本系统模式概观X <BR> <BR> <BR> 在本章和下一章我们将描述X的基本架构,并介绍许多基础的观念,其目 <BR>的在於对你稍後使用系统时能有一个了解,你将会洞悉系统程式做些什麽和如 <BR>何做,如此你将更快和更有效率的使用系统,我们也会指出系统外在的利益, <BR>以及使用系统对你的影响。 <BR> <BR> 本章描述系统的基本元素,以及它们彼此之间如何交谈(interact),下一 <BR>章描述系统其它的面貌,特别是使用者介面。此章包含了许多新观念,你不妨 <BR>先很快的浏览这两章後,开始实际地使用它,当你对系统比较有感觉之後,再 <BR>回头来复习,这样比较容易了解。 <BR> <BR> <BR> <BR>2.1 X的基本元素 <BR> <BR> X不像早期的视窗系统,把一堆同类软体集中在一起,而是由三个相关的 <BR>部份组合起来。 <BR> <BR> 1. 一个"server"(供应者):是控制实际显示器和输入装置的程式。 <BR> <BR> 2. "Client" (顾客) 程式:需藉著server在指定的视窗中完成特定的 <BR> 操作。 <BR> <BR> 3. 一个 "通讯通道(communication channel)":client和server用来作 <BR> 为彼此交谈之用。 <BR> <BR> 基本的"server","client"和 "通讯通道" 的关系图如图2-1 。 <BR> <BR> ┌—————————————┐ <BR> │ p16 fig 2.1 │ <BR> │ │ <BR> │ 图 2-1 X的基础成员 │ <BR> └—————————————┘ <BR> <BR>底下我们描述一下这三个部份。 <BR> <BR> 2.1.1 Server <BR> <BR> Server是控制实际显示器和它的输入装置 (键盘和滑鼠或其它指示装置) <BR>的软体,server可以建立视窗、在视窗中画图形影像和文字、回应client程式 <BR>的 "需求" (requests),它不会自己动作,只有在client程式提出需求後才完 <BR>成动作。 <BR> <BR> 每一个显示器只有一个唯一的server。server一般由系统的供应厂商提供 <BR>,通常无法被使用者修改。针对作业系统而言,server只是一个普通的使用者 <BR>程式而已,因此很容易换一个新的版本,或许甚至是由第三集团提供的原始程 <BR>式 (注1) 。 <BR> <BR>注1:这是Unix系统上的情况,有些供应厂商会选择将server的部份或全部放 <BR> 在作业系统核心(kernel)。 <BR> <BR> <BR> 2.1.2 Client <BR> <BR> Client是使用系统视窗功能的一些应用程式。把X下的应用程式称作 <BR>"client",原因是因为它是server的 "顾客" :它要求server应它的需求 <BR>完成特定的动作。 <BR> <BR>Client无法直接影响视窗或显示,它们只能送一个 "需求" (request) 给 <BR>server,让server来完成它们的需求。典型的 "需求" 通常是: "在 XYZ视窗 <BR>中写一列 'Hello, world' 的字串" ,或 "在 CDE视窗中用这种颜色从 A点到 <BR> B点画一条直线" 。 <BR> <BR> 当然,对视窗操作提 "需求" 只是client程式的一部份,其它的部份是那 <BR>些让使用者执行的程式部份。例如:编辑文字、画一个系统的工程图、执行计 <BR>算表的计算等等。一般来说,client程式的这个部份和视窗是独立的,对於视 <BR>窗几乎不需要知道什麽,通常 (特别是指大型的标准绘图套装软体,统计套装 <BR>软体等) 应用程式对许多的输出装置具有输出的能力。在X视窗上的显示只是 <BR>client程式许多输出格式中的一种,所以,client程式中和X相关的部份在整 <BR>个程式中,只占了非常小的一部份。 <BR> <BR> 使用者可由不同的来源来使用client程式:一些是由系统提供的 (例如时 <BR>钟) ,一些来自於第三集团,一些是使用者为了特殊应用而撰写他自己的client <BR>程式。 <BR> <BR> <BR> 2.1.3 通讯通道 <BR> <BR> X的第三个元素为通讯通道,client藉著它送 "需求" 给server,而server <BR>藉著它回送状态 (status) 及一些其它的资讯 (information)。 <BR> <BR> 只要 client 和 server 都知道如何使用通道,通道的本身并不是很重要 <BR>,在系统或网路上支援通讯型态的需求是内建於系统基本的X视窗函数馆(library) <BR>,所有和通讯型态有关的事都从函数馆独立出来,client和server之间的通讯 <BR>只要藉著使用这函数馆(在标准X版为xlib)即可,如图2-2 。 <BR> <BR> ┌—————————————┐ <BR> │ p17 fig 2.2 │ <BR> │ │ <BR> │ 图 2-2 xlib函数馆的功能│ <BR> └—————————————┘ <BR> <BR> 总结来说,只要client程式利用函数馆,自然有能力用到所有可用的通讯 <BR>方法。 <BR> <BR> Client和Server通讯大略分为两类,相对应於二种基本X系统的操作模式: <BR> <BR> 1. server和client在同一部电脑执行,则它们彼此均可使用机器上任何 <BR> 可用的方法做交互处理通讯(inter-process communication <BR>(简称IPC)), 见图2-3 <BR>,在这种模式下,X可以像许多传统的视窗系统一样有效率 <BR> 的操作。 <BR> <BR> ┌—————————————┐ <BR> │ p18 fig 2.3 │ <BR> │ │ <BR> │ 图 2-3 在相同机器上的 │ <BR> │ client和server │ <BR> └—————————————┘ <BR> <BR> 2. client在一部机器上执行,显示器和server则在另一部机器上,则 <BR> client和server的通讯必需透过网路利用彼此同意的协定(protocol) <BR> 方可。目前,最常见的协定为TCP/IP和DECnet,但其它任何被提供的 <BR> 可信赖地协定亦可使用。图2-4 显示一个典型的Ethernet网路的通讯。 <BR> <BR> ┌—————————————┐ <BR> │ p18 fig 2.4 │ <BR> │ │ <BR> │ 图 2-4 在不同机器上的 │ <BR> │ client和server │ <BR> └—————————————┘ <BR> <BR> 这种透过网路,使得应用程式的操作,如同在本地机器一样的能力称 <BR> 为网路透通性(network transparence),几乎是X独一无二的特性 <BR> (注1)。这种特性使得它非常适合建立在有弹性地多目标混合机器 <BR> 网路上。 <BR> <BR>注1:有几种例如Sun Microsystems 的NEWS的视窗系统有使用到网路结构, <BR>但没有一种被广泛地使用,而有超过一家以上的制造厂商使用它们。 <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -