TURBOchannel T 1 アダブタ 変数 Random の値をトグル式に切り替える。 真の場合、送信バケットの長さはランダムに決まり、ラ ンダムなデータで埋められる。 ・ DataCheck Random が 変数 LoopBack の値をトグル式に切り替える。 ・ Loop 査される。 Check が真の場合、受信バケットのなかのデータか検 変数 DataCheck の値をトグル式に切り替える。 LOOP Data 90 ピットを設定する代わりに、 csr. TxStart を設定して FIFO に 2 バイト書き込み、最後のデータの 9 番目の て、強制的に HDLC をアポートさせる。具イ勺には、 する。これは、送信器の FIFO をアンダーフローにし テストカ鮗ると、正常な場合と失敗した場合の数を表示 去をテストする。任意の 1 文字を入力すると終了する。 送信器と受信器で HDLC のアポートの発生とその除 ・ AbortTest 合、送信速度か変化するかもしれないからだ。 アで直接実行される。これは、 OS を介して計測した場 テスト時間に上 tf 列して高くなる。テストは、ハードウェ ズトに使用されるクロックは 1 秒単位なので、精度は れる ( 1 バイトのフラグと 4 バイトの CRC)0 このテ とに 5 バイトのオーバーヘッドのバイトが付け加えら か小さい。この速度を計算するときには、バケットご 数は、最大イ云送スピードの 1.536Mbps よりはいくら このコマンドから報告される 1 秒あたりの送信ピット は、 HDLC の挿入ピットを考慮して生成したもので、 定のパターン ( 0 、 1 、 2...255 ) である。このパターン よって制御される。送信バケットのなかのデータは一 了する。送信するバケットの長さは、変数 Length に バケット数を言 t 測する。任意の 1 文字を入力すると終 バケットを次々と送信し、 1 秒間に送信したピット数と ・ Speed の場合、送信器は内蔵の水品発振器を使用する。 変数 C10ck の値をトグル式に切り替える。 C10ck が真 ・ Clock 同期とキャリアの LED が点灯する。 器の入力に入る。 LoopBack が設定されると、フレーム Back が真の場合、送信器からの出力がループして受信 送信器を重川乍させる。 RxStatus . abort が真ならば、 正しく動いている。 ・ ScopeLoop 連続的に制御 / 状態レジスタを読み出す。任意の 1 文 字を入力すると終了する。このコマンドを実行すると、 TURBOchanneI のハードウェアのテンヾッグのための、 安定したオシロスコープの杉カイ乍りだされる。 コマンド吏用方法 TI 回線をさまざまな場所でループさせたり、診断コマ ンドを実行したりすると、回線やアタブタの多くの間題が 鮹夬できる。 ・アダブタの乍テスト アダフ。タの簡潔で完全なテストのためには、 LoopBack を設定して Test コマンドを起重丿ければよい。 これは、モジュラージャックとトランス、およびドライ バとレシーバ回路を除くアダブタ本をテストする。も し、すべての変数かオ川月値のままならば、 Test は、長 さがランダムに変化し、ランダムなデータをもつバケッ トを送信し、戻ってきたバケットのデータを検査する。 テストの開始変は、ソフトウェアがハードウェアと同 期をとろうとするので、いくつか悪い状態カ尋匱告される かもしれない。またテストの終了時に、送信した正常な バケット数と受け取った正常なバケット数が一致しな いこともある。 ・ TI 回線の乍テスト 通常はアダブタ内部でループさせすに、 TI 回線自体を いくつかの方法でループさせる。 TI 回線を外部でルー プさせて、 csr. LoopBack を設定せすに Test を起動 する。 CSU のルーフンヾック・スイッチを入れてテスト すると、アダフ。タ全体とアタフ。タから CSU へのケープ ル、および CSU の大部分についてテストできる。そ のほかに、 CSU には TI 回線を落とす特別なシグナル を送って、遠く離れた CSU とループするためのスイ ッチがある。これを利用すると、アタブタ本と手前の CSU 、 TI 回線および対向する CSU のはとんどについ てテストできる。 ・双方向のテスト 2 つのアタブタと TI 回線全体をテストするには、一方 のアタブタ上で Ech 。コマンドを動かし、もう一方のア UNIX MAGAZINE 1993.2
TURBOchannel T 1 アダブタ 図 9 受信構成 4 3 192 Cnt 8 Cnt 5 Cnt TI LIN E 1 1 2 2 8KX24 PROM TURBO dlannel 日 FO 8 SR 12SR Frame R511 CRC 表 3 フレームビットが失われたときの直 たパルスなしの状態を計測し、 HDLC によって挿入され たピットを検知する。 HDLC フラグは、 3 状態の FSM により検知する。 TI フレームの同期には 12SR と 192Cnt 、 Frame- Rom を使用する。 192Cnt は、フレームピットが予想さ れるときに、ちょうどアンダーフローを起こすようになっ ている。フレーミング・パターンをみつけているあいだは、 データバイトは計算されず、また挿入ピットも削除されな いので、これらを補うために 8Cnt と 5Cnt を使用する。 最初に 12SR を 0 にし、 192Cnt と 8Cnt 、 5Cnt を設 定する。次に LIU から送られてきたピットは、フレーム ビットであると仮定して 12SR に送り込む。 FrameRom は 12SR の内容をローテートして、そのなかのどれかがフ レーミング・パターン ( 100011011100 ) と一致するかど うかをテストする。その結果には次のようなものがある。 B ad 4 3 2 1 0 Yes 12 12 12 12 12 No 443 1682 3190 3902 4034 Maybe 50 50 50 50 50 3591 2352 844 132 0 No Maybe E rror Yes 12SR には、フレーミング・パターンにわすか でも似ているものは含まれていない。 12SR には、フレーミング・パターンの最後の 1 のピットまで含まれている ( 12SR は 0 に衫期 化されているので、 12 ピットのフレームピット カ唸まれている可能がある ) 。 12SR にはフレーミング・パターンが含まれてい 含まれている。 12SR には、確実にフレーミング・パターンが るが、 1 か 2 ビットのエラーがある。 UNIX MÄGAZINE 1993.2 フレームビットと仮定したピット列を 12SR へ送り込 んだあと、 FrameRom が No または Error であると判定 した場合、 1 ビットだけすらして、再びフレームピットの テストをおこなう。 FrameRom が Maybe または Yes と 判定したら、次の 193 ビット目を再び 12såに送り込み、 同時に 8Cnt と 5Cnt を重川乍させる。この 2 つのカウンタ がアンダーフローを起こした場合、 40 個の正常なフレーム ピットがあったことが分かる。そこで、 csr. FrameSync を設定する。最悪の場合、フレームの同期に 192 x 193 x 40 ビット、つまり約 1 秒必要だが、通常は約 100mS であ る。 D4 フレーミングでは、 12 ピットのうち 3 ピットまで 工ラーが発生しても、フレーム同期を失わないようにしな ければならない。そのため、いったん csr. FrameSync が 設定されたら、 FrameRom から No の判定力ゞドされない かぎり、フレーム同期はとらない。しかし、フレーム同期 を試みているあいだは、エラーが発生してはならない。表 3 に、それぞれのビットエラー (BAD) での FrameRom からの Error と No の判定の割合を示す。同期をとるため 93
TURBOchanneI T 1 アダブタ 図 5 受信テータレジスタ RX RX xx Fifo Fifo xx Half Empt xx 14 13 12 15 ビット 8 Full Fifo RX 11 TX Fifo Full 10 TX Fifo Half TX Fifo Empt 9 8 End of P kt 7 0 Data or CRC Byte ビット 31 ~ 16 接続されていない。 ビット 7 ~ 0 データか CRCO バケットの最後の 4 バイトは CRCO バケットの終り。ピット 7 ~ 0 カた態を表すなら 1 。データなら 0 。 ビット 15 ~ 9 受信と送信の FIFO の状態を表す。缶衂 / 状態レジスタの説明 ( 図 4 ) を参照のこと。 Pkt d が 0 の場合は、 7 ~ 0 ビットがデータである。そ れ以、外の場合は、これらのビットはその前に受信したデー タの状態を表す。受信伏態を表すバイトの直前の 4 バイト はバケットの CRC で、これらは捨ててしまう。 ソフトウェアは、異常に長いバケットを送り出したり、 受け取らないようにしなけれはならない。バケット長には ードウェアによる制限はない。また、たとえ送信器が 異常に長いバケットを送らないとしても、受信器の初期化 や、デバイスドライバが遅くて処理できなかったり、 TI 回 線上でのエラーなどの原因によって異常に長いバケットが 発生する。 OS か初期化をおこなっているあいだに、デバイスドラ イバはアタブタと同期をとらなければならない。受信器は つねに動いており、ソフトウェアか動いていなくても受信 器はバケットバイトを FIFO に書き込もうとする。デバ イスドライノヾか初めて起動されるときは、受信器の FIFO は溢れていたり、壊れたバケットで不になっていたりす る。これらの壊れたバケットを FIFO から消し、受信器 の状態を正常に復旧しなければならない。 データを受信器から主記慮へ効率的に転送するには、 10 サイクルが必要なアダフ。タへの I/O もムみを少なくしな くてはならない。理想的には、 I / 0 も囚みのデータの移動 に対する割合が 1 よりはんのすこし多く、 2 よりかなり少 ない程度がよい。受信データレジスタのなかの FIFO の 状態ビットは、現在のデータの読込み結果を表している。 RxData. FifoEmpty が真ならば、 7 ~ 0 ピットにはその 則に読み込んだデータが入っている。データレジスタから 再度読み出す前に、 CSR のなかの FIFO 状態ピットを 検査する必要がある。 csr. RxFifoEmpty が真のときは、 受信データレジスタから読み出してはいけない。 受信器の正常な状態は、 7 ~ 0 ピットがすべて 0 のとき UNIX MAGAZINE 1993.2 である。 ・ LossOfSigna1 TI 回線中の信号に、クロックを回復するのに十分なパ ルスカ唸まれていない場合は 1 になる。受け取った 32 個の連続したビットセルのなかにパルスがまったくなけ れば、 LossOfSigna1 が 1 になり、バケットの残りは 破棄される。 ・ LossOfFrame TI 回線中の信号に D4 フレーミング・パターンを含ん でいなかったときは 1 になる。 12 個の連続したフレー ムビットのなかに 2 個までは誤りがあってもかまわな い。受信器が、フレーミング・パターンを受け取り損ね たときに Los sOfFrame は 1 になり、バケットの残り は破棄される。 ・ LossOfData 挿入ビットを削除したあとの 2 つの HDLC フラグの あいだに含まれるビット数が、 8 て割りきれなかったと き 1 になる。余りが 0 でない場合は、データに余分な ビットカ咐いているか、ビットか数け落ちている。 ・ Abort バケットが HDLC のアポートによって終了したと きは 1 になる。通常は、バケットは HDLC フラグ ( 01111110 ) によって始まり、終了する。 TI 回線カ蕗 ちると ( パルスがなくなると ) 受信器は 1 しか受け取 らなくなり、 HDLC アポートとなる。 ・ FifoOverf10w 受信器が FIFO に書き込もうとして FIFO が不のと きは 1 になる。データは失われるが、エラーの発生は 受信状態ビット、で分かる。 Fif00verf10w は、受信状 85
連載 / 続ウインドウ・システムについて 図 2 書込み可能な場合の AIlocCoIor および AIIocNamedColor ~ 要 色名データベース カラーマップ RGB 値 色名 RGB 値 AllocNamedColor ″ ocCo / 0 「 1 は、書込み可能なカラーセルであってもむやみに書 ないという状況か容易に起こりうる。 き換えないようにして、なるべく、同じ色を要求するアプ カラーセルを専用に確保するために、 AIIocCoIor- リケーションどうしで共用するガ去である。このやり方で CeIIs および AIIocCoIorPIanes リクエストを用い 確保したカラーセルの内容は、あとで書き換えられないた る。これらのリクエストは上手に利用するとたいへんおも め、アプリケーションの開始から終了まで変化しない色を しろい使い方かて、きるので、すこし詳しく説明することに 表示するためにしか使えない。 この場合、カラーセルを保有しているのはサーバーであ AllocColorCells り、カラーセルにアプリケーションか要求した色を設定す るのもサーバーだと考えれば分かりやすい要求した色が AIIocColorCeIIs は、アプリケーションの要望に合わ すでにはかのアプリケーションによって設定されている せて、一度に複数のカラーセルを書込み可能で市寉保するリ 場合は、サーバーはたんにそのカラーセルのインデックス クエストである。このときに、セルの数とプレーンの数を ( ピクセノ耳間を返すだけである。 指定できる。石呆に成功すると、ピクセノ直とマスクを返 このガ去で色を確保するためには、前述の書込み不可能 す。このリクエストにより、 なカラーマップの場合と同様に、 AIIocColor および AI- セルの数 x 2 プレー / び瀲 locNamedColor リクエストを用いる。これらのリクエス トの重川乍は、書込み不可能なカラーマッフ。の場合は、 個のカラーセルカ蔀呆されることになる。 図 3 に、 PseudoColor あるいは GrayScale の場合の 「存在するセルのなかで、要求された色にもっとも近い色 簡単な例を示した。こでは、 AllocColorCells に対して に設疋されているセルを返す」 4 つのピクセルと 2 つのプレーンを要求している。これに であるのに対し、書込み可能なカラーマップの場合は、 対して合言 t 16 個のカラーセルか不寉保され、 4 つのピクセ 「ハードウェアで表現できる色のなかで、要求された色に ノ直と 2 つのマスクカ区される。 DirectCoIor の場合は、 もっとも近い RGB 値を適当なセルに設定してそのセルを ピクセノイ直の RGB の各フィールドごとに処理をおこなわ 返す」 なければならないので、 1 つのマスクとして返される値の なかに RGB それぞれ 1 つずつ、合言 t 3 つのビットか設 という動作になる ( 図 2 ) 。 定されることになる。 2 のカ 1 去では、カラーセルの確保と石呆したカラーセル アプリケーションはここで得られるピクセルイ直とマスク への色の設定の 2 段階の処理を、すべてアプリケーション を利用して、各種の効 : 勺な色表現か可能だ。図 3 の内容 が制御することになる。そのため、カラーセルをより高度 を前提として、 1 つの簡単な例を挙げよう。 な用途に使用できるが、アプリケーションがセルを占有し ます、ピクセノ耳直 0x8C に黒 ( 前景色 ) を 0x0C に白 てしまう。そのため、複数のアプリケーションが同時に大 量のカラーセルを要求した場合、すべての要求か満たされ ( 背景色 ) を設定し、ピクセノ直 0x8E に赤を 0x0E に黄 当一当一 ハードウェアで表現できる もっとも近い色を選ぶ カラーセル 空いているセルを 選んで設定 0 一三 56 UNIX MAGAZINE 1993.2
図 1 CD-ROM 製作の工程 のデザイン ( 開発 ) アプリケーション データファイル データの編集 データの収集 ラベル印刷 ( モールド ) プレス の作製 スタンノヾ 包装・出荷 カッティング ガラス原盤の などへ出力 MT, Umatic CD-R (WO-CD) へ変換 ISO 9660 の作成 集処理 マスタリング プレス プリマスタリング 電子出版など、データの、、内容 " に価値がある場合、デー タを検索したり見たりするシステムを含めて、企画と編集 UNIX MAGAZINE 1993.2 0 CD 一日 OM は素敵 ( 3 ) 処理か決め手になります。こういうところは、囓籍やデー タベースを作る場合と似ています。 デザイン 新しくアプリケーションを作成する場合は、システムの デザインが重要です。これは、外観と操作ガ去、機能、性 能などを総合的に評価しなければなりません。丘のソフ トウェアは、機能だけではなく見た目の美しさや操作が直 観的であるなど、ユーサー・インターフェイスのよさが 評価の重要な基準になってきています。とくにエンドユー ザーカ甘巣作するプログラムは、 Macintosh のような GUI か要求されます。市販のアプリケーション・ソフトウェア も、これからはコマンドベースだけでは通用しなくなって いくのではないでしようか。 CD-ROM を用いるようなプログラムでは、大量のデー タを扱う場合がはとんどです。このため、なんらかの検索 手段がないと不便なので、データベース的なアイデアとセ ンスも必となります。従来、 UNIX 関係のソフトウェア 開発者や研究者は、どちらかというと見栄えやデータベー スを後回しにする傾向が強かったように思われます。しか し、今日のように UNIX がいたるところで使われ始める と、そういうわけにいきません。見方を変えると、 UNIX が実社会でも十分実用になることを証明するよい機会がき たともいえます。 いままでは、データをもっている業界と、プログラムを 作成する業界が別々に存在していました。プログラムを発 注する場合は、仕様書がインターフェイスとなっていたわ けです。しかし、機能の実現方法やよりよい見せ方などに ついて、お互いの情報交換や意隸の疎通を欠くこともあっ たようです。変は、データを提供する側とプログラムを 作成する側の強調が必になるでしよう。 データ収集 システムの企画とデザインが明確になったら、実際の データの収集をおこないます。企画段階で試験的に一部が 集められていたり、収集済みのデータをもとに企画が立て られることもあります。ここではデータの収集を正しく効 率的におこなうことが大切です。 電子出版系の企画の場合はもちろんですが、フリー ソフトウェアなどを配布するときも基本的には同しです。 27
TURBOchanneI T 1 アダブタ 7 ではなくネットワークから起動して使用するには、ファイ ルと起動するサーバーを登録し、 REX のコマンド boot -Dn 6/mop ( マニュアルには書かれていない ) を実行す る。ここでれは、置き換えたい ROM があるアダフ。タの スロット番号である ( 6 / tftp でもよい ) 。プログラムを 起動する REX コマンドは、 REX か再ネ川月化されるまで は、アタフ。タ上の ROM からではなくネットワークから 診断プログラム このイメージを読み込む。 もとづいてランダムな値を生成し、残りのデータと上交 生成するための初期値と仮定される。そして、この値に そうでなけれは、最初の 4 バイトはランダムな数値を ンは一定パターン ( 0 、 1 、 2...255 ) であると仮定する。 イトが ( 0123 ) だったら、バケットのデータのパター ンとを上交して違いを出力する。バケットの最初の 4 バ 論理変比真の場合、受信したバケットと正しいパター ・ DataCheck ン ( 0 、 1 、 2...255 ) て理められる。 は、バケット長は Length となる。中身は一定のパター ムになり、中身もランダムな数て理められる。偽の場合 論理変比真の場合、送信するバケットの長さはランダ ・ Random 長さ Length になる。 までのランダムなバイト長になる。偽であれば、一定な 真の場合は、送信するバケットの長さは 2 から Length 2 ~ 2 , 048 までの整変数 Random ( 頁を参照 ) が ・ Length はかのコマンドの動作を変更できる。 下記の 5 つの変数がある。これらはコマンドで設定し、 プログラム変数 は t 0 と入力すればよい。 は、スロット 0 のアダブタの言斤プログラムを開始するに アタフ。タの TURBOchanneI のスロット番号 ) 。たとえ ト ) が出ているときに t れと入力する ( れはテストする 言斤プログラムを開始するには、 > > (REX のプロンプ 88 する。 ・ LoopBack 論理変この変数の値は、 CSR に書込みがおこなわ れるときはかならす csr ・ LoopBack に設定される。 れが真の場合、送信器からの出力はループして受信器の 入力に入り、すべて 1 のデータが TI 回線に送り出され る。 TI 回線からのバケットは無視される。 ・ C10ck 論理変数。この変数の値は CSR への書込みがおこな われるときには、かならす csr . txLc1C1k に設定さ れる。真の場合は送信器は内蔵の水品囎辰器を使用する が、偽の場合は、受信した信号から再生したクロックを 使用する。 診断コマンド 下記の診断プログラムはキーポードから利用するもの で、 OS を介した場合のように複雑な操作をせすに、アダ プタのテンヾッグと TI 回線のテストかできる。 ? を入力する とコマンドー覧が、 help でコマンドと 1 行の説明が表示 される。コマンドの実行は、コマンド名の先頭からはかの コマンドと区別できるだけの文字を入力し、その後、キャ リッジ・リターンかスペースを入力する。実行中のコマン ドを停止するには、任意の 1 文字を入力すればよい。 ・ Quit および xit アダブタの診断プログラムから抜けて REX に戻る。 ・ Test 連続的 ( ンヾケットを送受信する。任意の 1 文字を入力 すると終了する。正常なバケットを 10 個受信するた びに ! か表示される。送受信に失敗すると、その状態を 表示して回数を数える。テストカ鮗ると、成功した送受 信バケットの数と失敗した送受信バケットの数を表示 する。このコマンドは、 TxTest と RxTest ( 次項を参 照 ) をループのなかで呼び出しているだけである。 ・ TxTest 連続的にバケットを送信する。任意の 1 文字を入力す ると終了する。正常なバケットを 10 回送信するたび に ! が表示される。もし csr. TxUnderF10w が真なら ば、 CSR を表示し、そのバケットは失敗したバケット として数える。テストカ鮗ると、成功したバケットの数 と失敗した数を表小する。バケットの長さと内容は、変 数 Length および R d 。 m で制御される。 UNIX MAGAZINE 1993.2
連載 /IJN Ⅸ Communication Notes— リスト 1 IP での制アルゴリズム } else if ( 受信ホストのネットワークへのネットワーク経路がテープルにある ) { 経路情報に従ってゲートウェイに送る ; } else if ( 受信ホストへのホスト経路がテープルにある ) { 直接そのホストに送る ; if ( 受信ホストは直オ妾続されているネットワークのノード ) { 経路情報に従ってゲートウェイに送る ; } else if (default route がテーフ・ルにある ) { 経路清報に従ってゲートウェイに送る ; } else { 到達不能として IP データグラムを破棄する ; UNIX で、経路情報テープルヘデータを追加、削除す るには route コマンドを使用します。経路情報テープル は重要なデータですから、スーパーユーザーがこのコマン ドを用いたときにかぎり経路情報テープルのデータを変更 できます。 経路情報の追加 ネットワーク糸登各情報の追加は、 route コマンドに ような引数を与えることで実行できます。 # route add net destination 9 佖社畑リ metrtc 梦 ( ク ) 靃 s れ 0 。れは目的のネットワーク、四囮は目的の ネットワークとの通信に使用するゲートウェイです。も ちろんゲートウェイは、そのホストと同一のネットワー クに接続されていて、直接通信できなければなりません。 metric は、目的のネットワークに到達するまでのゲート ウェイの数です。直孑妾続されているインターフェイスに 対してはメトリック 0 を設定します。一方、ゲートウェ イを経由して通信される経路に対しては、すくなくとも 1 以を設定しなければなりません。また、 destination と 9 e 佖リには、 /etc/networks や /etc/hosts に登録 してある名前を使うこともできます。 そのホストが直接接続されているネットワークに対す る経路情報を追加する場合には、四にローカルの ネットワーク・インターフェイスのアドレスを指定しま す。たとえは、ローカルに接続されているネットワークが 192.9.200.0 で、ローカルのネットワーク・インター フェイス・アドレスが 192.9.200.1 の場合には、この UNIX MAGAZINE 1993.2 ローカルのネットワークに対する経路情報は次のように追 加します。 # rout e add net 192.9.200.0 192 . 9 .200. 1 0 に、ホスト経路情報の追加も次のようにおこなえま す。 # route add host des れ 0 0 れ 90 e 社 , 0 リ metrtc destination は、目的とするホストを指定します。ホス ト経路を設定するのは、多くの場合ポイント・ツー・ポ イント接続です。この場合、四 tew はローカルのシリ アルネットワーク・インターフェイス・アドレスを指定 し、 dest れにはリモートホストのシリアルネットワ ーク・インターフェイス・アドレスを指定します。 経青報の削除 経路情報の削除は、コマンドの引数の add を delete にします。削除の場合は、 metric は不要です。たとえ ば、ネットワーク backbone への経路としてゲートウェ イ mygatewayl カ甘旨定されている経路情報を削除する場 合は、 # route delete net backbone mygatewayl # route とします。 さらに、すべての経路情報を削除したい場合には、 39
7 TURBOchannel T 1 アダブタ 図 10 送信一成 5 1 LIU Mux CRC 32 TI LINE 1 1 192 Cnt 8 Cnt 5 Cnt 8 SR 1 8K 4 1 1 : TX 顧 8 1 1 1 に 40 個の正常なフレームビットが必要であることと、 3 ビット以止工ラーが発生した場合には同期が失われるとい うのは、 D4 フレーミングの要求より厳しい。しかし、音 声はエラーが発生してもそれほど問題はない。むしろ、フ レーム同期をとりなおすと接続カ砌れてしまう。 送信器 択 選 の 上 計 設 Crystal Semi の LIU すくなくとも 30 社が LIU 用のチップを製造してい る。あるものは、ほかのメーカーのセカンドソースであっ たり、受信と送信のチップを分けているものもあり、おか しな具合に機能を分割しているものもある。表 4 に、利用 できそうな 9 つの LIU 用チップの上交を示す。 LIU 選択の決定要因はジッタ減袞器である。送信のた めのクロックを受信パルス列から得る場合、ジッタを取り 除かなければならない。さもないと、端にたどり着くまで に、ジッタが受け入れられないほど大きくなってしまうか もしれないからだ。 Rockwell のチップは発表されたばか りで、サンプルしか手に入らなかったが、ジッタに対する 入力の許容度は CrystaI のチップの半分であった。 DaIIas のチップは受信のみであった ( 性能はかなりよい ) 。 TI と Exar のチップははかよりもテサインか古く、多数の外付 けが必要だった。 SiIicon Systems のチップもいくらか の外付けが必喫であった。 Mostek と Siemens のチップ はヨーロッパ向けの設計で、オ→ヾーサンプリング・デジ タル PLL を使用していた。水品以外の外付けカ坏要なの は、この 2 つだけだった。両方とも PLL はとてもよくで きており、ジッタ減袞器があれば Crystal の製品と競え ただろう。 TI の開発者が設計した AT&T のチップは、 図 10 は、送信器の構成図である。矢印はデータの流れ を示す。受信器と以していることに注目してほしい。お もな違いは、フレーミング・バターンを送り出す樹冓が受 信器より少ないことである。 Mux はモジュロ 12 のカ ウンタからフレーミング・パターンを生成する。そして、 CRC を生成してビット挿入をおこない、 LIU へ送り込 む。 Mux は LIU へ送り出す値を TxFSM へフィードハ ックする。これで、送り出したピット数を数えて、 HDLC のためのピット挿入をおこなうことができる。 LIU から TxFSM への信号は送信器のクロックであり、ビットを 受け取ったことと次のピットを用意しなければならないこ とを教える。 FIFO から RxFSM への信号は FIFO か空 であることを示す。 8SR からの信号は、バケットの終り (FIFO 中の 9 番目のピットで示される ) を示す。 94 UNIX MAGAZINE 1993.2
連載 /NET WORTH—O ないが、 DNS ではラベルにそれを使うことかできる。 ラベルの付け方は・間列的に、 ARPANET のホスト名の 規則と同様である。したがって、ラベルのう頁がアルファ べットて最後がアルファベットか数字ならば、そのあいだ の文字はアルファベット、数字、一 ( ハイフン ) 、一 ( アン ダースコア ) のどれを使ってもよい。 DNS は、ドメイン 名のアルファベットには大文字、小文字のどちらも使える 信になっている。ドメイン名を上交するときに、一部の 文字の大文字と小文字だけか違う場合は、まったく同しも のとして扱われる。 ノードのドメイン名は、そのノードからツリーのルート までのパスのラベルをリストにしたものだ。ドメイン名を 表すラベルは、左から右にもっとも狭いドメイン ( ツリー のルートから一番遠いところ ) から ( ルートにプく ) 順 に広くなるように書かれる。そして、これを . ( ドット ) で区切って並べて書くのが習慣となっている。ドメイン名 を正確に表記するとルートのラベルで終るが、ルートのラ ベルは null なのでドメイン名の表記はドットで終る。 ドメイン名は、次の 2 つのタイプのどちらかである。 ・絶対表記 ( 正確なドメイン名 ) ・相対表記 ( ドメイン名の一緇 ; からラベルを書き始める ) 糸表記をした名前はピリオドで終り、ドメイン名を 1 つに限定する。相対表記をした名前はドットで終ることは なく、相対名のあとにデフォルトのドメイン名が補われ る。たとえば、 cs. UOREGON.EDU/ はドメイン名を完全 に表記したものだが、 cs は UOREGON. EDU. ドメインで 使われる相対的なドメイン名である。ドメイン名の最大長 は 255 バイトになっている。 ところで、ドメインまたはドメイン名という言葉は、ネ ットワークの世界ではいまだにまったく関係のない場面 でもよく使われるので、混乱しないように気をつけてはし い。もっともよく使われるのはドットを用いた表記で、と くにメールアドレスなどで利用されるが、この場合のドメ インまたはドメイン名は DNS とは無関イ系である。 DNS のバケット ローカル・ネットワークでは、名前に関するサーピスは、 すべてローカル・ネットワークのソフトウェアだけで処理 128 図 3 DNS バケット Header Question Answer Authority Additional ネームサーバーに対する問合せ 問合せに対する解答 R R A u t h 0 r i t y を示す R R 付加情報の R R しているかもしれない。たとえは SunOS(Solaris2.0) に は、ローカルに名前サーピスを提供する NIS 十 (Network lnformation Services plus: 旧 (P) がイ寸いてくる。しか し、いったんインターネットに入ればそこでは DNS 以外 に頼れるものはない。インターネットが DNS によって維 持されているので、多くのサイトがローカル・ネットワー クの名前の管理にも DNS を利用しているだろう。 DNS は、アプリケーション・レベルのネットワーク・ サービスである。 DNS プロトコルを利用するすべての通 信は、メッセージ (message) と呼はれる決められたフォ ーマットのバケットを使う。これまでにこのコラムで紹 介したネットワーク・プロトコルにくらべて、 DNS のパ ケットはかなり複雑なものだ。 DNS バケットの酉占では、 TCP(Transmission ControI Protocol) か UDP(User Datagram Protocol) のどちらかが使われる。どちらの トランスポート・プロトコルも、ポート番号 53 は DNS の ために予約されている。 UDP のはうが通イ訓芋のオーバー ヘッドが少ないので、たいていはこちらか利用される。 れを使う場合は、 DNS のバケットの大きさは 512 バイト 以下に制限される。 TCP は、ゾーン全体のデータを送る ために信頼性の高い酉占が必要なときに使われる。 メッセージの基礎となるフォーマットは、 5 つの部分 ( いくつかは空白になっていることもある ) に分かれてい る。図 3 に DNS'NO ケットの構造を示した。 バケットの先頭は、かならす固定長のヘッダセクション ーこには、そのはかのセクションのどれが となっている。 含まれているか、またメッセージカ墹合なのか解答なの かを示すフィールドがある。 DNS バケットのそのほかのセクションは、バケット に含まれる情報に応じてサイズが異なる。これらのセクシ ョンには、標準的な問合せの際の各セクションの彳齬リにち なんだ名前が付けられている。 Question セクションは、 UNIX MAGAZINE 1993.2
ンターリープと呼はれる方式です。 こうすると、連続したアドレスでアクセスするかぎり、 各メモリは交互に、つまり 2 回に 1 回しかアクセスされ ません。したがって、あたかもメモリのサイクルタイムが 半分にま可宿されたかのような効果があります。 インターリープ方式ではアクセスタイムは矼しません が、もともとこれはサイクルタイムの半分なので、ちょう ど釣り合います。 この方式を採用した WS に、ソニーの NEWS 5000 シリーズがあります。 メモリシステムのエラー文 WS で使用するメモリの量は増え続けています。同一の 信頼匪の部品でも、使用量が 2 倍になると本の信生は 1 / 2 以下になります。 ws クラス以 E の計算機は 24 時間連続運転を前提 6 と して言 t しますから、メモリシステムも長期間にわたって 働き続けられる信頼性をもたせなけれはなりません。した がって、多くの言 t 算機には、メモリの動作異常への対策か 施されています。 メモリのエラー メモリに格納されているのは 0 か 1 のデジタルデータ であり、メモリ周辺の回路もデジタル回路です。そのため 読み出したデータは、たとえ 0 とも 1 ともつかない中途 半端な電圧であっても、 0 か 1 のどちらかだと解釈されま す。ですから、エラー発生の個々の事象は、、 0 を書き込ん だのに読み出すと 1 になっていた " か、 、、 1 を書き込んだ のに読み出すと 0 になっていた " かのいすれかだというこ とになります。 これをエラーの発生条件と組み合わせたうえで分析する と、、、何を書き込んでも 0 ( または 1 ) か読み出される " 、、温まるとときどきデータが反転する " 、、つねに 0 / 1 のど ちらにも定まらない不定な値カみ出される " などの章 症状カ喇明し、具イ勺な嵂章箇戸励き止められます。 メモリチップの故障 メモリシステムの動作異常の主因として挙げられるの が、メモリチップの占郊章です。これには、あるメモリ IC 6 たとえは筆者のところでは、工事にともなう停電のときしカ引現機を止め ないので、半年以」 : 連も凾電することも珍しくありません。 104 がまったく働かなくなる場合、メモリチッフ上のある領域 ( 1 行とか 1 列 ) のメモリセルか駄目になる場合、メモリ チップ上のある 1 ピットだけが駄目になる場合、などの ケースが考えられます。 ROM モニターのメモリテスト機能などを利用すると、 どの領域がどういう異常を起こしているのかを調べること ができます。たとえは、 IMx9 の SIMM を 8 個載せた WS で、データ 0X00000000 を書き込んで読み出してみ たら 0X00000001 に化けていたとします。 8M バイトのメモリ空間の地頁 4M バイトでだけ、ある いは先頭 4M バイトのなかの特定の箇所だけでこの症状が 起きるならは、初めの 4 枚の SIMM のうち、 1 枚のいす れか 1 つのメモリ IC が壊れたと考えられます。ー E の例で は、ビット 0 に相当する部分で発生していますから、 4 枚 のうちの 1 枚目か 4 枚目でしよう。 8M バイトのメモリ空間の全域にわたってこの症状か起 きるのなら、 SIMM は古章しておらす ( 別々のメモリチッ フ。が同時に章することはない、と考えられるため ) 、メ インポード側のどこかか古郞章したらしいと孑則できます。 純正メモリのみを載せて保守契約を結んでいる場合は、 このようなことを気にする必要はありません ( 電話するだ けです ) 。 サードバーティーのメモリを載せているような場合、 SIMM の占郞章なら 1 枚買ってきて差し替えれはいいので すから安くすみますが、サーピスマンを呼んで診析しても らうと、その出張費十技ヤ懿斗・カイ理部品代より高くつくか もしれません。 偶発工ラー メモリシステムの動作異常は、メモリチップか古章して いなくても起こる可能生があります。 ます考えられるのが、外部のノイズ ( 落雷の影響など ) によって、書き込んだり読み出したりするデータが景グを 受ける場合です。 メモリチッフ。の特生が劣化してきたり、あるいはもとも と能力の限界近くで使っていると ( 言 1 寸の余裕が足りな い場合 ) 、偶発的に動作異常を起こすこともあります。た とえば、冷えこんた啅月に電源を入れると温まるまでうまく 動かないとか、クーラーカ阯まって温度か上がると異常が 表れるなど、症状はさまざまです。 UNIX MAGAZINE 1993.2