実習で利用しているOpenWindows は X Window System を多少手直 しして作られたシステムであるので、OpenWindows においても以下の説明は 若干の修正で成立する19。
X Window System (以下略して単に X と言う) を利用しているとき、同時に 色々なプロセス20が動いている。キーボードやマウスからの入力とディスプレイへの 出力を直接取り扱うプログラムをX サーバー(X server) と呼ぶ。
X 上でウィンドウを開いて動作するプログラムは、X のクライア ント (client) と呼ばれる。 X のクライアントは、以下のように して仕事を果たす:
このように、サーバー・プロセスとクライアント・プロセスと呼ばれるもの が互いに協力しあって仕事を遂行する仕組みを、サーバー・クライ アント・システムと呼ぶ21。サーバー = 仕事を任される側、クライアント = 仕事を依 頼する側、である。X は代表的なサーバー・クライアント・システムである。
X のクライアントは、X のサーバーと同じホスト上で動いている必要はない。 言い替えると、リモート・ホスト上で X クライアントを起動し、それをロー カル・ホスト上の X サーバーから利用することが出来る(X のネッ トワーク透過性)。ネットワーク環境では、さまざまなサーバー・クライアン ト・システムによって、分散処理が実現されている。
例えば、後で紹介する(?) Mathematica は X を利用してグラフィッ クスを描画する (Mathematica が X のクライアントになる)。情報科学センター のワークステーション (こちらがローカル・ホスト)から数学科のワークステー ション kinsan (これがリモート・ホスト)にログインして、そこの Mathematica でグラフィックスを描いて、それをリモート・ホストに表示する 例22を見てみよう。
waltz11% xhost kinsan kinsan being added to access control list waltz11% rlogin kinsan Password: Last login: Wed Jun 5 16:31:19 from waltz SunOS Release 4.1.4-JLE1.1.4 (GENERIC) #1: Mon Nov 21 19:36:38 JST 1994 checking tty kinsan% setenv DISPLAY waltz11:0.0 kinsan% math Mathematica 2.2 for SPARC Copyright 1988-93 Wolfram Research, Inc. -- Motif graphics initialized -- In[1]:= Plot3D[x^2-y^2, {x, -1, 1}, {y, -1, 1}] Out[1]= -SurfaceGraphics- In[2]:= Quit kinsan% logout rlogin: connection closed. waltz11%
手順を箇条書にしてまとめておこう: