论文部分内容阅读
终端服务是Microsoft公司在Windows NT4.0中首先提出的一项技术,现在已经成为Windows系统中一个标准的服务。终端服务允许用户在网络内任意一台计算机登录到服务器的桌面。在终端一方,用户使用鼠标、键盘对服务器进行操作,像在服务器本机一样。在终端服务过程中,所有应用程序的运行和数据存取都是服务器上的,只是结果的显示返回到终端机的屏幕上。银河麒麟操作系统是国家863计划软件重大专项,是自主版权的服务器操作系统。为银河麒麟操作系统实现终端服务功能可以丰富其作为服务器操作系统的应用范围,把麒麟系统的桌面和基于它的应用程序传递到一个更为广泛的桌面,包括那些不能运行麒麟系统的平台。因此,实现银河麒麟终端服务具有广泛的应用前景和很大的意义。银河麒麟操作系统的桌面环境基于X Window实现。本文首先对X Window系统进行了研究,介绍了X Window的基本概念、X协议的工作原理、消息格式、输入输出原理以及窗口特性,进一步研究了MIT-SHM、XDAMAGE、XTEST等X Window协议功能扩展。然后讨论了远程图形终端技术的研究现状。分别对ICA、RDP、SLIM和RFB等几种目前流行的远程显示协议做了介绍,研究了它们的工作原理,并总结了各自的优缺点。文章还对远程显示方式、屏幕更新策略以及缓存和压缩机制等远程图形显示中影响显示效果的几个因素进行了讨论,为设计和实现KYLIN终端服务提供了理论基础。最后,文章对麒麟终端服务系统的重点功能模块进行了详细设计。输出方面,在服务器端为每个X Server定义一块虚拟帧缓冲区,多个会话可以独立的工作,互不影响。输入方面,服务器需要处理两种输入事件:键盘和鼠标事件,使用X协议的XTEST扩展功能把输入事件传递给X Server进行处理。屏幕更新方面,提出了一种Lazy-Pull和Server-Notify相结合的屏幕更新方式。