FreeSoftwa 「 e の世界一⑩ % { 環境変数 } % { 環境変数ーデフォルト } その他 はスペースに置き換わります。 標準出力を取り込むときに使います。出力中の改行文字 指定したコマンドの出力結果。こちらは、プログラムの % ' コマンド ' 境変数をマクロに取り込むときなどに使います。 環境変数の値。未定義の場合は、、デフォルト〃。種々の環 をテキストに入れる場合は、、、 \ 〃でエスケープしてくだ りに否定を表わす、、ドも使えます。 が、その場合は””を指定したのと同しです。、、 = 〃の代わ トになります。非成立時テキストはなくてもよいのです すれは成立時テキスト、そうでなけれは非成立時テキス 条件マクロ。この値は、条件テキストがパターンに合致 % 條件テキスト = パターン ? 成立時テキスト : 非成立時テキスト ) キーポードから文字列を入力し、これに置き換えます。 その場での入力。画面に指定したプロンプトを出力して % ”プロンプト” 種類があります。 rn の現在モード。上述の条件マクロで用います。以下の M R groups?" あるいは同様の質問が出ている状能 ・、し、 0 記事をセープしようとして、、、 Use mailbox for- mat?' あるいは同様の質問が出ている状態。 過去にいったん購読を中止したニュースグループを 復活させるとき、、、 Resubscribe to this news- group?' あるいは同様の質問が出ている状賤 1 n a P A C D (lnitializing)o 起動時の初期設定中。 (Newsgroup selection level) 5 。 フ。選択レベル。 (Article selection level) 5 。記事選択レベル。 (Pager level) 5 。ページャレベル。 新しいニュースグループを登録するかどうかについ て、、、 Add this newsgroup?" あるいは同様の質問 ニュースグノレー 起動時に rn が無効と判断したニュースグループ ・ e い 0 の質間が出ている状能 直後で、、、 Do you really want. (Catchup confirmation)o 、、 c 〃 バ、 0 が出ている状能 コマンドを叩いた bogus news- ア′あるいは同様 が . newsrc にみつかり、、 \DeIete 5 各レベルの詳細は、前回の記事かマニュアルを参照。 80 なお、 rn はコンパイル時の設定にかなり自由度があるた め、使用する rn によってはここに挙げた以外の質問文 が現れる可能性があります。 %M M コマンドによって再度読めるように印を付けられた (Marked) 記事の数。マニュアルにも書かれているよう に、現在のニュースグループ内で何回 M コマンドが使 われたかを数えているので、次のニュースグループに移 るときに、 SReturning 5 Marked articles... 〃などと 表示されたとしても、印を付けた記事の数はそれより少 ない可能性もあります。 実行中の rn のプロセス番号。 。。パーセント記号のエスケーフ。。 修飾子。これを使って、 % 置換の値の最初の文字を大文 字にすることができます。たとえば、 %C が、、 fj. rec. food 〃だとすると、 % C は、、 Fj. rec. food 〃になります。 修飾子。最後のソ〃の直後の文字を大文字にします。た とえは・、 % c が、、 fj / rec / food 〃だったとすると、 %-c は 、、 fj/rec/Food" になります。 rn が扱う環境変数には、以下のものがあります。 rn のふ るまいを好みに合わせて調整するには、 % 置換をうまく使 ってこれらの変数を設定していくことでおおむね達成でき ます。設定はシェルの初期設定ファイルに書いておいても よいし、 -E スイッチで rn に渡してやることもできます ( 彳あの「コマンドとスイッチ ( 補遺 ) 」を参照 ) 。 それぞれの項には [ ] 内にデフォルト値を書き添えてあ 環境変数 UNIX MAGAZINE 1991.2
X で 0 。 XMiNT 0 分散コンピューティングのニーズに応えて 艇生した X ウインドウターミナル「 XMiNT 」。 「 XMiNT 」は X ウインドウシステムのサーバ 部分を分離することにより X 環境を安価に サポート。処理スピードがワークステーションに劣 らないことはもちろん、ネットワーク管理も容易 です一人一台の「 XMiNT 」で作業効率は 大福にアップ。まさに X で〇。理想的 なネットワーク環境が実現します RELEASE INFORMATION 現在の 1 5 インチ 17 インチに加えて更に 1 9 イン チもラインナップ。 また、 XI 1 日 3 に加えて X11 日 4 もサポート。 これらにより更に X 環境か充実。 ハードウェアの主な仕様 CPLJ : MC68030 ( 16.67MHz ) 主記憶 : 40 「 8MB 画面サイズ : 15 、 17 、 1 9 インチ ( ペーバーホワイト ) 解像度 . 1.280X 1.024 ビクセル OO : X 、気 1 TAKAOKA 株式会社高岳製作所 ・浜松ー〒 430 浜松市元城町幻 8 ー 29 ( フラワービル ) 谷 ( 0534 ) 57 ー 0035 代 ・関西〒 530 大阪市北区堂島ト 6 ー ( 毎日大阪会館北館 ) 谷 ( 06 ) 344 ー 53 引代 こ購入希望の方には評価機の用意をしております。 こ希望の方はこ連絡くたさい。無償てお貸しします。 システム事業部販売部 ・東京 / 〒ー田東京都千代田区猿楽町 2 ートⅡ ( 東燃神田ビル ) 谷 ( 03 ) 3292-6543 代 ・中部 / 〒 0 名古屋市中村区名駅 4 ー田一 25 ( 名駅隔 A に・ル ) 谷 ( 052 ) 582 ー 95 引代
FreeSoftwa 「 e の世界 UNIX MAGAZINE 1991.2 ¯V いる範囲にとどめる。 發細にすぎるのと改変の可能性を考慮して、 こではマニュアルに記載されて 11 この条件を確認するために、ついにソースを読んでしまったが、すこしばかり 環境 (environment) 変数の設定。 rn に対する環境変数 ー E 環境変数 = 値 にもとづいておこなわれます 11 。 いるかどうかが判断されるだけで、更新自体は別の条件 ありません。そのタイミングで更新すべき条件が揃って は、指定数の記事が表示されるごとに更新するわけでは を、表示された記事の数によって指定します。実際に 事の番号などの ) 更新をどれくらいの頻度でおこなうか . newsrc のチェックホイント指定。 . newsrc の ( 既読記 ー C 記事数 だろうか、などと不安になるときにどうぞ。 いいが反応が遅く、いったいほんとうに、、 y 〃と打ったの ドも復唱するようになります。コマンドをタイプしたは すが、このスイッチが指定されると rn は 1 文字コマン ンドが画面に現れるのは複数文字コマンドの場合だけで (verify) コマンド確認モード。通常は、タイプしたコマ されているかもしれません。 よっては、 rn 作成時にこのスイッチがデフォルトで指定 送速度で rn を使うときのためのものです。システムに らのメッセージや質問がたいへん短くなります。低い転 (Tersemode) 簡潔表辰このスイッチによって、 rn か 示されます。 指定されているものを除いて、この値に関係なく全部表 よって、 rn 自身が設定しています。ヘッダ部分は、 -h で しめに何行表示するかを設定します。通常は転送速度に 初期 (initial) 画面長の設定。記事を表示するときに、は -i ラ数 できない位置を指定すると、最下行になります。 定します。デフォルトは gl で、画面の最上行です。表示 かから捜し出した行を画面の何行目に表示するかを指 検索文字列を含む行の表示位置。 g コマンドで記事のな -g 行位置 指定してあるときのみに有効です。 レイの種類によっては、できないこともあります。 -e を 面を消さすに 1 行ごとに上書きしていきます。ディスプ の設定をするためのスイッチです。起動時に設定しても いいし、 rn 実行中に、、 & ー E 環境変数 = 値クとすることも できます。もちろん、あらかしめシェルに対して設定し てあっても rn にとってはまったく同しことです。いく つもの設定をしたいときは、 —EVISUAL=/usr/10ca1/bin/nemacs 一日一化 = 7 に L -EDOTDIR=%p のように、何回も -E を指定すれば大丈夫です。設定され た環境変数は、すべて rn が呼び出すプログラムにも受 け渡されます。 セープ先の設疋。このスイッチを指定すると、 S AV E D I R のデフォルト値が % p/ % c に、 SAVENAME が %a に設定されます。また、代わりに 、、十尸と設定すると、それぞれ % p と % C になります。 rn 作成時にこのどちらかが設定されているはすですの で、 & ( 引数なし ) で確かめてみてください。あくまでデ フォルト値なので、 SAVEDIR や SAVENAME を指 定すれはそちらが優先されます。 これで私もエキパート ? すっかり長くなってしまいました。 rn の機能があまりに も多く 12 、またコンパイルの際のパラメータ設定の自由度 があまりに高いためです。 もしここに書かれていることを日常的にしている人があ れば、その人は間違いなく rn の変人に近い上級者と呼ん でいいでしよう。そうでない人は、この記事を読みながら ひとつひとつ自分なりの設定をしてみてください。真の変 人は、自分のニュースリーダを perl あたりで作ってしまっ ていることでしよう。 rn 上級者は、こまで読んでまだ説明されていない機能 があることに気がつくと思います。しつは、ほんのすこし だけ、しかしとてつもなく凝ったことをしたい人には必要 かもしれないことが、説明されすに残っています。それが 何か知りたい方は・・・・・・これだけは言うなと念を押されてい たのですが、マニュアルを読んでください。 12 先日、別のニュースリーダ nn のマニュアルを横から見て、その解説記だけ は絶対書くまいと思った。 87
e $ & 0 を一 ce lNTEROP'90(2) IN TEROP タ 0 前号で予告したとおり、今回は INTEROP ' 90 で見 つけた新製品について報告します。 INTEROP'90 には 193 社が出展していましたが、 口に、、新製品〃といってもチップポードからルータやプ リッジ、 LAN アナライサ、各種サーバー、異プロトコル 間ゲートウェイ、ネットワーク管理用アプリケーション などさまざまな分野におよび、すべてを詳しく解説して いたら次回の INTEROP まで続いてしまいそうです。 こでは我々の環境の改善に直結しそうなもの そこで、 に絞って紹介します。 FDDI 展 : 示イき場での Solutions Showcase Demonstration で FDDI がとりあげられたこともあり、 FDDI 関連の製 品が目立ちました。また、各社の製品を実際に相互接続 する実験も注目を集めていました。 FDDI とワークステーションとの接続を考えた場合、 図 1 に示したような 2 とおりの接続形態が考えられます。 (a) の場合、ワークステーションはローカルのネット ワーク ( ここで ' は Ethernet) に接続され、ルータ (Router) を介して FDDI ネットワークに接続されます。 一方、 ( b ) ではワークステーションは直接 FDDI ネット ワークに接続されます。両者を比較すると、 (a) では FDDI がルータを介してローカルなネットワークのトラ フィックを吸収するので、ローカルなネットワーク全体 では FDDI の恩恵にれます。しかし、個々のワークス テーションは Ethernet でネットワークへの出口を絞ら れているため、 FDDI によるメリットを直接享受できる わけではありません。言い換えれば、 ( a ) ではネットワー ク間の、、高速ハイウェイ〃として FDDI を使っているこ 10 山口英 とになります。これに対し、 ( b ) ではワークステーション が直接 FDDI に接続されていますから、 100Mbps の FDDI ネットワークの利点が最大限に活かせるのです。 ネットワークと相互接続の普及によって、 ( a ) のよう な FDDI の利用形態もひろがっていくと思われます。ま た、今後はワークステーション上でのマルチメディア情 報の取扱いの増加にともない、ワークステーションとほ かのホストとのあいだでのデータの転送量も急激に増大 していくと予測されますから、 ( b ) のような接続形態が 増えていくのは間違いありません。したがって、 FDDI の サポートについてはルータによるものとワークステーシ ョンによるもののいすれにも注目しておくべきでしよう。 INTEROP'90 では、ルータとワークステーションの どちらの FDDI 関連の製品も数多く出品されていまし た。我々の環境でホピュラーなワークステーションとし ては Sun 、ソニ DEC 、ルータでは cisco や Proteon などが FDDI の Solutions Showcase Demonstra- tion に参加していました。表 1 に、これらの製品をまと Auspex NS3000 で、その下頁は多種多様です。 ポードから開発キット、チップ、プリッジ、モニターま この表からも分かるように、ワークステ めておきます。 ーション用の 際に威力を発揮するのが NFS です。これを利用すれば、 ネットワーク環境で統一した利用者環境を構築する 示されていました ) 。 ( 12 月上旬に東京で開催された UNIX Fair ' 90 でも展 新しいサーバー「 NS3000 」 ( 写真 2 ) を発表していました ディスクサーバー NS5000 で有名な AUSPEX は、 UNIX MAGAZINE 1991.2
Daemons and Dragons ◆メールシステムなど、一般的なユーティリテイやアプリ ストールや設定、史新 ◆ Sun システム上の OS およびアプリケーションのイン にファイルシステムのバックアップを含む。 テム ( ポストマスターとしての業務 ) などの管理、ならび ンの日常管理。アカウント、ディスク、電子メールシス ◆センターの Sun ファイルサーバーやワークステーショ 関する業務もあり。その他、下記の業務が担当できる方。 bolics 社の AI ワークステーションなど、異機種間接続に UNIX のほか、 MS-DOS や Apple Macintosh 、 Sym- 部ネットワークとの接続などのサポート責任者求む。 なワークステーション、ネットワークのバックポーン、外 「・・・・・・計算機センターのマルチューサー・システムや特殊 告を見てみよう。 次に、もっと多くの経歴を要求している別の、、求人〃広 の考え方は理解できない。 に見合った報酬は出すと記してあった ) 。しかし、私にはこ より望ましい社員になれると考えているようである ( それ C および上に挙げたようなシステムの、、専門家〃であれは これを読んだかぎりでは、雇用者側は Sybase や阨 X 、 相当する資格の所有者に限る」 れはなお可。文学士または理学士の学士号、またはそれに ker 、 C 言語、 Sun および HP のハードウェアの知識があ その他、 1bX や Sybase 、 lnterleaf または FrameMa- ルプログラミングの知識やコンピュータの操作経験必須。 經矣者求む。 UNIX システムの管理経験 2 年以上シェ 有できる方。 net のハプの保守管理に対する関心を当社のスタッフと共 的なシステムの管理および開発、より複雑で精緻な lnter- ークの専門家であることか望ましい。応答性に優れた創造 データベースの実装や分散計算機環境、およびネットワ わす、出張もある。 書や開発者、研究者、顧客の支援。作業は社内・社外を問 トウェア、 OS のインストールや設定、テスト。各部門の秘 や周辺機器の維持・管理。新しいハードウェアおよびソフ めのソフトウェアの開発・サポート。社内の複数の計算機 「分散開発および製品の試験環境の維持を自動化するた 94 ケーションの利用に関するサポート ◆必要に応し、 TCP / IP ネットワークのバックポーンやコ ネクションの設定および管理状況の監視 ◆ネットワーク・ソフトウェアのデータベースの保守と管 ◆ネットワーク・トラフィックの監視と障害発生時の対処 ◆外部ネットワークとの接続、管理。 UUCP 接続、 Usenet のニュース、公衆回線モデム、 lnternet との計画的な接 続作業を含む。 ◆ TCP / IP べースの基幹ネットワーク / 電子メールシステ ムとマイクロコンピュータ・ネットワークや社内ネット ワーク / 電子メールシステムとの商用技術を用いた統合 ◆センターが関心を抱くと思われる新製品や開発の動向把 握、およひ採用された新製品の評価 ◆センターの複数ベンタ、一 / OS の計算機環境やネットワ ーク環境の適切な維持、強化に必要な戦略・計画の立案 への参画 ◆その他、必要な業務」 これを考えた人たちは、 UNIX のほかに 3 つの操作環境 に熟練していることを要求している。上の一覧には 20 を 超える業務が記されており、平均してみると 1 つの仕事に ついて週に 2 時間しか割けない。本当にこれだけの仕事が システム管理者にこなせると思っているのか、はなはだ疑 問である。 コンピュータ会社に勤めるものとして、システムに関す る問題点の孑商だけでなく、その解決策も提案してみよう。 こまで、何が完全に自動化できるのか、それによって専 任のシステム管理者に要求される作業のどの部分が軽減で きるのかということをふまえながらシステム管理者の、、責 務クについて考えてきた。もっとも、あなたは失職を恐れ る必要はない。たしかに自動化によって管理の退屈な部分 のほとんどは軽減あるいは除去できるかもしれないが、お のおののサイトで発生するローカルなすべての要求への対 応を自動化することはできないと思うからである。 これまでに挙げた仕事の一覧と私自身の経験から、シス テム管理者にとっての作業リスト ( はんの一部 ! ) を作り、 彼らは何をする人ぞ UNIX MAGAZINE 1991.2
FreeSoftwa 「 e の世界 プ全体の状態を表す変数です。 これらは、記事そのものではなく、あるニ 現在ニュースクループの状況、名前 ュースグノレー 現在ニュースグループの未読 (unread) 記事の数。 %U 現在ニュースグループの未読記事の数。現在記事は含み ません。新しい記事を読む際に、あといくっ残っている かを表示するのに使われます。 %c 現在ニュースグルーフ (current newsgroup) の名則。た とえは、、、 fj/comp/misc 〃のようなディレクトリ表現形 式になります。 ニュースグループの格納ディレクトリを表しています が、ニュースグループの論理構成になっているので、自 分のファイルとしてセープする際のディレクトリとして 用いれは分類がしやすくて便利です。 現在ニュースグループの名前。たとえは、、、 fj. comp. misc" のような . newsrc で用いられている形式になり ます。すべてのニュースグループの記事を単一のディレ クトリにセープしたいときなどに便利です。 投稿、返信の際に用いられる情報 以下の変数は、記事や返信を作成するときに投稿先や送 付先などを設定するのに用いられるもので、現在記事のヘ ッダなどから引用された情報が入ります。 ヘッダひと揃いが入っているファイルの名前。 rn 自身は メールの送付や記事の投稿を扱わす、そのために独立し た別のプログラムが呼ばれます。ヘッダ ( 引用記事を含 む ) は、メールや記事を生成できるように % h で示される ファイル ( 通常は % . /. rnhead ) にいったん格納され、そ のファイル名が送付 / 投稿プログラムに渡される仕掛け になっているのです。ヘッダファイルの書式は、環境変 数 MAILHEADER 、 NEWSHEADER 、 CANCEL- HEADER で指定できます。 78 関連記事 (FoIIowup) の投稿先 (Newsgroups)0 現在記 事のヘッダと同し投稿先か、関連記事の投稿先 (Follow- up ー To ) が指定されている場合はそちらになります。 参照表示文字列 (reference indication) 。 F コマンド や R コマンドで記事を参照 ( 引用 ) する際、各行の先頭に は %I に設定されている文字列が挿入され、その行が引 用した部分であることを表します。通常は、、〉クですが、 スイッチで、、一 F 文字列〃のように変更できます。 関連記事のヘッダに現れる参照記 (References)—覧 表。現在記事のなかの参照記事一覧と現在記事自身の識 別子から構成されます。 現在記事の識別子 (Message-ID)0 ホスト名。 rn 使用者のログイン名。環境変数 USER または LOG- NAME の値が入ります。 %N rn 使用者の名前。環境変数 NAME で設定されます。 % 0 rn 使用者の所属機関 (Organization)0 これも環境変数 ORGANIZATION でデフォルトの設定を変えられま す。記事やメールのヘッダに使われます。 %S サプジェクト (Subject) ヘッダから、、 Re 〃を 1 つだけ削 ったもの。なせ、、 Re : 〃をとるかというと、関連記事を投 稿するときには伝統的に元の記事のサプジェクト・ヘッ ダに、、〇〇に関して〃という意味の、、 Re : 〃という文字列 を挿入します。しかしながら、その記事についてさらに だれかが関連記事を投稿するというようなことが続けは・、 サプジェクト・ヘッタ、が、、 Re : 〃だらけになってしまいま UNIX MAGAZINE 1991.2 は、関連記事のサプジェクトで、、 Re : 〃の数が減らないよ は・、その後の操作が簡単になるのです。 1 つだけとるの めには、 % S のように、、 Re : 〃をとり去った文字列があれ え、あればそのままにする必要があるわけです。そのた す。そこで、元の記事に、、 Re : クがなければこれを付け加
FreeSoftwa 「 e の世界 設定が書き込まれたファイル名と解釈されます。 Wall KILLLOCAL 局所削除ファイルを置くディレクトリ。局所削除ファイ 氏は、たくさんの環境変数を利用したいがそのすべてを ルのほうは、ある 1 つのニュースグループて特定の記事 環境中に置きたくないとき、またははかのプログラムが に関する設定をするためのファイルです。 用いる同し環境変数とは値を変えたいときに一 E スイツ C$p/% c/KILL] チを用いるように勧めています ( 「コマンドとスイッチ ( 補遺 ) 」を参照 ) 。 表示制御変数 [ なし ] 画面には記事のほかに、何種類かの情報が表示されます 書込み用ファイル が、これらはそうした表示の書式を規定するものです。 こに挙げるのは、セープその他の目的でファイルに書 き込む際のファイルやディレクトリを指定するものです。 SUBJLINE サプジェクトの表示書式。記事選択レベルで = コマンド を叩いたときに出る表示の書式です。通常は、サプジェ SAVEDIR クトヘッダの内容を示します。 [%s] 己事セープ・ディレクトリ。記事をセープする際、出力 先ディレクトリの指定がない場合に使用されます。これ FIRSTLINE が設定してあると、 -d スイッチが指定してあってもセー 記事を画面に表示する際に最初に現れる行。デフォルト 定義にもあるように、通常は、記事番号、未読記事の プ用コマンドはデフォルトでこのディレクトリのファイ 数、再度読むために印を付けた記事の数、 ルに書き込めます。ただし、その場合でも % p の参照値は ニュースグノレ ープ名です。 ー d で指定したままです。 [Article %a % ( % U % M ! 二 00 $ ? ()U more% ( % M ! 二 0 $ ? ・ 十 %M Marked to return) \ ) ) in %C: ] スイッチ、、一 / クが指定されている場合、 %p/%c スイッチ、、十 / 〃が指定されている場合、 %p MAILCALL メール着信表示。 rn 使用中にメールが届くと画面の左下 に知らされますが、これはその際のメッセージです。 SAVENAME [ (Mail) ] 記事セープファイル。記事をセープする際、出力先ディ レクトリしか指定がなかった場合に使われます。 送出ファイル書式 スイッチ、、一 / 〃が指定されている場合、 %a rn 使用中に送るメールや記事などの書式は、以下の変数 スイッチ、、十 / ' ' が指定されている場合、 O/OAC によって制御することができます。 MAILHEADER r 、 R コマンドでメールを送る際に MAILPOSTER に KILLGLOBAL 渡すヘッダの内容。これにかぎらす、ヘッダの書式はい 広域削除ファイルを置くディレクトリ。広域削除ファイ ったん % h が示すファイルにはき出され、その後しかる ルというのは、全ニュースグループをとおして特定の記 べきプログラムがそのファイルを扱います。 事に関する操作を設定しておくファイルです ( 広域 / 局 所削除については「コマンドとスイッチ ( 補遺 ) 」を参 胆 ) To : %T Subjcet : %(%i=-$? : Re : %S C$p/KILL] Newsgroups : 加 In-Rep1y-To : $i) % ( % Creferences] ! =A$?References\ : % [references] )Organization: % 0 Cc : 111 一口 7 感 - だ + だのどちらがデフォルトになっているかは rn 作成時の設定により異 るので、 & コマンドなどで確認するとよい。 82 UNIX MAGAZINE 1991.2
をソフトウェアの壁崩壊。 , - を、立パプリスは再編・統合・自由貿易を押し進めています CAD CAE 今日のワークステーションのように、強力なネットワーク機能にささえられ、画面 RJbIiss3.O 上で複数のアプリケーションを同時に動かすことのできる環境では、業務の効率 化・合理化を図るために、 CAD や文書処理ソフト・表計算ソフト・データベース・端 末工ミュレータなどのアプリケーションソフトを統合化し、業務の流れにそって様々 UN Ⅸワークステーションのための なデータを効率よく処理し、管理することが必須の要件となっています 日本語ドキュメントプロセッサ このような統合環境構築の波に乗って、ワークステーション上の文書処理ソフトも、 様々なデータを扱い、様々なアプリケーションと組み合わせて使えることが求めら れています ツヾプリス”はこのような最先端のニーズにいち早く取り組み、エンジニアリンク OA や CIM をはじめとする様々なシステム・インテグレーションを積極的に支援して います 対応機種 伊藤忠テクノサイエンス Sun-3,Sun-4,SPARCstatlonz" 富士通 S ファミリ / 日本ユニシス IJS シリーズ , U6000 / 新日本製鐵 NSSUN シリーズ / / 日本電子計算 SONY NEWSÄオムロン LUNA / 日立製作所 2050 / 32E / 横河ヒューレットバッカード HP9000 / 300 , 400 , Appollo DOMAIN / 日本電気 EWS4800 / 松下コンヒュータ システム Solbourne, 日 E / 三菱電機 MEZ 日本 DEC DECstatjon, VAXstatton/ 日本旧 M POWE 日ステーション ( 一部移植中の機種が含まれています。詳細についてはお問い合わせください ) ・ UN Ⅸオペレーティング・システムは AT & T 社が開発し、ライセンスしています
れらのアイドル状態にあるマシンの引・算能力をすべて集め ると、 1 台のワークステーションで利用できるものより格 段に大きなパワーが得られる。プロセスの透過性の目標は、 リモートのワークステーションでプロセスを透過的に実行 可能にし、その能力を簡単に共有できるようにすることに ある。独立したタスクをアイドル状態のワークステーショ ンで並行して実行すれば、アプリケーションはより迅速に 処理できる。 アイドルしているマシンを利用するもっとも簡単な方法 は、ユーサーが使われていないマシンを見つけ、そのマシ ン上でプロセスを実行することである。これは、 UNIX の rsh コマンドを使えはできる。引数にマシン名を指定する と、リモートのマシンでこのコマンドが実行される。この 方法は簡単ではあるが、いくつかの欠点がある。第 1 に プロセスに透過性を提供するものではないという点である。 なぜなら、プロセスはその親と同し環境では実行されない からである。カレントディレクトリが異なるうえ、リモー トのプロセスはその親の環境変数を引き継げない。第 2 に、 ューザーにとっても透過的ではない。ューサーはいつどこ でリモートに実行するかを選ばなければならす、リモート のプロセスはローカルなそれとは異なった扱いを受ける。 つまり、ローカルなプロセスのリストからは除外され、リ モートのマシンからしか操作できないのである。第 3 は、 rsh を通したリモート実行はローカルな実行と比べて格段 に負担が増大するという点である。 rsh に関するもう 1 つの間題は、ほかのユーサーにとっ ても透過的ではないということである。 rsh で始められた プロセスは、いったん実行が開始されると動かせなくなる。 ューサーがマシンの前に民ってきたときに自分のマシンで 知らないフロセスが実行されていた場合、そのユーサーか とれる措置は遅いレスポンスを孑財曼するか、他人の実行し ているプロセスを終了させるかのいすれかである。後者の 解決法は、 rsh を使ってプロセスを動かしているユーサー からみれば、プロセスを非透過的に移動させることを意味 する。 rsh よりも優れたリモート実行機能をいくつか挙げるこ とができる。 1 つは on コマンドである。これは子プロセス がカレントディレクトリと親の環境変数の両方を得ること を除き、 rsh と同様に働く。もう 1 つは ButlerC5) である。 これは、 on と同しくプロセスに対して透過的なリモート実 UNIX MAGAZINE 1991.2 ネットワークの透過性・ 行をおこなう。さらに、プロセスを実行するアイドル状態 のホストを自動的に選択する。プロセスを実行しているマ シンの所有者が戻ってきたときは、リモート実行プロセス から抜ける。しかも、その場合はユーサーに警告し、状態 保存に必要な猶予をプロセスにえた後に中断というかた ちでプロセスから抜ける。 真のプロセス透過性を提供する解決法は、プロセスの転 送 (migration)—すなわち、同しアーキテクチャのマシ ン間でプロセスを転送する機能である。これによって、プ ロセスはその親と同しノードで実行を開始し、ネットワー ク上のアイドル・ノードに移動できる。プロセスはつねに 開始時に得られた環境を持続し、ユーサーにもつねにロー カルなマシン上で実行されているかのような印象をケえる。 その場合、プロセスか転送されたことを示す唯一の兆候は、 もとのマシンの負荷が落ち、転送先マシンの負荷が増大す ることである。 プロセス転送の利点の 1 つは、いつでもプロセスを動か せるということである。このような持性により、マシンの 所有者カ唳ってきたときにリモート実行されているプロセ スを非破壊的な方法で中断させることができる。そして、 それまでのプロセスを無駄にすることなく、本来の場所に 戻すか、別のアイドル・ノードに移して継続できる。 プロセス転送の性能は、転送時のプロセスの状態による。 Sprite での測定では、プロセスが多くのファイルデータや メモリを得る前ならば迅速な転送が可能という結果が出て いる。これは DECstation3100 間でおこなったものだが、 転送に要した時間は 50ms 程度である [ 6 ] 。プロセスが多 くのデータを取得している場合は、転送時間はさらに長く なるであろう。 真の透過性を得るには、いつどこにプロセスを転送する かを決めるために、プロセス転送機能をベースとしてなん らかのメカニズムを構築しなけれはならない。 Sprite など の負荷共有型のシステムでは、マシンのリストとその負荷 を記録しているプロセスを常時実行させてプロセスの転送 先を決めている。いつ転送させるかについては、自動負荷 調整からアプリケーションによる制御まで、多様なメカニ ズムが考えられる。たとえは、 Sprite では並行構成機構に よってプロセスを転送するか否かを決めている。 プロセスの転送が実現できれは、完全なプロセス透過性 をもつシステム構築が可能になる。プロセス自身、それを実 63
出したといえる。今日必要とされるのは、標準の OS べー スの以下の要件を保証して、これをさらに推し進めること である。 ・リアルタイムの組込み型システムへスケールダウン可 能とする。 ・マルチプロセッサと並列アーキテクチャへスケールアッ フ。可能とする。 ・完全な分散型環境における特殊化されたネットワーク・ ノードへの柔軟性を確保する。 ロ 成熟したマイクロカーネル技術 一般的な標準べースが提供しなければならないサーピ ス ( マイクロカーネルのインターフェイスにみられる ) の 定義は、マイクロカーネル・アーキテクチャの設計におけ る本題である。そこでは、すべてのシステムに中心的な機 能を完全にサポートすることと、特定のアプリケーション 分野の要求に適用させたり特定のマシンのアーキテクチャ の利点を活かすためのカスタム化を可能にすることとが、 うまく平衡していることが肝要である。 これは、過去数年間で実現してきている。本来は分散型 の特殊システムを支援するために開発された当初のメッ セージ・べースのマイクロカーネルは、以後により一般的 なシステムのニーズに合うように強化されているか、全面 的に設計し直されている。そして、今日では設計上のキー ポイントが何であるかは十分に認識されており、うまく設 計されたこの機能が用意されている。成熟したマイクロカ ーネル・べースのオペレーティング・システムは現実に実 用化可能といえる。これらの設計の特徴としては、次のよ うなものが挙げられる。 ◆強力な構造化のコンセプト モジュール化を孑止するためには、 Chorus のアクター/ スレッド、 Mach のタスク / スレッドのような、強力な構造 化のコンセプトが要求される。 (V-system 、 Amoeba 、 Mach 、 Chorus にみられるように ) メッセージ通信によっ てモジュール間の相互作用を明確に分離することについ ても同様である。 UNIX MAGAZINE 1991.2 マイクロカーネルの設計■ ◆ / ステム・コンポーネントの透過的再利用性 クライアント / サーバーモデルによるサーピスのカプセ ル化によって、このモデルをサポートするシステムサーバ ーを異なる OS 環境で利用することが可能になる。 ◆コンピュータ・アーキテクチャ全般にわたる移植性 多様なタイプのマルチプロセッサのアーキテクチャに対 する移植性が要求されているが、組込みシステムや仮想記 憶能力をもたないコンピュータについても適用する必要が ある。 ◆スケーラビリティのサポート ードウェアと同様に、システムサービスについても可 汎性が要求される。たとえは、スレッドはサーバー内で複 数の要求を処理するためにシステム構築者が利用できるツ ールの 1 つである。 ( シンメトリックなマルチプロセッサ構成で並列を用い た ) 性能の最適化と同様に、さらに要求を処理するために スレッドを付け加えることは、容易にプログラムできるし 対応しやすい。 もう 1 つの例は、最小限の Chorus/Mix が組み込まれ た X 端末にみられる。これらについては X サーバーやいく つかのローカルの X クライアントが必要とする UNIX の システムコールのみを提供しており、 UNIX のカーネル全 体は必要ない。 ◆サーバー開発のサポート 構築の操作性を高めるため、システムサーバーの開発と デバッギングはユーサーレベルで実行できるようにし、サ ーをシステム空間へ動的に移動させることを可能とす る。 ◆ハードウェアに依存した機能の構造的統合 成熟したマイクロカーネルの設計では、ハードウェア・ 工ンジンにより簡単にアクセスするためのデバイスドライ バや割込み / トラップ・ハンドラは、マイクロカーネル自体 に組み込まなくともすっきりと定義できる。 メッセージ通信べースのマイクロカーネルは、位置透過 ◆ OS サービスの分散環境透過 69