跳至主要内容

关于X服务器的C/S模型的一点理解

一般,在C/S模型中,客户端是发送命令和请求服务器处理,服务器响应这些请求并给客户访问服务器的权限。X的C/S模型看上去有些让人混淆。X服务器被动地显示客户机要求的显示任务(图形和窗口),X服务器永远也不会自发决定去移动一个窗口或是触发一个按钮,它的工作只是管理显示并将鼠标和键盘的输入传给客户端。客户端的程序处于控制之中,且是资源的实际消耗者。客户端请求使用被X服务器控制的窗口和图形。键盘和鼠标也属于X服务器,服务器不会将这些事件传递给客户端,除非客户端专门请求这些事件,即请求将这些事件流作为一种资料。客户端应用程序处理进来的事件并请求X服务器据此改变显示内容。
但是上述描述与Win32下编程模型是很相似的,可以作以下类比:X中的客户对应Win32下的进程,X中的服务器对应Win32下的GDI库。X服务器(GDI)不负责移动窗口等任务实际是将这些消息传给客户(进程),由客户(进程)中的消息响应代码来调用(向GDI发送命令)显示相关的操作。窗口和图形当然是由X服务器管理的(GDI),键盘和鼠标也属于X服务器(这里有些差异,Win32下好像是属于user32或是kernel32库的),服务器不会将事件传递给客户端(类似于Win32系统中默认处理函数),除非客户端专门请求这些事件(进程实现了相应消息的处理代码)。
X Window系统的一个最强有力的特征是其通过网络透明地运行应用程序的能力。服务器在自己这边管理这些资源,使客户端能轻易地生成一个远方图形环境。这应该是X系统与GDI系统的显著不同之处。还没见过GDI接受远程进程的显示操作的。

评论

此博客中的热门博文

反转剧

这两天明显感到天气转冷,呱呱的家里也已经下起了大雪,南京则是阴冷潮湿,让人没有了出行的欲望。没想到躲在被子里看反转剧也成了度过寒冬的一剂良药。在PPLive越来越让人失望的时候,PPStream横空出世,虽然广告仍是少不了的主题,但从视频质量和播放连续性上来说都超过PPLive,实为居家必备之良品(由此可见,新事物一定会战胜旧事物......)。韩国的反转剧最近似乎比较流行,称之为反转剧就在于其结果总是让人出乎意料,不合常理,其间又不乏各种搞怪搞笑的镜头,各种当红帅哥美女也一定让DDMM们爱不释手,20~30分钟一集的剧情一改韩剧拖沓的风貌,想看就看,容易切入。 反转剧,今天你看了吗?

Computer Systems: A Programmer's Perspective

Bryant, R.E所著的这本Computer Systems: A Programmer's Perspective,在国内翻译为《深入理解计算机系统》,由中国电力出版社2004出版,应该算是一本重量级的书了。从同学推荐到今天看完,足足花了有5个月的时间,虽然看得不深,但总的感觉还是不错,在这里就对它作一个总结吧。 Computer Systems表明这本书讲解的是计算机系统知识,但A Programmer's Perspective却又告诉我们它与其它书籍的不同之处,便是从程序员的角度,即偏向软件的角度,而不过多地涉及硬件内容。计算机系统本身就是一门涉及面广,内容繁多的学科,这本书不可避免地从各个角度讲解了这些内容。下面以我个人的观点进行一些总结。 第1章:计算机系统漫游 主要是对全书内容作了一个简要的概括。 第2章:信息的表示和处理 这一章主要讲解了整数与浮点数。虽然对于整数我们已经很熟悉了,但是在实际中仍会犯下各种各样的错误,书中对不同整型数间的转换及运算作出了很详细的论述。浮点数似乎一直是计算机书籍里不愿涉及的话题,对于想了解浮点数表示及浮点数运算的人来说,这部分关于浮点的描述可以作为一个很好的起点。 第3章 程序的机器级表示 对于任何一个希望了解底层的人来说,这一章可说是相当精彩的。本章主要讲解了IA32的指令集,因此以汇编为主,在控制流指令部分还将C语言及对应的汇编形式进行了对照,在调用部分还详细讲解了本地栈。最后为对浮点感兴趣的人准备了IA32中用于处理浮点的指令集。 第4章 处理器体系结构 这一章是本书中最接近硬件的部分了,从设计一个简单的处理器Y86出发并逐步完善它,一步步地引导读者理解处理器体系结构。虽然我们可能永远也不会自己设计处理器,但了解它是何工作的能有助我们理解整个计算机系统是如何工作的,比如对程序优化就很有帮助。本章首先给出了Y86的指令集,并使用一种硬件描述语言HCL对硬件的逻辑结构进行了描述,然后将指令分成取指、译码、执行、访存、写回、更新PC六个阶段,给出了每条指令的每一部分的操作内容,并对每一部分的硬件实现分别进行了讨论。显然,这种顺序的实现过程是低效的,本章的后面部分便围统着流水线的实现以及遇到的问题展开了论述。 第5章 优化程序性能 本章介绍了一些代码优化的内容,如前面所说,只有理解了处理器系...

biblioscape, endnote, no, none of them

endnote在与word2003搭配时经常占据严重的CPU,非常不好用。今天听说biblioscape好,下之,唉,高兴的日子总是那么短暂,BUG一堆。它只支持rtf格式的转换,在word里format时,还要转为rtf格式后再转回来。甚至在重复转换过程中也产生了不一致,可能它在RTF和DOC之间的转换没有那么精确吧。好想用latex排,不过时间紧迫,现在懒得去学了。 都不用了,还是手工输入参考文献罢了。也许,open office?下一个先。