コンピュータ洋書 Prentice Hall UNIX System V ReIease 4.2 Documents りⅧⅨ“ ~ 砌 AUNIX Software Development Tools AProgramming in Standard C ■ Programming with UNIX System Calls Eharacter Userlnterface Programming •GraphicaI UserInterface Programming •Network Programming lnterface ■ Basic System Administration ■ Advanced System Administration サンソフト・プレス新刊 ■ SoIaris OpenWindows User ・ s Guide ¥ 6 , 400 ¥ 6 , 600 ¥ 6 , 400 ¥ 7 400 ¥ 6 , 400 ¥ 6 , 000 ¥ 6 , 400 ¥ 5 , 600 ¥ 6 400 ENetwork Administration ■ User's Guide nommand Reference(a-I) mommand Reference (m-z) nperating System API Reference EWindowing System API Reference ESystem Files and Devices Reference nevice Driver Reference EoIaris Porting Guide ¥ 6 , 400 ¥ 6 , 400 ¥ 7 , 600 ¥ 7 , 600 ¥ 7 , 600 ¥ 7 , 800 ¥ 6 , 400 ¥ 5 , 400 ¥ 7 800 OpenWindows と DeskSet アプリケーションについて詳しく 解説します。全てのユーザ向けです。 ・ So はⅱ s OpenWindows DeskSet Reference GuideY6 400 DeskSet アプリケーションについて解説します。ファイル・ マネージャ、メール・ツール、カレンダ・マネーシャ、テキスト・ 工デイタ、プリント・ツール、テープ・ツール、スナップショッ ト、シェ丿レ・ツー丿レ、コマンド・ツール、コンソール、 / ーフォー マンス・メータ、クロック、電卓、アイコン・エテイタ、バイン ダをカバーしています。全てのユーザ向けです。 ESoIaris Desktop lntegration Guide ¥ 7 , 200 OpenWindows 3.01 で走るアプリケーションのインテグ レーションについて解説します。ソフトウェア・べンダ向け です。 solaris AppIication Developer's Guide ¥ 5 600 アプリケーション開発環境と Solaris 2. x システムソフトウ 工アとのインタフェースの概要を示します。アプリケーショ ン・プログラマ向けです。 So は ris2. X を移植するのに必要となる情報が満載されてい ます OSVID Ⅲ Compliance 、 ANSI C & SCD CompIiance 、動 的リンク、 DDIN DKI 、ウインドウとグラフィックス・アプリ ケーション、マルチスレッド、リアルタイムなどについてカ バーしています。 So ぬ ris を移植するプログラマ向けです。 •SolarisInternationaI Developer ・ s Guide ¥ 6 000 国際的なプロダクトを開発するソフトウェア開発者やビジ ネス・マネージャに対し、プロダクト構築を容易にするため の青写真を示します。 •The T00 a 賑 Service: Anlnteroperability SolutionY6 000 T00 a ⅸ 1 .01 の設定と管理について解説します。 T00 a 賑 セッション、動的メッセージ・パターン、静的メッセージ・パ ターン、メッセージの送受信、記憶装置の管理、エラー・ハン ドリング、その他についてカバーしています。アプリケー ション開発者向けです。 ※ UNIX オペレーティング・システムは、 UNIXSystemLaboratories,Inc. が開発しライセンスしています。 Solans 、 OpenWindows 、 DeskSet 、 ToolTalk は、米国における米国 sun Microsystems 社の商標または登録商標です。これら はいずれも、 SunMicrosystems 社の子会社である sunsoft 社にライセンス提供されています。 ■価格は、おおよその税抜き価格です。予告なしに変お問い合わせ・カタログ請求は .. 資料請求 N 。 .053 ■ご注文は、最寄りの洋書取扱店または大学生協にて 0 〃 & & み脚な r ス 24 Co 襯襯Ⅷな 4 脚 Co 襯臾 4 Tel : 03 ( 3238 ) 1050 Fax : 03 ( 3237 ) 1460 お願い致します。 上智麹町ビル 3F 〒 102 東京都千代田区麹町 6-1-25 さい。 更になることもございますので、あらかじめご了承下プレンティス・ホーノレ・オブ・ジャ / ヾン
Ⅸ 1 旧引 ワークステーションのおと一 ・ SPARCompiler を購入する。 ・ gcc を手に入れる。 サードバーティーのコンパイラを買う。 入手しやすいという点では、 SPARCompiler でしよ う ( 財布のはうの問題があるかもしれませんが ) 。 SPAR- Compiler は、デバッガなどの開発環境がセットになっ た SPARCworks という製品が約 400 000 円、コンノヾ イラだけなら 200 , 000 円程度だったと思います ( 正確な価 格は、 sun を扱っている販売代理店などに訊ねてくださ い ) 。 SPARCworks もそうですが、 Sun から涜て提供 されるソフトウェアの多くは、 Highland Software 製の ライセンス・サーバー FLEXlm で管理されています。で すから、同時に利用できるのは本当にライセンスの数だけ です。 「それやったらえらい不便やし、えらい高いやないか。た だのものはないんか ? 」という方には、 gcc があります。 solaris に対応した gcc には 2 つのバージョンがあり ます。 1 つは Cygnus2 がサポートする version 2.0 、も う 1 つは FSF から配布されている Version 2.3.3 です。 「 gcc があるゆうても、ソースだけやったら困るで。コ ンパイラがあらへんねんからな」という方も、心配は 無用です。 2.0 はバイナリで配布されています。 archie で、 cygnus-s012 をキーに検索すればみつかるはすです。 FTP が利用できない方は、 SPARCstation で動くア プリケーションのデモを集めた ( たしか ) 無料の CD 「 Catalyst CDware 」を SunS0ft が配布しているので、 これを取り寄せてはいかがでしようか。この CDware VoI. 4 には、さきはどの Cygnus の gcc が含まれていま す。また、 2.3.3 のバイナリもあるようです。こちらは、 gcc-solaris をキーに archie で検索すれはよいでしよう。 サードバーティーの製品は、米対ではいくっかアナウン スされているようです。日本でも、 ( ちょっと手前味噌で すが ) 私の菫加先 ASTEC か版売している C0deCenter の solaris 版に C コンパイラカ嗣属しています 3 。これら サードバーティーの製品は、いずれも「 SPARCompiler より高速でコンパクトなコードを生成する」という触込み なので、一度評価してみてはいかがでしようか。 2 GNU ソフトウェアのサポートをおこなう会社です。 3 CodeCenter については、本誌 1993 年 4 月号の「 C0deCenter を利用したデバッグの妙匕 ( 25 ~ 36 べージ ) を参照してください。 UNIX MAGAZINE 1993.5 X ウインドウ・システム 日本語マニュアル 全国有名書店または通信販売にて好評発売中 / ・ XI 1R5 テクニカル・ドキュメント・シリーズ ( 税込 ) 綿密な技術校正を経て編集された X プロクラマ向けの決定版 9 , 800 円 X ⅱ b ー C 言語 X インタフェース X ツールキット・イントリンシクスー C 言語インタフェース 7 , 600 円 アテナ・ウィジット・セットー C 言語インタフェース ライプラリ・リファレンス・マニュアル コマンド・リファレンス・マニュアノレ 6 , 700 円 7 , 500 円 7 , 500 円 ・技術資料シリーズ X11R5 関連資料 ( 税抜 ) 上級 x 工ンジニア必携、資料性の高い技術書のシリーズです。 X11R5 リリース・ノート X11R5 実装と移植 X11R5 プロトコル集 X11R5 規約集 X11R5 工クステンション 2 , 000 円 20 , 000 円 27 , 000 円 20 , 000 円 20 , 000 円 ・両シリーズとも、 X コンソーシアムからリリースされた X11R5 の 英文ドキュメントを、そのままわかりやすい日本語に翻訳した ものて、す。 ・両シリーズとも、 XWindowSystem の基本部分についての 詳細な技術解説書て、す。 Motif や OPEN LOOK を用いた プログラム開発にもお使いいただけます。 ・ XI 1R5 オンライン・マニュアル ライプラリ・リファレンス・マニュアルと、コマンド・リファレンス・マニ ュアルを UNIX の man コマンドて、参照て、きる形式のファイルに しました。 定価 97 , 000 円 詳しいご案内をお送り致します ( 下記担当までご連絡下さい ) 。 * X および X Window System は、マサチューセッツ工科大学の商標 て、す。 Motif は Open Software Foundation 、 OPEN LOOK は、 Unix lnternational の商標て、す JUNIX は UNIX システム・ラボラ トリーズが開発しライセンスしているオペレーティングシステムて、す。 株式会社創夢 〒 151 東京都渋谷区幡ヶ谷 1 ー 29 ー 9 日星ビル FAX. 03 ( 5453 ) 1252 TEL. 03 ( 5453 ) 1251 イ 0 担当 : 今泉 資料請求 N 。 .8 日 87
BWRS POSIX 対応 VxWorI<s5.1 ウインドリバーシステムズ (TeI 045 ー 474 ー 5600 ) は、 POSIX 、 ANSI C 、 UNIX ネットワークなどに対応した新バージョン 「 VxWorks5.1 」の販売を開始した。 米 TENON lntersystems は、 Mach べースの UNIX ソフトウェア「 Mach Ten PersonaI Unix/ProfessionaI Unix 」を発表した。 Mach Ten は、 Macintosh OS 上のア プリケーションとして動く UNIX システ ム。 Macintosh 用 UNIX オプジェクト指向 DBMS UNIX MAGAZINE 1993.5 SoftBench 最新版 「 C 十十 SoftBench 3.1 」で、いすれも組 発表したのは「 SoftBench 3.1 」と 表した。 Bench 」の最新版とともに、関連情報を発 ー 3335 ー 8125 ) は、同社の CASE 製品「 Soft - 横河・ヒューレット・パッカード ( Te103 データを効率的に管理 とするデータタイプをそのまま DB 化し、 理機能を装備し、アプリケーションが必要 1) データの定義、変更、検索などの処理 / 管 おもな特徴は以下のとおり。 「 DEC Obj ect/DB 」の販売を開始した。 を実現するオプジェクト指向 DBMS おける複雑なオプジェクトの格納と統合 03 ー 3989-7145 ) は、マルチベンダー環境に 日本ディジタルイクイップメント ( Tel POSIX. 1 準拠の既存の機能に加え、現 在制定の検討が進んでいる POSIX. 4 リ アルタイム・エクステンションの機能の一 部と ANSI C に対 ) そのはかのおもな ◆ Mach Ten Personal UNIX I) Mach2.5 カーネル上で、 UNIX4. 3BSD を動作させる 2 ) TCP/IP に対応、ファイル転送、電子メ ール、 telnet 、 r コマンド、 UUCP 、 SLIP が利用可能 3 ) NFS をサポート •TENON •DEC •YHP ◆「コマーシャル SoftBench プログラム」 関連情報は以下のとおり。 デバッグなどを支援する。 ョンの開多学のコンパイル、コード分析、 対して、系ムみ SQL を含むアプリケーシ 込み SQL をサポート。工ンドユーサーに 5 ) DB 開発を容易にするための、データの 造体を使用してモデル化 変更が可能。データは C 十十および C の構 4 ) 多様なデータ構造の定義と作成、削除や 由に細分化 ョン、回復、削除、作成など、 DB 操作を自 3 ) データや時間に応して、ロック、バージ た統合管理 過的なデータ分散を実見データの一貫し 2 ) クライアント / サーバー環境において透 NEWS 機能拡張は以下のとおり。 1 ) 開発ネットワーク上でのセットアッフ峙 間の短縮 5 ト ル SoftBench プログラムを推進。 ールを SoftBench に統合し、コマーシャ CASE ツールべンダー 12 社によりツ グラム」 ◆「 SoftBench チャンネルバートナ・プロ システム、保険業務システムなど。 は、会計システム、カスタマーサーピス・ CASE ツールなどの組合せで拡張。対象 製品や HP コンサルティング・サーピス、 SoftBench 製品群を HP ソフトウェア 万円、実行用ライセンスが 48 , 000 円。 円、アプリケーション開発用キットが 180 価格は、 DB 開発者用キットが 380 万 station (ULTRIX)0 (OpenVMS VAX ) 、 DECsystem 、 DEC- 対応機種は、 VAX 、 VAXstation 的に自動変換 て互換性のないデータフォーマットを透過 ステムやネットワーク・アーキテクチャ間 7 ) 異機種間の相互運用性をサポートし、シ な格納 / 検索が可能 いれることにより、オプジェクトの効率的 6 ) DB 管理にオプジェクト指向技術をとり プラウサと DB デバッガを装備 価格は 695 ドル。 と C 十十コンパイラ ( g 十十 ) もサポート。 ェア開発ツールにはソースデバッガ ( gdb ) に加え、仮想記憶をサポート。ソフトウ Mach Ten Personal UNIX の機能 ◆ Mach Ten Professional UNIX 価格は 495 ドル。 をサポート lex 、 yacc などのソフトウェア開発ツール リ、 ANSI 準拠の C コンパイラ (gcc) 、 4 ) Mach の C Threads や rpc ライプラ Motif をサポート 3 ) X のクライアント・パッケージを強化。 のオプショナル・アクセサリー群をサポー 2 ) イ瓦想メモリやマルチ・プロセッシング用
◆ゞ〃〃 大発な / 、ジマノ % 今、 UN Ⅸの世界の未来像に確かな輪郭をえているのは、 あらゆる規模のコンピューティングに対応できる優れたスケー ラビリティですある企業が Sun のワークステーションを導入し たとき、 UNIX の世界の遥かな「奥行き」を見通せる場所に 立ったことになるのです。ご紹介するのは SPARCcenter 2000 ーー・ - メインフレーム並みのパワーを低価格で提供する UNIX サーバ。たとえば、 Sun のエントリ・モデル SPARC classic と最強の SPARCcenter 2000 をつなぐ : それは、「蟻と 象」のネットワークではありません。 Sun の提供するシステムは すべて、 UNIX をベースとした Solaris ソフトウェア環境を採 川し、ハードウェア・アーキテクチャは SPARC に統一されて います規模の違いを超えたシングル・アーキテクチャだから、 ひとつひとつのマシンの緊密な連携が可能になり、理想的な クライアントサーバコンピューティングを実現できるのです さらに SPARCcenter 2000 は、かってない柔軟性を備えて いますプロセッサ数は 10 倍 ( 20 個 ) 、メモリ容量は 80 倍 ( 5G バイト ) 、ディスク容量は 100 倍 ( 数百 G バイト ) 、入出力バスは 10 倍 ( 40 個 ) まで、それぞれ必要な機能を自在に拡張すること が可能。自ら発育していくことのできるネットワークの中核、そ れが SPARCcenter 2000 です。 UNIX の道は「 2000 」につ こから、西肝 2000 年のコンピューティングへとつな ながり、 がっていきます ◆ 最も強力な ソフトウェア・フラットフォーム、 日本ÆSolaris 2.1 。 Solaris は、 UNIX オペレーティング・シ ステム、 OPEN LOOK グラフィカル・ユ ーザ・インタフェース、 ONC ネットワー 2.1 は、全 UNIX ユーザの 80 % 以上をカバーする UNIX Sys- temV Re14.0 をベースに、シンメトリック・マルチプロセシンク : マ ルチスレディングなどの先進機能を実現しています ・標準構成・ CPI_J x 2 (SPECrate int 92 : 2326.0 / SPEC 「 ate ゆ 9 ? : 2953.0 ) / 64M バイト・メイン・メモリ、 CD - ROM ドライプ、 2 」 G バイト・ディ スク X2 、 8 ミリ・テープ・ドライプ日本語 SO 「 is 2.2 ユーサ数無制限ライ センスを含む。 ・標準構成価格 : 20 , 380 , 000 円 ( 消費税別 ) ゞ C 化〃た 2000 メインフレームに挑む UNIX サーバ、 SPARCcenter 2000 誕生。 衝撃はワヾワだけではありません。 米国 Sun Mic 「 osystems 社が開発したアーキテクチャに基づくものです・ SPARCstation は、米国における米国 SPARC te 「 nationa い nc. の商標であり、米国 Sun Mic 「 osystems 社に独占的にライセンス供給されています・ UN Ⅸは、 UNIX けている商標です・ microSPARC は、米国 Sun Microsystems Computer Corp. が SPARC te 「 nationa い nc. より使用許諾を受けている商標です。 社〒田 2 東京都千代田区ニ番町Ⅱ一円興和ニ番町ビル電話 ( 03 ) 322 ト 70 幻代名古屋営業所〒 4 名古屋市中区錦 3 ー 6-29 興和ビルサウ 7J 、ウス 7F 電話 ( 052 ) 963-85 代 本 電話 ( 0298 ) 5 ト 22 田代 大阪支社〒 5 大阪市西区京町堀ト 4 ーセンチュリービル 9F 電話 ( 06 ) 445 ー 52 田代っくば営業所〒 5 茨城県つくは市春日 3 ーに一高野ビル 2F 資料請求 N 。 .81
LittIe PerI Pa 0 「 バイナリデタの操作 歌代和正 はじめに 159 むことのできるテキストで表現されたファイルと、そうで ファイルの中身についても同しようなことがいえる。読 方が考えられるのである。 いう数値を表現するのにテキスト形式とバイナリ形式の両 データ、後者はバイナリデータと呼ばれる。同し 1 , 993 と 前者は人力売むことのできる文字で表現されるテキスト 00000000 00000000 00000111 11001001 これを 2 進表現にすると次のようになる。 0X00 0X00 0X07 Oxc9 して扱えるのである。 長さで表されるため、文字列中の NULL 文字もデータと ということである。 Perl の処理する文字列は、アドレスと UNIX(C 言語 ) では文字列は一般に NULL 文字で終る 文字列としてバイナリデータを扱うときの間題の 1 つは、 処理できるようになったのである。 がって、文字列処理の延長として自然にバイナリデータも はなく、 8 ピット文字も問題なく使うことができた。した という方針で設計されていて、文字列データの長さに制限 ら、 PerI はプログラミングに関する制限を極力少なくする た。しかし、これはとくに不思議なことではない。なぜな ったが、 3.0 からバイナリデータも取り扱えるようになっ PerI も最初はテキストデータしか扱うことができなか 実現することができる。 語を使っていたようなプログラムは、 PerI を使って簡単に UNIX MAGAZINE 1993.5 のイメージは次のとおりである。 トの整数値として表現する方法がある。このときメモリ上 というデータが格納される。これに対し、たとえば 4 バイ 0X31 0X39 0X39 0X33 上には、 いうデータを保持することが考えられる。このときメモリ たいとする。 1 つの方法は、文字列データとして” 183 " と プログラムのなかでたとえば 1 , 993 という数字を表現し まず、バイナリデータとは何かを簡単に説明しておこう。 バイナリデータとは ? は求めないがバイナリを扱うからという理由だけで C 言 1 つがバイナリデータを扱う機能である。これまで、効率 以外にもいくつもの便利な機能をもっている。そのなかの ータを処理するのに適したツールだが、同時に文字列処理 た。 PerI は awk や sed と比較されるように、テキストデ では C 言語などで書かれた専用のコマンドの独壇場だっ たくさん存在する。これらのデータを扱うことは、これま しかし一方で、 UNIX にはテキスト形式でないデータも UNIX の大きな利点の 1 つでもある。 テキスト処理のためのツールが数多く存在し、それが ドでさまざまな処理がおこなえる。このため UNIX には ストエデイタで編集できるし、テキストを処理するコマン グラムが使う構造をもったデータファイルであるが、テキ てアクセスできる。 passwd 、 termcap 、 fstab などもプロ めテキストを扱う汎用のツールで、それらのデータはすべ UNIX 上の多くのデータはテキスト形式である。そのた
Daemons and Dragons ー① るわけではない。最近、よく使われている UNIX シス テムで、一般的なシステム管理ツールに関する調査がお こなわれた。それによると、すべてのシステムに共通し ていたのは、 sync コマンドだけだった。ノヾスワード ファイルさえも、もはや神聖なものではなくなっている ( シャドウ・ノヾスワード・ファイルや、 Kerberos1 のせ いである ) 。 System V 陣営は、 1 つの管理スキームをもってい る。一方、 OSF(Open Software Foundation) および バークレイ陣営も独自の管理スキームを有する。べンダ ーは、これらを取捨選択 (System V にバークレイの拡 張機能など ) してとりいれるため、エンドユーザーが使 う管理ツールの混乱には終りがない。 サードバーティーなどは、べンダーによるさまざまな ソフトウェア・サポートの実装を統合しようと四苦八苦 することになる。彼らがとることのできる 1 つの解決法 は、あるシステム・プログラム ( I 。 g ⅲのような ) を独自 のバージョンに書き換え、無秩序な環境に無理やり統一 的なスキームを適用することである。ただし、適用され た範囲以外はあいかわらす混沌としているだろうが。 これがもっとも可能性のある方法ではあるが、もちろ ん最終的には別の方法に取って代わられてしまう場合も ある。 新たな管理者はどうなるのか ? 管理者はどこからやってくるのだろう ? そしてどこ で腕を磨くのだろう ? 大学の授業ではないことはたしか である。システム管理の参考書で役立つものは少なく、 中規模あるいは大規模サイトを維持する際に発生する、 現実的な問題について対策を講じているものなどほとん どない。サイトの複雑な調和を保っために起こるような 現実的な問題の核心に迫る研究が、はとんどないことに 驚きはしない (Evi Nemeth は例外だ ! ) 。 なぜなら、学間的探求の場ではこのような状況に出合 うことはますないからである。一般的な状況では、実際 に動いているシステムは、学術的な研究成果によるシス テム管理の方法を認めないであろう。 1 訳注 :MIT の Athena プロジェクトカ鯛発した、通信ク刄普号化をお こなう認証システム。 UNIX MAGAZINE 1993.5 いまのところ、 UNIX システム管理の世界には、は かのシステム ( とりわけ目立つのは DEC VMS だが、 IBM のメインフレームや CDC 、 Unisys のようなシ ステムもある ) の熟練した管理者たちが大挙して押し寄 せているようである。システム管理の講習会に出てみる と、 UNIX には無縁だった 40 歳ぐらいの管理者で謚れ ている。彼らに参加理由を訊ねると、、、会社が UNIX を 採用したのだ " という答が返ってくるだろう。 システム管理は、師弟関係によって教育がおこなわれ る数少ない職業の 1 つである。学生が成長してシステム 管理の職に就いたとき、大学で習った方法で管理をおこ なっているのをよく目にする。そのほかの管理者につい ては、短期的な仕事であり、サイトにおける技術的な補 イ殳である、という点に惹かれてその職に就くことか調 査結果に表れている。 やがてシステム管理の世界が旧態化し、忘却の彼方に 追いやられてしまうという意見に疑いを抱いている。羊 飼いやカウポーイのように、管理者はユーザーの群れに 貢献し、ときには迷子になった者を導く。 システム管理の問題は、解決するのが間に合わないほ ど急速に拡大しているようだ。しかしシステム管理の展 望はまだ明るく、本当に興味をもっている人であれば、 ためらわすにこの分野を勧めたい。 BerkeIey Software Design lnc. のプログラム・マネージャー BSDI は IBM-PC/AT 向けの BSD オペレーティング・システム のマーケティング会社で、バージニア州フォールスチャーチにある。 ■ Rob Kolstad ◎ 1992 , UNIX REVIEW (). S. A. ) UNIX REVIEW 1992 年 7 月号より 「 PEERING INTO THE FUTURE 」 83
リスト 1 Makedisc をインストールした状態 % ls —FR /usr/cd—tools 1 .02r / Fi1es . txt GUIman . txt Manua1. txt /usr/cd—tools/l .02r : Fi1es . txt cdlevel* cdfront* cdback* Notes ー 1 .10 cd_link. 1 t001S / 1 .02r/ym-uti1s : volume . frm cdback* Quick. txt Questionnaire cdout* errorlog. fil makedisc* makedisc . 1 cdfront* cd1eve1* cdout* volume . inf cd_link. c volume . inf cd_link cd_link. 1 . C 基本コマンド X 版インターフェイス mkdsc* mkdsc . 1 project/ ym-utils/ errorlog. fil makedisc* makedisc . 1 cd_link . doc project/ ym-utils/ Notes_1.01r Notes_1.02r example /usr/cd- YMTRANS . TBL . 5 example. inf /usr/cd- YMTRANS . TBL . 5 cd—copy ・ . inf /usr/cd-tools/l .02r/project : cd—copy ・ c tools/ym—utils : volume . frm /usr/cd-tools/project : 1 cd—copy ・ doc 図 3 Makedisc コマンド系 -t RockRidge フォーマットを使用する。 UNIX ファイル名を ISO 9660 の名前に変換する とき、変換テープルを生成しない。 -R とーー諸に使って 8 階層以上のディレクトリを変 換処理する。 ファイルに関するワーニングを出力しない。 cdfront base dir UN Ⅸファイル mkdsc makedisc cdback work dir 設定用、ログなど cdout outpu 作業用コマンド ファイル関係 ると、リスト 1 のようなファイルが作られます。これらの コマンド群の関係を図 3 に示します。 コマンドからの実行 ガ去をリスト 3 に示します。よく使われるオプションには、 した各種のフォーマットに対応しています。代表的な実行 のように豊富なオプションがあり、 ISO 9660 をベースに makedisc コマンドには、リスト 2 のヘルプメッセージ 70 次のものがあります。 前述したように、 Makedisc では RockRidge フォーマ ットが生成できます。また、 UNIX での名前を ISO 9660 の規格に適合した名前に自重加勺に変換してくれます。この とき、 -t オプションを省略すると、指定された名前の変 換テープルファイルが ISO 9660 で生成された各ディレ クトリの下に作られます。この変換テープルを使って、ハ ードディスクから CD ー ROM へシンポリック・リンクを 張ると、 ISO 9660 の名前の制約を避け、 UNIX で使え る名前でアクセスできるようになります。これによって、 RockRidge フォーマットかイ吏えなくても、 ISO 9660 と UNIX の標準機能だけで名前の問題をある程度解決でき ます。 変換テープルは普通のテキストファイルです。各行は 図 4 のように 3 つのフィールドからなり、 ( 1 ) 識別子、 ( 2 ) ISO 9660 の名前、 ( 3 ) UNIX 上の名前か書かれてい ます。 UNIX MAGAZINE 1993.5
連載 / / Li 眈 Language—O 特殊ファイルとは ? してみましよう。 が、、 c " であることが分かります。次に /dev/sd0a を ls -l 0 " となっていることと、モードフィールドの最初の文字 に対応しています。ファイルサイズのフィールドが、、 0 , /dev/console 特殊ファイルはシステム・コンソール crw——w——w— 1 て 00t 0 , 0 Mar 22 16 : 05 /dev/console す。ためしに /dev/console を ls ー 1 してみましよう。 殊ファイルについての知識を整理しておく必要がありま MAKEDEV スクリプトの解剖イを始める前に、特 1 root 7 , 0 Dec 11 00 : 30 /dev/sdOa 詩ヾると、コマンドは次のように報告してきます。 file コマンドを使って /dev/console と /dev/sd()a を 0 " で、モードフィールドは、、 b " となっています。 ティションに対応しています。サイズフィールドが、 7 , /dev/sd0a は内蔵ハードディスク上にあるルートパー /dev/console : /dev/sdOa: character special ( 0 / 0 ) block special ( 7 / 0 ) こで、 character とか block とはいったいな んでしようか ? 特殊ファイルには 2 つの種別があります。 1 つは固定サ イズのアクセス単位を内部構造としてもっ構造型デバイ ス、もう 1 つはそのような内部構造をもたない羽冓造型 デバイスです。前者のカテゴリーにはハードディスク装 置や類似のテンヾイス ( フロッピーディスクや CD-ROM など ) が含まれます。後者のカテゴリーはすっと大きく、 RS232 経由で接続される文字端末を筆頭にテーブドライ プやプリンタ、イメージリーダー、はては音声入出力装置 やファクシミリまで、定まった構造をもたないすべての デバイスがこれに含まれます。 UNIX では構造型デバイスを、、プロック型デバイス " (block device) 、夛財冓造型デバイスを、、キャラクタ型デ バイス " (character device) と呼び、両者を区別してい ます。この命名は、ハードディスクはプロック型 I / O 、 文字端末はキャラクタ型 I/O という単純なスベキュレー ションをそのまま反映したもので、ディスクに対するプ ロック型デバイスはともかく、音声入出力がキャラクタ 90 型デバイスに分類されてしまうのは、 UNIX 開発者のひ とり Ken Th 。 mps 。Ⅱが自ら認めるように、まったくの 糶 (complete misnomer) 1 です。 さきの ls ー 1 の出力で、ふだんはファイルサイズが 示されるフィールドにあった見慣れない数字の対、、 0 , 0 ・ や、、 7 , 0 " とは、デバイスを区別する番号です。数字はそ れぞれメジャー番号、マイナー番号、特殊ファイルは各 自異なる番号対をもっています。 特殊ファイルについてもっと詳しく調べてみましよう。 /sys/h/conf. h ファイル (SunOS では /sys/sys/conf. h) を見てください。ここでは cdevsw 構造体と bdevsw 構造体が定義されています。ちょっと抜き出してみましょ う。 cdevsw 構造体は次のようなものです。 struct cdevsw int int int int int UNIX Programmers Manual に含まれており、 UNIX の基本的 1 Ken Thompson の論文。、 UNIX lmplementation" より引 . されて、構造体の酉冽というかたちでカーネル内部に組み イバは、それぞれ cdevsw/bdevsw 構造体に、、パック さまざまに異なる入出力装置を制御するデバイスドラ れているともいえます。 デバイスドライバの呼出し手順は上手にモジュール化さ おこなわれます。 cdevsw/bdevsw ー冓造体のおかげで、 スで、データや制御のやりとりはすべてここを経由して グラムと入出力装置とのあいだの唯一のインターフェイ て渡されます。 cdevsw/bdevsw 構造体はユーザープロ 出し時にはメジャー番号とマイナー番号の対が引数とし 照することて呼び出されるイ」曲、けになっているのです。呼 これらの構造体に登録された関数へのポインタを間接参 ネルに登録する彳難リをはたします。デバイスドライバは、 プロック型デバイスのデバイスドライバを、 UNIX カー cdevsw/bdevsw 構造体は、キャラクタ型テンヾイスや ることが分かりますね。 この構造体が関数へのポインタ群を収容するものであ 特徴かされている。 UNIX MAGAZINE 1993.5
連載 UNIX Communication Notes 動いているホスト名 ・データベース名 ・アクセスポートの番号 ・ソースの管理者 UNIX MAGAZINE 1993.5 す。 応して適切な表示プログラムか起動する構造になっていま になっています。あとで説明する xwais では、拡張子に し、これに対応したビューアを起動するインターフェイス XX. gif であれば GIF フォーマットの画像データと判断 定できるようになっています。たとえば、ファイル名が ト側ではファイルの拡張子に応して表示プログラムを指 マルチメディア・データの場合、一般的にクライアン しています。 ているソース側でのファイル名をそのままインデックスに 供されています。これらの情報については、情報をオ褓内し PICT フォーマットによる象情報、音声情報などカ甘是 SGML などを利用した高品位なテキスト情報、 GIF や については現在も研究中ですが、現状では、 PostScript 、 情報も扱うことができます。マルチメディア情報の取扱い さらに、 WAIS では画像や音声などのマルチメディア す。 マンドを取り除いてからインデックスを作ることもできま のドキュメントをデータとして提供する場合、 rIVfX のコ めのフィルタも用意することができます。たとえば、 TVfX また、ファイルの拡張子に応してインデックス作成のた 法を使うかを判断しています。 データのオタされているファイルの刻長子をもとにどの方 よってインデックス作成のガ去を変えています。これは、 ュースやメールなどの、もとになるテキスト情報の不頁に す。このためインデックスの作成では、ネットワーク・ バーでの検索は、このインデックスをもとにおこなわれま い、独自のインデックスを作成しています。 WAIS サー めに、ソースのテキスト情報からキーワード抽出をおこな す。 WAIS では、高速かっ質の高い検索を可能とするた ソースか醍供する情報は、ほとんどがテキスト情報で ソースが提供する情報 などの情報が各ソースについて蓄積されています。 ・ソースカ甘是供する情報についての簡単な説明 、 VAIS のインストール WAIS は UNIX の標準アプリケーションではありませ ん。したがって、なんらかのカ 1 去で WAIS のソフトウェ ア・バッケージを入手し、現在使っているシステムにイン ストールしなければなりません。 WAIS のノヾージョンは Ver. 8 beta 5.1 です。 ソフトウェア・ノヾッケージは wais-8-b5.1. tar . z と いう名則で、 ・ UNIX 竟で動作する WAIS クライアント (TTY イ ンターフェイス・プログラム ) ・ UNIX 環竟でカ作する WAIS サー ・ GNU Emacs から WAIS を使うための wais. el ・ X のユーザー・インターフェイス・プログラム (xwais など ) ・ドキュメント ・ directory—of—servers. src が含まれています。 ソフトウェア・パッケージの入手は以下のどれかででき るでしよう。 UNIX 以外のクライアントの入手方法については、あ 髄日喆曷。 WEnet の使い方については、前号を参照してください 3. 本誌編集部の WEnet ことかできます。 フ。のフリー・ソフトウェアの配布 / 回覧から手に入れる います。あるいは jus や NSUG などのユーサーグルー 国内のアーカイプサイトにお願いして、コピーしてもら 2. コピーを依頼 ら入手可能です。 quake.think.com のディレクトリ pub/vais/doc か 手できます。また WAIS 関連のドキュメントは、 サーバー think.com のディレクトリ wais から入 のソフトウェア・ノヾッケージなどは、 anonymousFTP ソースを anonymous FTP でもってきます。 WAIS 1 ・ Anonymous FTP が可能なサイト とで説明します。 41
連載 LittIe Language srekcah@sra. CO.JP 自由気ままに She 。ログラミング冊 / dev ティレクトリの秘密 いまやっている仕事をちょっとだけ中断して、休憩がて ら /dev ディレクトリを ls してみましよう。瞬く間に画 面がスクロールされて、面喰らうかもしれません。 /dev ディレクトリにはたくさんのファイルがありま す。これらは UNIX 用語で、、特殊ファイル (special file)" といい、通常のファイルやディレクトリがデータ保 持のための抽象化された記金聯頁域を表しているのに対し、 UNIX マシンに刊髄する入出力装置 ( デバイス ) を操作す るためのインターフェイスとして機能します。 たとえば、 SCSI 1/4inch カートリッジ・テープに対応 する特殊ファイルは、 SunOS では /dev/rst0 です。 のファイルに書込みをおこなうと、カートリッジ・テー プにデータを言求することができます。また eject コマ ンドはフロッピーディスクをイジェクト ( 排出 ) します が、この機能はフロッピードライプに対応する特殊デバイ ス (SunOS なら /dev/rfd()c) に、、イジェクトしろ " と 指示することで実現されています。 特殊デバイスは見かけはファイルのようですが、実際 にはデバイスドライバを起動するためのエントリポイン トなのです。このように、入出力装置が 5 や、、 6 " など の謎めいた数字ではなく、通常ファイルと同しように、、フ ァイル名 " をもち、ファイルと同様に open できるのは UNIX の基本的な特徴の 1 つです。 さて、個々窈寺殊ファイルがどの入出力装置に対応して いるのかを調べるには、どうすればよいのでしようか。そ れは同し / dev ディレクトリにある MAKEDEV とい う名のシェル・スクリプトを見れば分かります。 MAKE- UNIX MAGAZINE 1993.5 DEV は特殊ファイルを / dev ディレクトリに作成するた めのシェル・スクリプトで、システムの内部構成はここに 適切に央されていなくてはなりません ( さもないとシス テムは正しく動きません ) 。ですから、 MAKEDEV ス クリプトを読めば、どのような入出力装置がなんという特 殊ファイル名でサポートされているかを、手つ取り早く知 ることができるのです。 MAKEDEV スクリプトはシステム管理者といえども 劇染みが薄い存在といえるでしよう。というのは、 /dev ディレクトリは OS のインストール時にシステムの標準 構成を反映したものに整えられているのか普通で、 UNIX カーネルに手を入れて独自設計の入出力装置を追加しな いかぎりは、 MAKEDEV スクリプトを実行したり、そ れを変更する必喫はないからです。 MAKEDEV スクリプトはテンヾイスに関するシステム 情報カられるばかりではなく、シェル・プログラミング の技法の観点からも興飛架いものがあります。たとえは、 MAKEDEV にはこんなコーディングがあります。 fb*) unit=Cexpr $i /etc/mknod $i c 14 $unit /etc/mknod video${unit} c 14 ・ expr $unit + 128 ( いったい、これは何をやっているのでしよう ? 今回はこの MAKEDEV スクリプトを題材にとりあ げ、 /bin/sh の奇妙なプログラミング・テクニック ( あ るいは裏技 ) について考察してみましよう。 89