X11 - みる会図書館


検索対象: UNIX MAGAZINE 1993年11月号
281件見つかりました。

1. UNIX MAGAZINE 1993年11月号

HP journal リスト 5 再割当てをおこなった場合のアセンプラコード 1 : 2 : 3 : 4 : 7 : 10 : 11 : 13 : 14 : 15 : 17 : FCPY , SGL LD 工 LD 工 i—loop—start 5 : COPY j —loop-start 8 : COPY k—loop—start 16 : LDO 9 : LDI 6 : LDI く = 12 : FSTWX,M % fr4L , % r31 ( 0 , % r29 ) く = く = ADDIB, ADDIB, LDO ADDIB, BV,N %frOL , %fr4L 800 , % r31 ー 9 , % r23 % r26 , % r24 ー 19 , % r25 % r24 , % r29 ー 29 , % r19 1 ,%r19,k—100p—start ;k—cnt く一 k—cnt + 1 1 ,j—loop—start 40 ( % r24 ) , % r24 1,%r23,i—Ioop—start; i—cnt く一 i—cnt + 1 4 ( % r26 ) , % r26 %rO (%r2) ; f r4 く一 0 . 0 ;Pijk—inc く一 800 ;l_cnt く一一 9 ;Pij1 く一 Pi11 ー 19 ;J—cnt く一 ;Pijk く一 PijI ー 29 ; k_cnt く一 ; if k-cnt く = 0 go to k—loop—start ;*(Pijk) く一 0. O;Pijk く一 Pikj + 800 ;j—cnt く一 j—cnt + 1 ; if j-cnt く = 0 go t0 j—loop-start ; Pij 1 く一 Pij 1 + 40 ; if i_cnt く = 0 go tO i_loop_start ;Pi11 く一 Pi11 + 4 コンパイラで最適化レベル 2 を指定してコンパイルした場 合は、リスト 5 のコードが生成される (Fortran プリプロ セッサ・オプション + OP は指定していない ) 。 このコードを見ると、レジスタ再割当てと強さの軽減 が、入れ子になった 3 つのループのすべてに対して適用 されていることが分かる。 k ループの最適化 k ループのためにコンパイラが生成する一時ポインタ 変数 Pijk ( レジスタ 29 で f 尉寺される ) は、配列の要素 A(i,j,k) のアドレスをイ尉寺している。 1 ずつインクリメ ントされるもとのルーフ畯数 k の代わりに、この一 -- 時変数 にはべースレジスタの変更 ( 12 行目 ) によって 800 が 加えられる。 800 は、 DIMI x DIM2 >< element-size ( 10 x 20 x 4 ) から計算されるもので、式 ( 2 ) の不変 量住を表している。 k ループに入る前に、 Pijk は A(i,j,1) のアドレスに 匆期化されていなければならない。本来、変数 k は k ルー プに入る前に 1 にネノ琪月化されていたからである。この例で は、 A(i,j,1) のアドレスを次のように言 1 算できる。 [ ( ( ( ( 1 x 20 ) + j ) x 1 の + i) ( ( 1 + 20 ) x 10 + 1 ) ] x 4 + ADDR (A ( 1 , 1 , 1 ) ) この式は、次のように単純化できる。 40 x j + ( ( 4 x i) ー 44 + ADDR(A ( 1 , 1 , 1 ) ) ) UNIX MAGAZINE 1993.11 これは、 j ループにおいては、次のような形式でループ 変数 j の一次関数となる。 である。 0 = 40 こでは、 住 j + 0 = ( ( 4 x j ) ー 44 + ADDR (A ( 1 , 1 , 1 ) ) ) j ループの最適化 ( ( 1 + 2 の x 10 + 1 ) ] x 4 + ADDR (A ( 1 , 1 , 1 ) ) [ ( ( ( ( 1 x 2 の + 1 ) x 10 ) + i) 次のように計算することかできる。 ていたからである。こ刎列では、 A(i,1,1) のアドレスは ない。本来、変数 j は j ループに入る前に 1 にネ月化され は A(i,1,1) のアドレスに初期化されていなければなら リメントされる ( 14 行目 ) 。 j ループに入る前に、 Pij1 トされる場合にはかならす、この一時変数が 40 インク を使用している。本来のルーフ変数 j が 1 インクリメン パイラは、レジスタ 24 ( ゴ尉寺されている一時変数 Pij1 A(i,j,1) のアドレス式の強さを軽減するために、コン 内での変量 i の -- - ・災数となる。 これは、 i ループにおいては、次のような形式でループ 4 x i + (ADDR (A ( 1 , 1 , 1 ) ) ー 4 ) この式は、次のように単純化できる。 59

2. UNIX MAGAZINE 1993年11月号

Xkernel & Sun3 図 7 fstab の内容 $ cat fstab tengu : /export/root/Xkerne1. sun3 tengu : /export/exec/sun3. sunos . 4 . 1 . 1 tengu : /usr/1ib/X11 /usr/1ib/X11 $ cat hosts 127.0.0. 1 133. 152.80.10 133. 152.80.1 133. 152.80.2 ( 9 ) fstab の験 10Ca1 五 ost kotengu tengu 0 Ot engu ( 11 ) Xsu Ⅱのコピー ( 3 ) でコンパイルした Xsun をコピーします。 vmunix と同しディレクトリに Xsun があるのはなんだかおかし な感しもしますが、気にしないでください。 $ rcp kotengu : $ (X) /mit/server/Xsun (12)init のコピーと験 $ cp $ (Xkerne1) /init sbin/init sbin/init をサイトに合わせて編集します。変更する のは、 FONTPATH の値と、 route のコメントを外してデ フォルトルートを設定するところだけです。 ( 13 ) route のコピー sbin ディレクトリにコピーします。 $ cp $ (Xkerne1) /route sbin/route ( 14 ) /etc/exports の /etc/exports に次の 1 行を追加し、 /export/root/Xkerne1. sun3 —access=kotengu, root=kotengu /usr/etc/exportfs -a を実行します。 ( 15 ) スワップファイルの作成 Xkernel ではスワップファイルは使いません。ただし、 最初に UNIX が立ち上がるときに必要なので作成してお きます。また、このファイルはすべての X 端末で共有で 図 7 のように、かならすハードマウントします。 ( 10 ) protocols のコピー sun3 の /etc/protocols を . /etc にコピーします。 $ rcp kotengu:/etc/protocols $ cd UNIX MAGAZINE 1993 ユ 1 nfS ro nfS ro nfS きるので、 2 台を X 端末にする場合もスワップファイル ,hard 0 0 ,hard 0 0 ,hard 0 0 Sun3 の電源を入れなおすと、 X カ位ち上がります。 してください ) 。 とします (sun3x のマシンの場合は、下線部を SUN3X に $ 1 Ⅱ—s boot . sun3. sunos .4.1.1 8598500A . SUN3 $ 1 Ⅱ—s b00t . sun3. sunos .4.1.1 8598500A $ cd /tftpboot ジは boot . su Ⅱ 3. sunos. 4.1.1 なので、 16 進数では 8598500A になります。 sun3 のプートイメー kotengu の IP アドレスは 133.152.80.10 ですから、 リック・リンクを張ります。 変換し、それをファイル名としてプートイメージにシンポ まず、クライアントの IP アドレスをすべて 16 進数に 定が必要です。 add-client を実行していないときは、 /tftpboot の設 ( 19 ) /tftpboot の設定 のファイルに kotengu のエントリを追加してください。 前節で add-client を実行していない場合は、この 2 つ ( 18 ) /etc/hosts と /etc/ethers の編集 $ touch tmp/. X11—unix/XO $ mkdir tmp/ . X11—unix $ mkdi r tmp $ cd /export/root/Xkerne1. sun3 これがないと、 X カ位ち上がりません。 (17)unix ドメインソケットのでっちあげ swap=tengu : /export/swap/Xkerne1 kotengu root=tengu : /export/root/Xkerne1. sun3\ されている場合は、変更してください。 add-client を実行したときに kotengu のエントリが追加 /etc/bootparams に次の行を追加します。前節で ( 16 ) /etc/bootparams の編集 $ /usr/etc/mkfile —nv 4m XkerneI $ cd /export/swap を 2 つ作成する必はありません。 113

3. UNIX MAGAZINE 1993年11月号

図 3 コード片に含まれるループ i 、 j 、 k を反復しているあいだの各変数に含まれる酉リ要素アドレス Array 日 ement Addresses Contained in Temporary Variables Execution Sequence i = 2. j = 20. k = 1 … i = 10. i = 1. k = 1. i = 10 j = 2. k = 1. i = 10. i = 20. k = 1 … Pi11 A ( 10.1.1 ) A(10.1.1 ) A ( 10.1 川 A ( 2 コ川 A ② 1.1 ) A ② 1.1 ) A ( 1.1.1 ) A ( 1.1.1 ) A ( 1.1.1 ) A ( 1.1.1 ) A ( 1.2.1 ) A( 1.20.1 ) A ( 2.1 川 A ( 221 ) A ( 2.20.1 ) A ( 10.1.1 ) A ( 10.2.1 ) A( 10.20 川 1 , 1 ) ) 2 3 ( 1 ) ADDR(A(1,1,2)) = ADDR(A(I,I,I)) + 800 バイト ( 2 ) ADDR(A(1,2,1)) = ADDR(A(I,I,I)) + 40 バイト ( 3 ) ADDR(A(2,1,1)) = ADDR(A(I,I,I)) + 4 ノヾイト ない。本来、変数土は i ループに入る前に 1 にネ月化さ は A ( 1 , 1 , 1 ) のアドレスに初期化されていなければなら リメントされる ( 16 行目 ) 。 i ループに入る前に、 Pi11 メントされる場合にはかならす、この一時変数は 4 インク Pi11 を利用する。本来のルーフ変数 i が 1 だけインクリ に、コンパイラはレジスタ 26 にイ尉寺されている一時変数 A(i,1,1) におけるアドレス式の強さを軽減するため 60 れていたからである。 去財刀は Pi11 = Pij1 = Pijk = ADDR(A(I, 0 i + 0 こでは、 0 = 4 0 = (ADDR(A(I,I,I)) ー 4 ) である。 i ループの最適化 A ( 1.1.1 ). A ( 1.1.2 ) .. A ( 1.1. ) A ( 1.2.1 ) .. A ( 12 訓 ) A ( 120.1 ) … A ( 120.30 ) A 仏 1.1 ) … A ( 2.1. ) A ( 22.1 ) … A ( 2.2 訓 ) A ( 2.20.1 ) … A ( 2.20.30 ) A ( 10.1.1 ). … A ( 10.1. ) A ( 10.2.1 ) ... A(10.2.30 ) A ( 10.20.1 ) .. A( 10.20.30 ) Fortran では、省田翻叔こは引数が参照渡しされるため、 A ( 1 , 1 , 1 ) のアドレスは、リスト 5 のコードを含むサプル ーチンに仮引数として渡される ( サプルーチンへの最初の 引数が、酉改」 A の第 1 要素のアドレスとなっている ) 。ソ フトウェア上の規約によって、 PA-RISC マシンでは、最 初の整数引数はレジスタ 26 によって渡さ Pi11 はレ ジスタ 26 ( ゴ尉寺されるので、コンパイラが生成する一芋 変数を明示的にネ月化する必要はない。 コンパイラが生成する 3 つの一時変数が、上記のコー ドを実行しているあいだにとるすべての値を図 3 に示す。 Fortran の配列である配列 A は列優先の順序でオ絲タされる ので、配列の要素が連続的にアクセスされることはない。 これはキャッシュミスと性能低下の原因になる。 Fortran の場合、この問題は Fortran 最適化フ。リプロセッサによ るストライド 1 の内部ルーフ。の変「彡をおこなうことて解消 UNIX MAGAZINE 1993.11

4. UNIX MAGAZINE 1993年11月号

SUN の互換機、中古なら低価格と豊富な在庫の LJN Ⅸガーテンへ / DTK DTK Station CIassic 十 SoIaris 1.1 が使用可能。 (Micro SPARC CPU 搭載 ) CG3-Super VGA を標準装備。 ・ Sun SPARC Classic100 % コン / ヾチ S - bus スロットを 3 つに拡張。 ・ 16MB メモリー ・ 240MB SCSI HDD ・ 3.5 インチ FDD ・キーポード / マウス ・ 14 " カラーモニタ・ SO ris ( 1.1 0r2.1 ) 標準価格 \ 630 , 000 (Sun SPARC/ 互換機 ) DTK Station 2GX(SPARC CPIJ 搭載 ) Sun SPARC station 2 100 % コンノヾチプレ ミッドレンジワークステーション ・ 425MB SCSI HDD ・ 16MB メモリー ・キーポーシ / マウス ・ 3.5 ” FDD ・ 20 " カラーモニタ - ・釦 ris ( 1.1 ) 価格 CALL* DTK Station M41 / M51 (super SPARC CPU 搭載 ) Sun SPARC Station 10 100 % コンバチ ( マルチプロセッシングワークステーション ) ・ 32 / 64MB メモリ・ IGB SCSI HDD ・キーポード / マウス ・ 3. 引 FDD ・ 19 " カラーモニタ・ S 引 aris ( 1.10r2.1 ) 標準価格 76 ; 0 ( M41 ) ( M51 ) SS-2 Main Boa 「 d ・ \ 498 , 000 ・ \ 248 , 000 GX Board ・ \ 98 , 000 CG3 Board ・ Work Station 用周辺機器 ・ DEC ・ Maxtor ハードティスク ・ Conner ・ Quantum ・ Fujtsu Archive ァープストリーマ ・ Viper 2150 ・ Anaconda 2750 ・ Anaconda 2800 ・ EXB -8200 SA 8mm テーブドライプ ・ EXB -8500 SA ・ EXB -8205 SA ・ EXB -8505 SA ・ DTK 正規代理店 大量入荷 sun Sun TEL.03-3255-5669 X. 03-3255-5679 microsystems ・ SUN-4/60(SS1) . , 中古特価 \ 48 , ・ SUN-4/65(SS1 + ) 中古特価 \ 58 , 08 ~ ※商品名は一般に各メーカーの登録商標または商標です。 ( 他機種も有り ) 資料請求 N 。 .068 〒 101 東京都千代田区外神田 3 ー 10 ー 7 第 2 北沢ビル 4 階 株式会社マイワロワラフト

5. UNIX MAGAZINE 1993年11月号

G 』開発支援ツ司レ Ve 「 .3 発売中 ストラクチャード・シート、 グラフツール装備 F リ謝 Data System X - Mate 紹介セミナーのお知らせ 日程 : 平成 5 年 10 月 28 日木 9 : 30 ~ 11 : 30 ・ 13 : 30 ~ 15 : 30 平成 5 年 11 月 11 日木 9 : 30 ~ 11 : 30 ・ 13 : 30 ~ 15 : 30 平成 5 年 11 月 25 日木 9 : 30 ~ 11 : 30 ・ 13 : 30 ~ 15 : 30 平成 5 年 12 月 9 日木 9 : 30 ~ 11 : 30 ・ 13 : 30 ~ 15 : 30 平成 5 年 12 月 16 日木 9 : 30 ~ 11 : 30 ・ 13 : 30 ~ 15 : 30 会場 : 〒 111 東京都台東区元浅草 3 ー 18 ー 10 上野 NS ビル 8F 株式会社ソフトウェアジャパン 参加費 : 無料 [ 体験版田 (x-Mate ver. 2.1 ) ◎お申し込みの際はお電話ください。 TEL. 06 ー 489 ー 241 1 ( 伊藤 ) WYSIWYG 方式 の解り易いエテイタ ・を・イま 4 を一・第 0 り響第 八リエーション豊富な グラフツール ◆ いれ第ア ? ◆ ◆ イントー COI. いを カラーイメ ・一ジ倍品 スクロール制御付 スプレッドシート部品 代理店募集中 X-Mate ファミリー クラフィカル・ユーサーインターフェース開発支援ツール ポストスクリプト言語、各種 LBP に対応した G 凵印刷ツール PRkid プログラムレスのテータベースアクセスを可能にした テータベース・フロントエンド・ツール DB - Mate ・・・・¥ 198 , 000 X - Mate の機能を低価格で GLJ 購築ツール X-Mate Light ¥ 148 , 000 ※仕様は予告なく変史することがあります。 ※文中に記載されている会社名及び製品名はそれぞれ各社の 商標並びに登録商標です。 ¥ 198 , 000 … , 株ロテータュる 大阪技術センター 〒 650 尼市西長洲町 2 丁目 6 ヨ日 TEL. 06-489-24 Ⅱ代 FAX. -489-24 田 資料請求 N 。 .83

6. UNIX MAGAZINE 1993年11月号

IJN Ⅸへの招待⑩ リスト 4 15 do 17 14 1 % cat 18 e c 0 $PATH 16 PATH=${PATH : + ${PATH} : }$MYPATH 13 /usr/local/mh\ 12 /usr/hosts\ 11 /usr/bin\ 10 /bin\ 9 /usr/ucb\ 8 /usr/10ca1/bin/Wnn4\ 7 /usr/local/bin\ 6 /usr/bin/X11\ 5 /home/husband/aya/sh\ 4 /home/husband/aya/bin\ 3 fo て MYPATH in \ 2 PATH= # ! /bin/sh —n example /usr/ucb: /bin:/usr/bin:/usr/hosts : /usr/10ca1/mh:/usr/10ca1/X11R4/bin: /home/husband/aya/bin : /home/husband/aya/sh : /usr/bin/X11 : /usr/local/bin : /usr/10ca1/bin/Wnn4 : % example ムと上交してエラーメッセージが多少ごちやごちゃして いる ( 地頁にシェル・プログラム名と変数名が表示され る ) という点を除き、ほは同様の結果か得られます。 $ { パラメータ : + 文字列 } 最後は、 $ { パラメータ : + 文字列 } の使い方です。この 形式ではパラメータに空でない値カ武入されている場合、 全体が文字列に置き換わります。 $ { パラメータ : 一文字 列 } とは逆の働きです。リスト 4 を見てください。これ は、パラメータ PATH に次々と MYPATH の値を加えて いくというプログラムです。ただし、 PATH の値に新しい PATH=$PATH : $MYPATH このためには、 れます。 MYPATH の値を加えるだけでなく、そのあいだに : を入 UNIX MAGAZINE 1993 ユ 1 を加えた結果を PATH に代入しているわけです。 使い、値があれは・ $ { PATH } : で置き換え、それに $MYPATH : を付けたくないので、 $ { パラメータ : + 変数名 } の形式を で、 PATH の : 頁にも : が付いてしまいます。 : 頁には としてもよさそうですが、 MYPATH の最初の値は空なの : は不要 ? パラメータと修飾子について、 $ { パラメータ : ー } $ { パラメータ : = } $ { パラメータ : ? } $ { パラメータ : + } この例では、 example の引数に空を指定していますが、 $ { 1 : ーないよ } では ( : があるので ) ないよに置き換わり、 $ { 1 ーないよ } では ( 設定だけカ寸引題なので ) 置き換わって の 4 不鶤頁を勉強しました。ところで、これらの形式では : は省略してもかまいません。ただし省略すると、一と = で はパラメータが設定されているかどうかだけが間題にな り、値カ啌かどうかは関係なくなります。 % cat example # ! /bin/sh echo $ { 1 : ーないよ } echo $ { 1 ーないよ } % example " " ないよ いません。 191

7. UNIX MAGAZINE 1993年11月号

ENV ZEX 0 Xstones : 165 , オーディオ、フロッビードライフ : スキャナーなどのマルチメディア 機能をプラス。 HP ENVIZEX X ステーションファミリ新登場。 ピードライプなどのマルチメア機能て、す。また、 もっと使いやすく、もっとメンテナンスが容易てし 接続性にも優れ、どのようなホスト上て、も X11P5 かもコスト面て、も有利なクライアント / サーパ・シ 準拠のアプリケーションに自由にアクセスて、きま ステムを。こうしたニーズに応えるのカミ「 HP EN す。卓越した性能、機能てクライアント / サー VIZEX 」 X ステーション・ファミリ。従来機の 2 倍 コンヒ。ューティング環境て、ワークステーション並 の性能向上を実現すると同時に、システム管理 % ″シリーズ : 165 , 000 Xstones の役割を果たす、 HPENVIZEX X ステーシ 者 / ェンドユーザに対するベネフィットを大幅に モデル 19CaS 、 1 9Ca 、 17CaS 、 1 7Ca 、 15Ca 、 19Ga 当〃シリーズ : 100 , 000 Xstones ョン・ファミリ。モノクロからカラーまて、計 9 タイフ。の 向上。そのひとつカミオーオやスキャナ、 DOS モデル 17Ci 、 15Ci 、 14Ci 中から、最適なモデルをお選びいただけます。 と UNIX 間のファイル転送を容易にするフロッ 価格 : モデル 14Ci ( 最小システム構成 ) 31.5 万円より お問い合せはフリーダイヤルで トマインフォメーションセ 0120-081444 ( TEL ) 30 B0120-081445 ( FAX ) ※ FAX は 24 時間受付け 横河・ヒューレット・パッカード株式会社 本社〒 168 東京都杉並区高井戸東 3 ー 29-21 CSOPPOI ー ad ー 3048 HP ENVIZEX X ステーションファミリ 資料請求 N 。 012 工ンビジックス Ne 記

8. UNIX MAGAZINE 1993年11月号

リスト 1 再割当てをおこなわない場合のアセンプラコード 1 : 2 : 3 : 4 : 5 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : 15 : 17 : 18 : 20 : 21 : 22 : 23 : 1 , % r31 LD I FCPY , SGL %frOL , %fr4L LD 工 LD I i ー 100P ー 6 : LDI j ー 100P ー LD 工 k ー 100P ー ADD SH2ADD SHIADD LD 0 LD 0 LD 0 19 : LDI LDO LD 工 BV,N 20 , % r24 600 , % て 29 s t art 1 , % r23 start 20 , % r25 start な 25 , % て 23 , % r19 % r19 , な 19 , % r20 な 20 , % r31 , % r21 ー 211 ( % r21 ) , % r22 20 ( % r25 ) , % r25 COMB , く = % r25 , % r29 , k_loop_start 16 : FSTWX,S % f て 4L , % て 22 ( 0 , % r26 ) 1 ( な 23 ) , % r23 COMB, く =,N %r23,%r24,k-100p—start ; if j く = r24 20 , % r25 1 ( % て 31 ) , % r31 COMIBF, く ,N 10 , % r31 , j ー 100P ー sta て t 1 , % r23 %rO (%r2) 1 ; f て 4 く一 0 . 0 ; て 24 く一 20 ; て 29 く一 600 ; i く一 ; t く k * 20 > く一・ 20 ; て 19 く一 t く k * 20 > + j ; r20 く一 r19 * 5 ; r21 く一 r20 * 2 + i ; r22 く一 r21 ー 211 ; t く k * 20 > く一 t く k * 20 > + 20 ;if t く k * 20 > く = て 29 ;go tO k—loop—start ; * [ て 22 * 4 + ADDR(A(I,I,I))] ← fr4 ;go t0 k-loop-start ;i く一 i 十 1 ; if i く = 10 go to j—loop—start ; return れたものである。最商化はレベル 2 で、ルーフ。展開と再割 ルーフ不変量 定数の畳込み ラで生成されたコードを謌べたのは、レジスタ再割当ての景だけを取り いない。シリーズ 700 ではなく、シリーズ 800 の Fortran コンノヾイ Fortran コンパイラに実装されたコード生成および最直化の強化を含んで 2 シリーズ 800 HP-UX 8.0 Fortran コン / ヾイラは、シリーズ 700 実行される (PA-RISC では、浮動小点レジスタ 0 カ艀 のループから全ループの殞則に移動さそこで 1 回だけ リスト 1 の 2 行目の浮動小点値 0.0 の定義は、一番内側 ループの入れ子のできるだけ則に移動する。たとえば、 ルーフ不変コードの移動により、ルーフ不刻直の計算を と評価される。 ー ( ( 1 + D 工 M2 ) x DIMI + 1 ) は、コンノヾイル時に一 211 DIM2 = 20 、 DIMI = 10 が与えられているので、部分式 以下にこのコードでの最商化について述べる。 く、理解しやすいようにあとから付け加えたものである。 とコメントについては、コンパイラが生成したものではな ーヾノレ (i-loop-start 、 j-loop-start 、 k ユ oop-start) リスト 1 のコードで、ループ本体のう巨頁に付いているラ 当てはまったくおこなっていない 2 。 56 出し弓するためである。 動小魏点のストア以外の命令のソースオペランドとして使 われている場合、その値は 0.0 と定義される ) 。 インデックスのシフト 一番内側の k ループ ( 10 ~ 16 行目 ) には、部分式 ( ( ( (k x DIM2) + j ) x DIMI) + i) を計算するコ ードが含まれている。この式の値は一 211 に加えら配 列要素に 0.0 をストアする命令で使われる前に、レジスタ 22 にストアされる ( 13 行目 ) 。レジスタ 22 はインデッ クス・レジスタとして使用される。この値は 4 腰素のサ イズ ) 倍さ ADDR(A(I,I,I)) を含んでいるべースレ ジスタ 26 に加えられる。これらの演算によって、ストア 命令のための実効アドレスカ球められる。 コンパイラは、 14 行目で k に DIM2 をかけるという演 算の強さを咸している。 k x 20 ( コメントに t く k * 20 > とある ) の値をイ尉寺づ - る - ヨ寺変数は、 8 行目でレジスタ 25 に割り当てられている。この一・時変数は、 A(i,j (k) のア ドレス計算に使用される。一番闢則のルーフ。が実行される たびにこの一時変数に 20 すっ加えるようにすれば、 k に 20 をかける必喫がなくなり、乗算は不要になる。 一次関数の判定の置換 k x 20 に対して強さの軽減をおこなえば、変数 k が UNIX MAGAZINE 1993.11

9. UNIX MAGAZINE 1993年11月号

CJN Ⅸ知恵袋 リスト 3 lib/Makefile. in の変更例 $(CC) -c $(CFLAGS) $(INCFLAGS) -I/usr/IocaI/XII/incIude $(DEFS) $* . c $(CC) -c $(CFLAGS) $(INCFLAGS) -I/usr/X11R5/inc1ude $(DEFS) $ * . c . 111 Mon Ju1 19 00 : 20 : 15 1993 * * * 1ib/Makefi1e ・ in ・ org Fri Oct 23 04 : 22 : 12 1992 x_shface . 0 : 1ib/Makefi1e x_shface . 0 : 28 , 30 * * * 120 , 121 * * * * 120 , 121 . 0 bitmap. 0 ut 土 1.0 $ (CC) —g —DTEST $ (INCFLAGS) save_rast . 0 bitmap. 0 uti1.0 $ (CC) —g —DTEST $ (INCFLAGS) save_rast ・ lib/x-shface . c $(DEFS) ー 0 dither dither . c x_shface . 0 \ -L/usr/X11R5/1ib —1Xaw —1Xt —1Xmu —1Xext ー 1X11 —lm $(DEFS) ー 0 dither dither . c x_shface . 0 \ —L/usr/10ca1/X11/1ib —1Xaw —1Xt —1Xmu —1Xext ー 1X11 -lm 私たちがコンパイルしたときは、 mugshot がうまく表 示されませんでした。表示された絵が壊れているように 見えるときは、リスト 4 のパッチを当ててください。 インストール後の作業 以 - ヒの設定を石忍したら、ディレクトリ finger-l. 37 で . /configure を実行します。その後、 make とタイ プしてコンパイルします。コンパイルがうまくいかな い場合は、 Makefi1e . 洫の設定を中心に見なおして、 ・ /configure からやりなおします。コンパイルに成功し たら、サーバー (fingerd を動かす計算機 ) では、 % make client その他の言算機では、 % make server ・ /usr/local/etc/fingerdir/clients バーでも必要です。 かす言 t. 算機の名前を指定します。このファイルは、サー finger のサーバーになる計算機、つまり fingerd を動 ・ /usr/local/etc/fingerdir/serverhost インストール後以下のファイルを変更します。 とすると、必要なファイルがインストールされます 1 。 UNIX MAGAZINE 1993.11 ザー - ク襯具でおこなってください。 1 インストールするディレクトリに物ムみ権がない場合は、スーパーユー ます。 fingerd はこのファイルに記述されている計算 サーバーで finger のクライアントの計算機名を指定し 機に対して、情報収集のためにポーリングをおこない ます。 ・ /usr/local/etc/fingerdir/mailhost ューザーがどこにメールをフォワードしているかの情報 や、メーリングリストに参加しているメンバーを間い合 わせるための計算機名を指定します。 ・ /usr/local/etc/ttylocs 部屋番号など、言算機か設置されている場所を次刎列の ように言当します。 hiromi A ー 416 chinatsu S ー 114 chiaki S ー 115 yuki S ー 212 ・ /usr/local/etc/fingerdir/targets/ このディレクトリにファイルがいくつかインストール されるので、チェックしておきましよう。 x-. sit e は、 finger ・ site を実行したときに実際に実行されるフ ァイルです。最初は次のようになっているので、適当 な情報を言当してください。 # ! /bin/sh # This file should describe your site . echo NO Site information . サーピスを追加する場合は、 x ーサービス名という名前 の実行形式のファイルを作成します。 Finger はサーピ ス名とユーザー名を区別しないので、サービス名の最初 ( ピリオド ) て始めるというふうにルール の文字は を決め、名前か重複しないよう注意しましよう。たとえ 119

10. UNIX MAGAZINE 1993年11月号

NEWS (75MHz) にアップグレードしたデスクト ップ・モデル。演算機能を現行機の最大 1. 4 倍に向 - 匕主記匱を最大 160MB まで増 設可能で、 APbusx 4 スロットをもつ。 日本電気 (Tel 03 ー 3798 ー 6288 ) は、 (APU) と無停電電源制御システム (UPS) 価格は 300 万円から。 UNIX サーバー、、 NEC スーパーサー を標準装備。 ◆ E Ⅵ S4800 / 150LT UP4800 シリーズ〃 4 機種と WSN 、 NEC ス 価格は 1 , 156 万円から。 1 , 280X 1 , 024d0t の解像度で、 1 , 670 万 ◆ UP4800 / 615AD ーノヾーステーション EWS4800 シリーズク 色の同時表示が可能なフルカラー TFT 3 機種、マルチプロセッサ用 UNIX OS UP4800 / 615 の CPU を R4400PC 液品ディスプレイを装備したラップトッ の SVR4.2MP をベースとした「 UP ー ◆ UP4800 シリーズのおもなイ士様 UX/V(Re14.2MP) 」の販売を開始した。 モデル 615AD 660 680 形態 フックマウント デスクトップ 各製品のおもな特徴は以下のとおり。 R4400MC R4400MC C P U R4400PC ◆ UP4800 / 680 1 ~ 4 個 2 / 3 / 4 / 6 / 8 個 クロック周波数 75MHz CPU に R4400MC(75MHz) を 2 ~ 8 ICPU: 149 2CPU: 298 Mips 値 149 個使用可能なマルチプロセッサ型 UNIX 8CPU: 1 , 192 4CPU : 596 16KB 十 16KB/CPU 16KB 十 16KB lst 。 CPU を 8 個使用した場合の演 キャッシュ・メモリ IMB/CPU 2nd 算速度は 1,192Mipso APbusx 8 、 標準 64 / 256MB 128 / 256MB 32MB 主記憶容量 最大 640MB/1GB 1.6 / 2GB 160M B VMEbusX 91 ( 最大 ) で大規模システムの 標準 2 / 4.4GB IGB HDD 容量 最大 147.8 / 158.4GB 41.8GB 構築が可育巳 標準装備 ( 640KB / IMB / 1.44MB ) 3.5inch FDD 価格は 2 , 120 万円から。 CPU4 台まで 標準装備 ( 525MB ) CGMT APbus x 8 APbus X 8 の出荷開始は 1993 年 12 月末、 6 台以 - ヒへ 標準 APbus X 4 拡張スロット VMEbus X 8 VMEbus X 11 の対応は 1994 年 3 月末を予定。 拡張 VMEbus x 60 VMEbus X 80 最大回線数 136 182 ◆ UP4800 / 660 RS232C X 1 、コンソール X 1 CPU に R4400MC(75MHz) を 1 ~ 4 セントロニクス x 1 個使用可能なマルチプロセッサ型 UNIX 標準 I/F SCSI-2 x 1 ( 内部 ) SCSI-2 x 1 ( 外部 ) 。 100V 電源で使用でき、特別の電 10B e5 X 2 源エ事をすることなく導入が可育 UP-UX/V(Re14.2MP) OS 外形寸法 (H x W x Dcm) 130 X 65 X 76 価格は 1 , 370 万円から。 ◆ UP4800 / 635AD ◆ EWS4800 シリーズのおもなイ士様 モデノレ UP4800 / 635 の CPU を R4400SC 形態 ( 75MHz ) にアップグレードしたデスクサ C P U クロック周波数 イド・モデル。演算機能を現行饑の最大 1 . Mips 値 4 倍に向上し、トランサクション処理では キャッシュ・メモリ TPC-A べンチマークで 93.67tpsA を実 主記憶容量 ( 標準 / 最大 ) 現。主記慮を最大 IGB 、 HDD を最大 110. HDD 容量 ( 標準 / 最大 ) 2GB まで増設可能。 APbus x 4 、 3.5inch FDD VMEbusx6 のスロットをもつ ( 最大 52 拡張スロット スロットまで可能 ) 。自動電源制御装置 ENEC マルチフロセッサ UN Ⅸサーバー 635AD デスクサイド R4400SC 75MHz 149 16KB 十 16KB IMB 64 / 128MB 832MB/1GB 2 / 4.4GB 109.8 / 110.2GB 75MHz APbus X 4 VMEbus X 6 VMEbus X 46 8 92 RS232C X 1 RS232C x 1 コンソール X 1 コンソーノレ X 1 セントロニクス x 1 セントロニクス x 1 SCSI-2 x 1 ( 内部 ) SCSI-2 X 1 SCSI-2 x 1 ( 外部 ) 10B e5 X 1 10Base5 X 1 UP-UX/V(Re14.0) 31 X 14 X 30.2 70 X 60 X 76 140LT 360A D デスクトップ R4400SC 75MHz 149 16KB 十 16KB IMB 32 / 416MB 426MB / 41.3GB APbus x 4 VMEbus x 3 シリアル X 2 ノヾラレノレ X 1 SCSI-2 x 1 オーディオ I/F x 4 10Ba: 5 x 1 10Base-T x 1 LCD: 13inch カラー CMT: 17 / 20 / 21inch 1 , 280 X 1 , 024 1 , 670 万色中 256 色 / 1 , 670 万色 15 X 43 X 41 150LT ラップトップ R4400PC 40MHz 78 8KB 十 8KB lst 2nd 16 / 80MB 426MB / 7.8GB 32 / 160MB 1.1 / 7.8GB 標準装備 ( 640KB / IMB / 1.44MB ) 標準 拡張 シリアル X 2 / ヾラレノレ X 1 SCSI-2 x 1 オーディオ I/F x 2 10B ” e5 X 1 13inch カラー LCD 1 , 280 X 1 , 024 4 , 096 色中 256 色 標準 I/F ディスプレイ 表示色 OS 外形寸法 (H x W x Dcm) 13inch フルカラー LCD 1 , 280 X 1 , 024 1 , 670 万色 EWS-UX/V(Re14.2) 12.35 X 34 X 39.9 UNIX MAGAZINE 1993 ユ 1 3