第2章 从基本系统模式概观X
在本章和下一章我们将描述X的基本架构,并介绍许多基础的观念,其目
的在於对你稍後使用系统时能有一个了解,你将会洞悉系统程式做些什麽和如
何做,如此你将更快和更有效率的使用系统,我们也会指出系统外在的利益,
以及使用系统对你的影响。
本章描述系统的基本元素,以及它们彼此之间如何交谈(interact),下一
章描述系统其它的面貌,特别是使用者介面。此章包含了许多新观念,你不妨
先很快的浏览这两章後,开始实际地使用它,当你对系统比较有感觉之後,再
回头来复习,这样比较容易了解。
2.1 X的基本元素
X不像早期的视窗系统,把一堆同类软体集中在一起,而是由三个相关的
部份组合起来。
1. 一个"server"(供应者):是控制实际显示器和输入装置的程式。
2. "Client" (顾客) 程式:需藉著server在指定的视窗中完成特定的
操作。
3. 一个 "通讯通道(communication channel)":client和server用来作
为彼此交谈之用。
基本的"server","client"和 "通讯通道" 的关系图如图2-1 。
┌—————————————┐
│ p16 fig 2.1 │
│ │
│ 图 2-1 X的基础成员 │
└—————————————┘
底下我们描述一下这三个部份。
2.1.1 Server
Server是控制实际显示器和它的输入装置 (键盘和滑鼠或其它指示装置)
的软体,server可以建立视窗、在视窗中画图形影像和文字、回应client程式
的 "需求" (requests),它不会自己动作,只有在client程式提出需求後才完
成动作。
每一个显示器只有一个唯一的server。server一般由系统的供应厂商提供
,通常无法被使用者修改。针对作业系统而言,server只是一个普通的使用者
程式而已,因此很容易换一个新的版本,或许甚至是由第三集团提供的原始程
式 (注1) 。
注1:这是Unix系统上的情况,有些供应厂商会选择将server的部份或全部放
在作业系统核心(kernel)。
2.1.2 Client
Client是使用系统视窗功能的一些应用程式。把X下的应用程式称作
"client",原因是因为它是server的 "顾客" :它要求server应它的需求
完成特定的动作。
Client无法直接影响视窗或显示,它们只能送一个 "需求" (request) 给
server,让server来完成它们的需求。典型的 "需求" 通常是: "在 XYZ视窗
中写一列 'Hello, world' 的字串" ,或 "在 CDE视窗中用这种颜色从 A点到
B点画一条直线" 。
当然,对视窗操作提 "需求" 只是client程式的一部份,其它的部份是那
些让使用者执行的程式部份。例如:编辑文字、画一个系统的工程图、执行计
算表的计算等等。一般来说,client程式的这个部份和视窗是独立的,对於视
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 系统 quot client 一个 程式 视窗 server 机器 使用 执行 |
注册
个人空间
