版权归原作者所有,如有侵权,请联系我们

[科普中国]-窗口系统

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

窗口系统首先强调为程序员提供硬件设备独立性,交互系统的实现建立在一个抽象的设备上,对抽象设备的操作通过设备驱动程序转换成具体设备上的操作,这种特性;一方面可以使交互系统的开发变得简单,另一方面也使交互系统的移植变得非常方便。

概述窗口系统首先强调为程序员提供硬件设备独立性,交互系统的实现建立在一个抽象的设备上,对抽象设备的操作通过设备驱动程序转换成具体设备上的操作,这种特性;—方面可以使交互系统的开发变得简单,另一方面也使交互系统的移植变得非常方便。

窗口系统为单一输入输出设备建立多个抽象设备实现其资源的共享。每个抽象设备都可看作是一个窗口的独立的输入输出设备,窗口系统为这些设备提供并发控制。从应用的角度看,每个应用程序独立地对设备进行操作,另一方面,窗口系统还为每个窗门提供一个抽象显示设备,这可以通过为每个活动的抽象显示设备建立一个窗门来实现。

设备独立性和多任务管理是窗口系统的两个最重要的特性。1

窗口系统结构窗门系统一般有三种结构。

1.在各个应用程序内部实现和管理多任务,由于每个应用程序都需要处理复杂的多任务管理,并且移植起来不方便,因此这种结构不太令人满意。

2.在操作系统核心集中处理多任务管理,应用程序不再对多任务进行管理,由于过分地依赖操作系统,应用程序需要处理因操作系统的不同而引起的差异,因此移植起来也很不方便。

3.多任务的管理可由独立的管理程序进行管理,应用程序通过调用陔管理程序提供的接门实现对多任务的管理和设备的独立性操作,该管理程序可以在不同的操作系统下运行,因而基于此管理程序开发的交互系统是最容易移植的,它是一种客户/服务器结构。

4.资源管理器,它是整个窗口系统的核心,负责多任务的管理,并通过设备驱动程序管理外部设备。

5.设备驱动程序,负责外部设备的驱动,接受输入设备的输入,并将输入数据转换成统一的格式,通过设备驱动程序实现设备的独立性。

5.抽象终端,负责和客户应用程序的接口,对每个应用程序由窗口管理程序为其分配一个抽象终端。

当外部设备产生一个输入请求,如鼠标单击某个窗口内的某一点时,资源管理器从设备驱动程序获得鼠标数据,产生鼠标驱动事件,并将该事件分发给与该窗口相对应抽象终端,与抽象终端相对应的应用程序接受事件并进行相应的处理。

实际应用中,客户程序和服务器程序可以在一台机器上,也可以分布在不同的机器上。1

X窗口系统X窗口系统,简称X,是最常见的UNIX窗口系统。X是UNIX、类UNIX、以及OpenVMS等操作系统所一致适用的标准化软件工具包及显示架构的运作协议。使用窗口系统的情形就像是在办公桌上的工作:办公桌上放了好些工作相关的用具,当工作进行到另一部分时,你可能需要重新整理各种用具,把其中一部分暂时放到一边,或者移走。

X便是依照这么个工作模式开发出来的。在X的环境下,一个窗口是屏幕上的一块长方形区域,且平行于屏幕的边,通常,每一个窗口被一个独立的应用程序所专用,数个应用程序可以“同时”在它自己所拥有的窗口上显示输出结果,X允许窗口重叠。

但即使窗口的一部分或全部被其他窗口遮盖,应用程序仍然可以对它自己所拥有的窗口输出信息。设备程序提供在屏幕上移动窗口、改变窗口大小、把窗口放在最上一层或最下一层等功能。即便是窗口可以重叠,但在同一屏幕开了许多窗口仍然非常费时。因此和其他的窗口系统一样,x提供图标功能。在屏幕上用一个图标代表一个应用窗口,当对应用窗口图标化后,窗口以图标代之,从而空出了较多的屏幕空间;相反的动作为解除图标化,也就是以原先的窗口替换图标。

对于输出,X提供了许多在窗口写文字和画图形的功能选择。许多种字体可供选择,并且提供许多图形的结构和绘图的基本方法,例如提供点、线、弧线、区域的画法。颜色的选择更是丰富。这些复杂的部分对用户而言是隐藏起来的,用户可以简单地使用它们。

x也提供多样化的输入功能。x可以使用不同形式的键盘,如传统的QWERTY键盘或Dvorak Style键盘,或者是不同国家的有特殊规定的键盘。处理用户界面是输入功能很重要的一个部分,键盘和鼠标发出的指令告诉系统如何构造一个窗口和处理窗口中的内容。

由于X的窗口处理功能并非是系统内部提供的,而是建立在用户层次上的,因此容易修改或更换。所以X能提供不同形态的用户界面。换个角度来说,用户界面所必需具有的灵活性几乎完全可由X独立提供。2

本词条内容贡献者为:

王慧维 - 副研究员 - 西南大学