ディスク - みる会図書館


検索対象: 月刊 C MAGAZINE 1990年2月号
36件見つかりました。

1. 月刊 C MAGAZINE 1990年2月号

ーション A 広張八一ドティスク MO ディスクのコスト パフォーマンスは抜群 UNIX には多くの優れたフリーソフト , PDS 類があることは有名だ。実際それらを活用 する , しないとて、はワークステーションの使 用環境は大きく左右される。フリーソフト を次々とインストールしてこそ , UNIX 本来 のよさが見えてくるのだが , それと同時に システムのディスク容量はすぐに不足する。 嬉しいことにフリーソフトにはとても便利 なカ作が多く , 困ったことに便利なソフト ほどサイズも大きい たとえば , 使いやすさや拡張性の高さて、 定評のあるエデイタ GNU-Emacs は 15M バ イト程度 , 文書清書系て、有名な TEX はフォ ントも含めると 60M バイト前後のディスク 容量が必要になる。フリーソフトは集め始 めるときりがないのて、 , テープに保存する などして , ディスクのやりくりをするわけ だが , それて、も容量不足の場合は拡張ハー [ 表 2 ] ミドルエンドマシン Fig. 1 N F S Ether ワークステ ワークステ ーション B ワークステーション A が使える団 SK NFS ワークステーション B が使える D 旧 K 300M バイト ドディスクを用いる以外に手段はない ンなどは , どのようなハードディスクて、も が発売されている。 Sun ワークステーショ パーティーからも純正より安価なユニット ニットをリリースしている。また , サード 拡張ハードディスクは各メーカが純正ユ 増設て、きるように設計されているのて、 , サ ( \ 2 , 550 , 000 ) NWS-1750 体主記憶 ティスク 68030 ( 25MHz ) 4.3M 甲 S 8M ノヾイト 286M バイト N Y E N Y N N LJ A 石 機 62 その B / W ティスプレイ , モノクロピットマップボード , キーボード・マウス システム価格 NWS ー 1850 本 CPIJ 体主記憶 ティスク 68030 ( 25MHz ) 5 . 3 M IPS 16M バイト 286M バイト の B / W ティスプレイ , モノクロピットマップボード , キーボード・マウス システム価格 本 SUN-3/80 ( モノクロシステム ) 体 CPU 3MlPS 68030 ( 20MHz ) 苻主記憶 4M バイト 属 17 インチモノクロティスプレイ , キーボード・マウス , SunOS そのディスク ( 104M バイト ) , 3.5 インチ FD ( 1 .44M バイト ) システム価格 本 SPARCstation1 体 CPU SPACE(20MHz) 12.5M 旧 S 苻主記憶 8M バイト 属 17 インチモノクロティスプレイ , キーホード・マウス , SunOS LUNA-DT55 システム価格 そのティスク ( 104M バイト ) , 3.5 インチ FD ( 1 .44M バイト ) 本 cpu 体主記憶 ティスク 68030 ( 20MHz ) 4MlPS 8M バイト 172M バイト そ 15 インチモノクロティスプレイ , モノクロビットマップボード , キーホード・マウス , レーザ プリンタ OS ( 4.2BSD ライセンス ) システム価格 CMAGAZINE 19 2 \ 2 , 950 , 000 ( \ 3 , 550 , 000 ) \ 3 , 950 , 000 ( \ 1 , 920 , 000 ) \ 1 , 600 , 000 ( \ 1 , 220 , 000 ) ( \ 1 , 785 , 000 ) \ 2 , 237 , 000 \ 2 , 845 , 000 300M バイト ードバーティーの製品が非常に豊富て、ある。 ユーサか増えてきたら (SONY NWP-539N 44 万円 ) 。 ているが , ほとんどは SONY の OEM て、ある 現在 MO ディスクは各メーカーから発売され メディア間のデータ転送などが楽になる。 台購入可能だ。 MOi•イスクが 2 台あれば , クドライプはハードディスク 1 基の予算て、 2 いくらて、も入れられる。低価格な MO ディス 能 ) て、ある。メディアを買いたせばデータは にならない。加えて , リムーバブル ( 交換可 劣るが , マルチューザ環境て、の使用て、は気 て、きる。速度的には多少ハードディスクに バイトのハードディスクと同じように使用 MOi•イスクは , 交換さえしなければ 297M れない容量 / コストパフォーマンスをもつ。 万円以下 , メディアは 3 万円程度と , 信じら トという大容量て、ありながらドライプは 50 スクは片面 297M バイト , 両面て、 594M バイ イスク ( MO ディスク ) クがある。光磁気ディ さらに , ディスクの拡張には、、光磁気デ ネットワーキング うネットワーク (LAN) は Ether-net て、 , その ンの構成例に目を移してみよう。 ワーク相互に接続されたワークステー こて、スタンドアロンからネット さて , こて、い ショ

2. 月刊 C MAGAZINE 1990年2月号

けファイルサーバ自体の容量が使用された 以外 , Fig. 2 の ( b ) と変わらない。ディスク レスタイプのマシンには , たんにディスク がないものや , ディスクのインタフェイス ( SCSI) からないもの ( ディスクは絶対につか ないもの ) などいろいろある。実際の例とし ては表 4 があげられる。 64 CMAGAZINE 19 2 上げたことが少して、も役立てば幸いて、ある。 店に頼るわけだが , そのとき , こて、取り になり得る。最終的にはディーラーや販売 合わせも可能て、あり , 話はいくらても複雑 クが絡んて、くると , 異メーカー相互の組み し , 無数の組み合わせがある。ネットワー さまざまな種類のポードや周辺機器が存在 ない。実際には各メーカー , 各機種ごとに 成例をあげたが , これはほんの一例にすぎ 以上いくつかのワークステーションの構 うなものがある。 る RISC 系のワークステーションには表 5 のよ 透してくることだろう。現在発売されてい 低価格化は明白だ。徐々に低価格層にも浸 定着した観がある。量産が進めば RISC 系の イエンドマシンは RISC 系 , というのはほば 格性能比て、は RISC 系が圧倒的に優位だ。ハ 系のシステムに比べるとまだ高価だが , 価 る。 RISC 系の CPU を使ったシステムは 68000 モて、は 2 倍ないしそれ以上の速度差を感じ とはて、きないが , ウインドウシステムのデ 値と RISC 系の MIPS 値を単純に比較するこ という速度を可能にする。 68000 系の MIPS のに対して , RISC 系て、は軽く IOMIPS 以上 る。 68000 系がせいぜい 6 ~ 7MIPS 止まりな 行て、きるように設計された CPU のことて、あ の命令を簡略化したかわりに 1 命令を高速実 ( 縮小命令セットコンビュータ ) を指す OCPU う力す , Reduced lnstructi on Set CO mputer る。 RISC は , すて、にご存じの方も多いと思 R ー 3000 などの RISC 系に大きく分かれてい などの 68000 系と , SUN の SPARC,MIPS の 現在 , ワークステーションは 68020 , 68030 68000 系と RISC 系 [ 表 3 ] ファイルサーバ FS ー 120 ( 3.5 インチ FD ・ ST 内蔵 ) 5MlPS ( \ 2 , 800 , 000 ) A 電 機 E S 0 N Y E N 0 S E こ 0 s W S y N 0 S 本 CPU 体主記憶 ティスク 68030 ( 25MHz ) 8M バイト 300M バイト その他 15 インチモノクロティスプレイ , キーボード・マウス , OS (4.2BSD ( ライセンス & ST ) ) \ 3 , 200 , 000 ( \ 3 , 950 , 000 ) 5.3M 旧 S システム価格 NWS ー 1860 本 CPU 体主記憶 ティスク 68030 ( 25MHz ) 16M バイト 640M バイト そカラーティスプレイ , カラーピットマップボード , キーボード・マウス の 他 ( モノクロティスプレイ , モノクロピットマップボード ) システム価格 ティスク 体主記憶 本 CPU NWS ー 1960 \ 4 , 975 , 000 ( カラー ) ( \ 4 , 300 , 000 ( モノクロ ) ) 5.3M 甲 S 68030 ( 25MHz ) 16M バイト 386M バイト x3 十 593M バイト ( MO ティスク ) そカラーティスプレイ , カラービットマップボード , キーボード・マウス の 他 ( モノクロティスプレイ , モノクロビットマップボード ) SUN ー 3 / 470 ( カラーシステム ) システム価格 本 CPU 体主記憶 付ティスク 68030 ( 25MHz ) 7MIPS 8M バイト 327M バイト 属 1 / 4 インチテーブドライプ , GX アクセラレータ 19 インチカラーティスプレイ , キーボード・マウス , システム価格 [ 表 4 ] ディスクレスシステム SunOS NWS-71 1 本 CPU 体主記憶 68020 ( 16.67MHz ) 4M バイト 2.3M 甲 S B / W ティスプレイ , キーホード・マウス付属 システム価格 NEWS-721 本 CPU 体主記憶 68020 ( 20MHz ) 4M バイト カラーピットマップボード内蔵 , キーホード・マウス付属 の他カラーティスプレイ システム価格 [ 表 5 ] R 旧 C 系システム NWS ー 3840 2 .8M 甲 S 20M 甲 S E S 0 N D E S 本 CPU 体主記憶 ティスク R3000 ( 20MHz ) 16M バイト 286M ノヾイト そのカラーティスプレイ , カラービットマップボード , キーボード・マウス システム価格 DEC station2100 ( \ 8 , 750 , 000 ) \ 9 , 775 , 000 ( \ 9 , 1 60 , 000 ) \ 9 , 1 60 , 000 ( \ 450 , 000 ) \ 450 , 000 ( \ 1 , 200 , 000 ) \ 1 , 850 , 000 ( \ 3 , 950 , 000 ) \ 4 , 975 , 000 ( \ 988 , 000 ) 本 CPU 体主記憶 10.4M 甲 S 日 2000 ( 1 2 .5MHz) 8M バイト 付 15 インチモノクロティスプレイ , キーボード・マウス , 日本語 UNIX TCP/IP, 日本語 DEC 属 Windows, SC 引インタフェイス その八一ドティスク ( 104M バイト , 332M バイト ) システム価格 SPARC station370 \ 1 , 391 , 000 ( 104M バイト ) \ 2 , 096 , 000 ( 332M バイト ) 本 CPU 体主記憶 付ティスク 16M 甲 S SPACE(25MHz) 8M バイト 327M バイト 属 1 / 4 インチテーブドライプ , GX アクセラレータ , 19 インチカラーティスプレイ , キーホード・ マウス , SunOS システム価格 ( \ 1 0 , 430 , 000 ) \ 1 0 , 430 , 000

3. 月刊 C MAGAZINE 1990年2月号

・最新 UN Ⅸ考察 大特集 転送速度は 10Mbps , 最近のワークステーシ ョンにはほとんど標準て、インタフェイスが ついている。 LAN の特長を大別すると , デ ータ転送 , CPIJ の共有 , ディスクの共有の 3 点があげられる。 ァータの転送クは , ネットワークの物理 的機能そのもの。説明するまて、もないだろ う。、℃ PU の共有〃は , ほかのマシンの CPU を , 自分のマシンの CPU と同じ感覚て、自分 のマシンから使うことて、ある。処理したい データをネットワーク経由て、ほかのマシン ロ ロ に送り , 処理した結果を再びネットワーク を経由して返してもらうわけだ。ネットワ ークの転送速度が十分速いからこそ可能な のて、ある。そして、、ディスクの共有〃は , ほかのマシンのディスクを自分のマシンの トワークを通じて入ってくる多数のリクエ らて、も同じ環境て、ログインして使えるよう ストに答えるために , 高性能てなくてはな ディスクと同じ感覚て、使うことだ。これも になる。 LAN< 結ばれたマシンはそれ全体 CPU の共有と同じく , ネットワーク経由て、 らない。ファイルサーバの例としては表 3 の がひとつのシステムとみなせるわけだ。 ようなシステムがあげられる。 ディスクのアクセスをリクエストし , ネッ 高性能ファイルサーバ トワーク経由て、結果を得る。この 3 点のなか さて , 上記の構成例て、はファイルサー と手軽な て、 , 最大のメリットはディスクの共有て、あ と小容量のディスクをもったマシンとを組 ディスクレスタイプ み合わせてシステムを構成したが , ハ ディスクのビット単価は大容量ハードディ ディスクの共有は , UNIX て、は、、分散ファ ところて、 , 多数のマシンて、ディスクを共 スクほど低下するのて、 , それぞれに小容量 イルシステムなどと呼ばれ , 現実には Sun 有しなければならないとき , どのような構 のディスクをもたせるのはコスト的には不 Microsystems が開発した NFS (Network 成がいちばん簡単て、あろうか。たとえば , 利てある。そこて , NFS をもう一歩突き詰 File System) が多く用いられている。 UNIX 、、 IG バイトのデータを 10 台て、共有 , ただし めると「マシンに固有な領域もファイルサ て、は複数のハードディスクドライプをヾマ 各マシンに固有な領域が 50M バイト〃と仮 ウント〃してひとつのファイルツリーに統 ーバにもたせる」というアイデアに到達 定し , ふたつの極端な構成例 ( Fig. 2 ) を考え する。、、ディスクレスマシンの誕生てあ 合して扱う。それと同じようにほかのマシ る。ディスクレスマシンを用いて (b) を構築 てみよう。 (a) は同じ 150M バイトのディス ンのディスクも、、マウントクしてしまおう , し直すと Fig. 3 のようになる。各マシン固有 クをもったマシンを 10 台つなぎ , 固有領域 というのが NFS て、ある。 の領域をファイルサーバにもたせた容量だ 以外の 100M バイトを各マシンて、共有する。 NFS を使ってディスクを互いに共有しあ (b) は 50M バイトのディスクをもったマシン うと , マシンの資源 ( ディスク容量やデータ Fig. 3 ディスクレスシステム を 9 台と IG バイトのディスクをもったマシン など ) を数倍に有効利用て、きる。たとえば 300 ティスクなし を 1 台つなぎ , IG バイトのディスクのみを相 M バイトのディスクをもった同じマシンが 互て、共有というやり方て、ある。 (a) て、は NFS 2 台あり , それらが LAN て、結ばれ NFS て、互 て、マウントする数がつなぐマシンの数の 2 乗 いにディスクを共有し合っているとしたら , に比例してしまうが , (b) て、はマシンの数に それは 600M バイトのディスクをもったマシ 比例するだけてある。簡単なのは明らかに ン 2 台と同じように使える ( 厳密にはマシン ( b ) て、ある。 に固有な領域が必要なのて、 600M バイトには (b) のように中央に設置された , 共有する ならない ) のて、ある (Fig. 1) 。いろいろな実 行可能ファイルを共有すればディスクの大 大容量ディスクをもつマシンはヾファイル 幅な節約がてきる。ューザのホームディレ サーパクと呼ばれる。ファイルサーバはた クトリを共有しておけばどちらのマシンか んにディスクが大容量なだけてなく , ネッ Fig .2 ファイルサーノヾ 150M バイト 50M ノヾイト ロ ロ ロ ファイルサーバ バイト ロ ロ ファイルサーバ 1.5G ノヾイト 大特集最新 UN Ⅸ考察 63

4. 月刊 C MAGAZINE 1990年2月号

大特集・最新 U N Ⅸ考察 T A G E か考えられる。ここでは , いくつか使用例を挙げなから実 . のシステム構成を考察してみよう。 ひとくちに UN Ⅸワークステーシンといっても , ユーザの途によってさまざまなシステム構成 シー成 UN Ⅸワークステーションの 、ドアロンの 最′」成 UN Ⅸを使用するために必要な最少構成 は , おおよそ CPU, 100M バイト程度のハー ドディスク , キーポード , ディスプレイモ ニタ程度て、ある。価格的には 150 万円以内に 収まるはずだ。具体的には表 1 のような機種 がある。とりあえずこれだけのハードウェ アをそろえると , UNIX の機能 ( ネットワー クや電子メール , ウインドウシステムなど ) をひととおり使える。 100M バイトと聞くと , パソコンユーザに は極めて大きな容量と思われがちだが , UNIX, とくに BSD 系 UNIX て、はシステムだ けて、ディスク容量はいつばいになってしま い , 容量はほとんど残らない。 UN Ⅸて、はヾ仮 [ 表 1 ] 最小構成システム ( ローエンドマシン ) 石田秋也 想記憶クをサポートしているが , この仮想 記憶のスワップ用に約 20M バイト , そして UNIX 標準の多量のフィルタやコマンドの 類 , 工デイタ , コンパイラ , デバッガなど のプログラム開発ツール , オンラインマニ ュアルや文書清書系 , さらに X-Window な どのウインドウシステムがあると残りの 80 M バイトは簡単にいつばいになる。ツール が整理されている System V 系 UNIX は BSD 系 UNIX ほどてはないが , それて、もウインド ウシステムを使う気なら 100M バイトのハー ドディスクは最低限必要て、ある。 いずれにせよ , より上位のシステムて、て、 きることは , 最少構成のシステムてもいち おうすべて対応てきる 0UNIX 用 PDS のイン ストールや , UNIX マシン相互て構成される アカデミックネットワークへの参加などは , 最小構成て、も十分可能だ。今後ローエンド I_J A 石 機 E S N DT-20 本 CPIJ 体主記憶 ティスク 68030 (20MHz) 4MlPS 4M バイト 70M バイト そ 15 インチモノクロティスプレイ , モノクロビットマップボード , キーボード・マウス , OS ( 4. 他 3BSD ライセンス ) システム価格 NWS -1450 ( \ 880 , 000 ) \ 1 , 300 , 000 ( \ 1 , 250 , 000 ) 本 CPU 体主記憶 ティスク 68030 (25MHz) 8M バイト 240M バイト 3.9M S そ B / W ディスプレイ , キーボード・マウス システム価格 \ 1 , 450 , 000 機が充実し , ますます低価格てシステムが 組めるようになるだろう。 スク容量 30 M バイ呈度の 、、ルエンドシステム UNIX を少しずつ使いこなしてくると , 100 M バイト程度て、は容量不足になる。そうい うユーザにお勧めするのがディスク容量 300 M バイト程度のミドルエンドマシンてある ( 表 2 ) 。ローエンドマシンに比べると , 主記 憶容量やキャッシュメモリ容量が増え , 処 理速度が向上する。ウインドウシステムや AI ツールなど大きなアプリケーションを走 らせる場合 , 主記憶容量によって実行速度 にかなりの差が出る。主記憶に入りきらな い大きなソフトウェアを走らせると , 仮想 記憶のスワップが大きな負荷になり , 実行 速度が落ちるのて、ある。 X-Window などを 快適に使うためには 8M バイト程度の主記憶 容量が必要てある。 ミドルエンド以上のシステムには , ディ スクのバックアップなどに使うストリーマ がついたモデルが多い。本格的なビジネス プは不可欠てある。 ュースを望むなら , 大特集最新 UN Ⅸ考察 61 する際にもストリーマは必要なことが多い ソフトをインストール ディスクのノヾックアッ

5. 月刊 C MAGAZINE 1990年2月号

ティスク内 - 、 の お知らせ コヒ。ーしたドライプて、次のように実行し します。 あるディスクを用意し , turbo. exe をコヒ。ー 使用可能ディスク容量が 195K バイト以上 とユーティリティ Tu 市 C 修正差分ファイル ' 90 年 2 月号特別付録 ( 5 〃 1.2M 15 セクタ / トラックフォーマット ) には , 次のプログ ラムが収められています。 ① PVCS Version 2.1 c サンプル版 pvcs. exe ( 自動解凍圧縮ファイル ) ② Tu 「 boc 修正差分ファイル とユーティリティ turbo. exe ( 自動解凍圧縮ファイル ) ③ D-SheII サプセット版 dshs. exe ( 自動解凍圧縮ファイル ) ④本誌掲載プログラム Ycmaga くディレクトリ〉 ⑤付録ディスクの説明 readme ディスクの容量の関係て、 , ① ~ ③のプロ グラムは圧縮してあります。圧縮は ' 89 年 11 月号付録の LHarc を使って行いました ( な お , 解凍に LHarc は必要ありません ) 。各サ プディレクトリにも readme を設けましたの て、そちらも参照してください。 PVCS Version2.Ic サンプル版 使用可能ディスク容量が 850K バイト以上 のディスクを用意し , pvcs. exe コヒ。ーをし ます。 コピーしたドライプて次のように実行し てください pvcs これて、 PVCS Version 2. lc サンプル版 が解凍されます。 PVCS とは , プログラムや 文書ファイルなどのバージョン , リビジョ ンを管理するプログラムてす。 解凍後にてきるファイル readme. doc, pvcs. doc を読んていただき , それらの指示 にしたがって demo. bat を起動すると , PV CS とは何かを体験てきます。 140 CMAGAZINE 19 2 てください turbo /x 固 ( x は小文字 ) これて、 Turbo シリーズの修正差分ファイル とユーティリティが解凍されます。解凍後 にて、きる \ tcupc というディレクトリに Tur boC 修正差分ファイル , \ glio というディレ クトリに TurboC 2.0 用の GLIO ライプラリ て、が収録されています。 tcupc. doc, read me. doc,glio. doc を一読のうえご使用くだ さい D ・ SheII サプセット版 D-SheII とは , MS-DOS ユーザに C-shell ライクな機能を使っていただくために収録 したコマンドインタブリタ型シェルて、す。 使用可能ディスク容量が 490K バイト以上 のディスクを用意し , dshs. exe をコヒ。ーし ます。 コヒ。ーしたドライプて、次のように実行し 本誌掲載プログラム サプディレクトリ \ cmaga の下に記事別の ディレクトリがあり , それぞれの記事に関 するプログラムを収めてあります。 : ' 90 年 1 月号特集未収録リスト : インフォメーション CZATU : C 言語雑学講座 STARTC : C 言語入門講座 OUYOU : 応用 C 言語 : 実践プログラマ養成講座 : C 十十プログラミング CMSIXE : MS-DOS プログラミング入門 : C コンパイラブログラミング : PDS 最新レポート T9001S INFO MITA SCCP YACCP PDS クに収録しました。本号て、は次のものを収 承諾を得られたものについて , 付録ディス レポート』て、紹介したソフトのうち作者の 読者の方々の強い要望により , 『 PDS 最新 PDS 最新レポート readme を参照してください 各々のプログラムの使い方は関連記事と 録してあります。 YpdsYundI ・ YpdsYsnow ・ [ お詫び ] ( 11 月号掲載 ) ・・ undel ・・・ snowfall ( 1 月号掲載 ) てください dshs /x 固 ( x は小文字 ) これて、 D ー She Ⅱサプセット版が解凍されま す 0Ydsh というディレクトリに D ー Shell 本体 (dsh. exe) とそのマニュアル (context. man, ch* . man) が , \ uty というディレク トリに D ー SheII のユーティリティ ( * . exe) と そのマニュアル ( * . man) が収録されていま す。マニュアルをよくお読みになってから ご使用ください。 ' 90 年 1 月号付録ディスクの TurboC 修正差分フ ァイルに BUPDATE. EXE が収録されていませ んて、した。お詫び申し上げます。ドキュメント ファイルには「 BUPDATE. EXE は , 前回使用 したものと仕様が異なります」と書かれていま すが , ' 89 年 12 月号に収録されている BUP DATE. EXE を流用てきますのてそちらをご利 用ください。 12 月号の付録ディスクをお持ちて ない方は株マイクロソフトウェアアソシェイツ まてご連絡ください ( TEL03 ( 486 ) 1403 ) 。

6. 月刊 C MAGAZINE 1990年2月号

大特集・最新 UN Ⅸ考察 ・ファイル名 8 バイト分用意されており , 最大て、 8 文 字の長さしかつけられません。 ・拡張子 ・ファイル属性 そのファイルがどのようなものて、ある か ( ディレクトリて、あるか , ファイルて、 あるか , なにか特別なファイルなのか ) を示します。 ・予約領域 ・最終変更時刻と最終変更日付 それぞれ 2 バイトずっ用意されており , 最新のファイルの更新情報て、す。 ・クラスタ番号 ファイルやディレクトリの , ディスク 上の物理的な位置を示しています。 ・ファイルの大きさ ディレクトリに対しては , 0 となって 3 バイト長て、す。 ます。 ファイルはすべてこの位置に収められてい 決まった位置に存在します。ルートにある さだけ用意されていて , ディスク上のある ルートに対するディレクトリは , ある長 います。 ディスク上て、の物理的な位置が求められ , こにあるファイルも , 上記と同じ方法て、 , ィレクトリエントリが書き込まれています。 まれるファイルとかサプディレクトリのデ イスクの箇所には , そのディレクトリに含 リて、ある場合 , クラスタ番号が指し示すデ 工ントリに対するファイルがディレクト 身が読めるというわけて、す。 まれている情報を取り出せばファイルの中 置がわかり , ディスクのその位置に書き込 報によって実際のディスク上の物理的な位 あるエントリに対するファイルは , その情 開始位置のクラスタ番号が書かれています。 ディレクトリエントリには , ファイルの 層構造の実現 MS-DOS での ファイルの中身が読み出せるのて、す。サプ ディレクトリに関しても同様て、す。 ディレクトリの移動もこのエントリを用 いて行われます。また , ( 親ディレク トリ ) と、、〃 ( そのディレクトリ自身 ) に対 するエントリも , ルートディレクトリを除 〃とすると、、 いて必ず存在して , 、、 cd のエントリを読んて、 , ディレクトリの移動 が行われます ( 、、 .. クのエントリが存在しな . 〃に移 いルートディレクトリにおいて , 動しようとするとエラーが起こります。し かし , 、、 cd . 〃に対しては , MS ー DOS て、は、、 のエントリを読まずに行っているため , ほ かのディレクトリと同様 , ルートディレク トリにおいてもエラーは起こらず正常に動 作します ) 。 このように , ディレクトリエントリに書 かれているファイルの開始クラスタ番号が , ファイルあるいはサプディレクトリへのポ インタとしてファイルシステムの階層構造 を形成しているのてす。 しかし , ここて、ひとつ問題があります。 ファイルがひとつのクラスタに収まりきら ないほどの大きさて、あったらどうなるて、し ようか ( IM バイトのフロッヒ。ーディスクの 場合 , 1 クラスタの大きさは 1024 バイトて、 ファイルの大きさが 1 クラスタの大きさを 超えた場合 , そのファイルはクラスタの大 きさごとに分割されることになります。 のとき , 分割されたファイルはディスク上 て、連続したクラスタにおかれるとはかぎり ません。これを保証するためには , ファイ ルの消去の操作ごとに物理的なファイルの 移動が必要となって , 非常に時間がかかっ てしまいます。 MS-DOS て、は , この間題を解決するため に , FAT(FiIe Allocation Table) と呼ばれ るものを用意しています。 FAT はその名の とおりファイルの位置を示した表て、す。 FAT 領域は , ディスク上のある決まった位置に おかれます。この FAT を用いてどのように 分割されたファイルの順番を管理している のて、しようか。 ファイルの中身を読もうとするとき , ま ずディレクトリエントリに書かれている開 始クラスタ番号の位置から読み込まれます。 この位置には分割されたファイルの先頭の ものが書き込まれています。そして , この 開始クラスタ番号に対する FAT の位置に 次に読み込むべきクラスタ ( 分割されたファ イルの次のもの ) の番号が書き込まれていま す。 以下 , 同様に , 次々と分割されたファイ ルの位置が求められます。すなわち , n 番の クラスタの次は FAT の n 番の内容を見ればわ かるのて、す。 FAT をたどっていき , ある特別な値 ( 12 ビ ットの FAT なら 16 進数て、 FFF ) にぶつかった ときが , そのファイルの終わりになります。 短いファイルなら , 開始クラスタ番号に対 する FAT の位置にはこの値が入っているこ とになります。このように , FAT は分割さ れたファイルからファイルへのポインタの 役割をしていて , チェーン ( 鎖 ) を形成して いるのて、す ( Fig. 3 参照 ) 。 イルシステム Ⅸの 大特集最新 UN Ⅸ考察 47 て , ひとつのデバイスファイルに対応した ひとつのパーティション ( 区分 ) て、あるとか 気ディスクて、あるとか , ハードディスクの のファイルシステムとは , たとえば , 光磁 クセスされますが , ここて、述べている複数 ファイル ( スペシャルファイル ) を通してア UNIX て、は , すべてのデバイスはデバイス のて、す。 数のファイルシステムから構成されている 想的なファイルシステムて、あって , 実は複 ひとっということになりますが , これは仮 側から見た場合 , ファイルシステムはただ つしか存在しません。したがって , ューザ はなく , ルートディレクトリは , ただひと ごとにルートディレクトリが存在するのて、 参照 ) 。しかし , MS-DOS のようにドライプ ステムはツリー構造となっています (Fig. 4 UNIX も MS-DOS と同様に , ファイルシ

7. 月刊 C MAGAZINE 1990年2月号

eader's 00 財ー ソースかほしい 「 PDS 最新レポート」はとてもよ い企画ぞすが , 付録ディスクに入 れることはて、きないのて、すか ? そ れと , サービスユーティリティの ソースがほしいのて、すが・・ れからはソースもて、きるだけつけ てください。大阪府・平井武 ( 18 ) 今月号から , PDS の収録を始 めました。すべてというわけ にはいきませんが , て、きるだけい ろいろな PDS を収録していきたい と思っています。この場を借りて , 著作権者の方のご協力をお願いい ふくらむ不安と期待 日本ソフトバンクが技術誌を出 す。はたしてどこまて、読者の技術 レベルに応えられるか , 不安と期 待 / C 言語を学ぶ者のめんどうを よくみてくれることを望む。 東京都・鈴木栄 ( 39 ) LatticeC だけでかんはってます いつも付録のフロッピーにひか れて買ってしまいます。て、も , 私 は MS-C も QuickC も TurboC も持 っていません。あるのは LatticeC のみて、す。とても全部をそろえる なんてて、きません。実に宝のもち ぐされて、残念て、す。何かアイデア はありませんか。よい記事がいっ ばい ( ? ) あるのてすが・・・ 大阪府・早川孝幸 ( 41) 11 月号の「ライプラリ特集」て、 LC から MS ー C への移植方法に ついて触れてありますのて、 , 参考 値段相応の付録と内容 値段は高くない / あれだけ豊 富な付録がついていて 1000 円以下 なら高くない。記事の内容も , 基 礎から応用まて、幅広くてよい ちらかに徹するべきだという声も ありそうだが , 商業誌としてそれ は不可能て、しよう。幅広い記事て、 , 質の高いものなら , くだらない専 門誌よりずっといいと思います。 東京都・四島幸博 ( 32 ) 読者の皆さんの期待に応えら れるようにしていきたいと思 っています。 読みやすい翻訳を 「オプジェクトの設計手法」はテ ーマ設定はとてもよかったのに 訳が直訳調て、 , 読むに耐えなかっ た。一生懸命我慢して読んだが , 本来ならば , このような棒訳のま まて、掲載するくらいなら , 原文の ほうがよかった。 東京都・高井哲彦 ( 23 ) 翻訳陣に岩谷宏氏を迎えまし た。質の高い翻訳をご期待く ださい 実践的な記事を 毎号おまけにひかれて買ってい ますが , 特に 12 月号は FM より低い ところばかりをつついていて , ぜ んぜん面白くありませんて、した。 単行本ぐらい誰て、も読んて、いるは すて、すから , C の構文の説明はブッ クレビューの拡充て、対応して , 何 を読めばいいのかがわかるように したほうがいいと思います。実際 に C を使うとバグに悩まされる時間 のほうが長いのて、すから。概念的 な入門記事より実践的な記事を書 いてください。月刊誌らしい特集 は好きて、す。もっとページをさけ ばおもしろくなるて、しよう。雑誌 しか入門書がない時代は終わりま した ( 2 か月分て、 1 冊買えますから ) 。 奈良県・名無しの権兵衛 今月号から新刊案内を始めま した。これからも雑誌のもつ 利点を活かしていきたいと思いま すのて、 , どしどしアイデアをお送 りください C 言語をもう一度 C はその昔 , BDS ー C の英文マニ ュアルをウンウンうなりながら読 んて、 , やっとこさ 500 ~ 1000 行くら いのワープロ用外字工デイタを作 ってから使っていない ( 工ツもう 5 ~ 6 年前 ? ) 。また , 再勉強のつもり て、はじめました。最近は C の本がた くさん出ていていいて、すね。とこ ろて、 , 12 月号の R & R の品川さん て , 昔◇◇◇ 11 にいた品川さんて、 は ? 名前は同じようだけれども 神奈川県・野口智昭 ( 28 ) C マガジンて、は自作プログラム も募集しています。みなさん のカ作を楽しみにしています。 理想的な X68K の C 言語 X68K 用の XC, OS-9/C は , とも によい C 言語だと思います。、、 far など用いなくてもメモリの許すか ぎり自由に配列がとれ , K&R のオ リジナルに近い理想的な C 言語のは すて、す。マイナー機のよい点も紹 介するべきて、しよう (Machintosh 北海道・渡部一郎 ( 32 ) なども ) 。 C マガの読者のなかには X68K ューザが非常に多いようて、す。 て、きるだけ X68K もフォローしてい きたいと思っています。 メーカーへの質問は ? メーカーへの質間はこの欄に書 けばいいのて、しようか。また , 初 心者なのて、難しい言葉には註釈を 付けてください。 岩手県・松本学 ( 17 ) メーカーへの質りは「 lnforma tion from Compiler Makers 」 のコーナーて、お受けしています。 どしどし , 質間・要望をお寄せく ださい 付録ティスクの ファイルの圧縮をしないで アーカイバて、圧縮しないて、くだ さい。実行はて、きなくとも , 読む ことはて、きる機種もあるのて、すか ら。容量の関係なら , 本誌掲載の リストはディスクに入れないて、 ( 本 誌に書いてあるのだから , 打ち込 めばいいことて、しよう ) , 掲載て、き なかったリス・トを圧縮しないて、デ イスクに入れることはて、きないて しようか ? 1 月号て、オプジェクト指 向 , 2 月号て、 UN Ⅸの特集が予定さ れているようて、すが , 期待してい ます。 UNIX て、は C やシェルスクリ プトは基本て、すし ,UNIX は方言も 多いて、すから , そこをどう料理さ れるか , いまから楽しみて、す。 島根県・高橋正道 ( 32 ) 11 月号の付録ディスクを見ると , LHarc が PC98 用と書いてあります が , それならば KM-yacc も PC98 が にしてください 142 CMAGAZINE 19 2

8. 月刊 C MAGAZINE 1990年2月号

赤 - ランドジャパン 0 「 m 面 on 作 om (ompiler ma 「 5 TurboC 2.0 Turbo PASCAL 5.5 わらず新しいライプラリが届いて ューザ登録カードには , 楷書て いない方はサポートセンターまて、 はっきりと記入してください。ふ ご連絡ください りがながある項目は , かならずふ りがなを記入してください。個人 Turbo PASCAL の まことに申し訳ありません。 て、登録される方は , 会社名 / 所属を 0 実行時工ラーには , どのよう スチューテントバック TurboC 2.0c のライプラリて、 , 新 己入なさらないようお願いいたし たなバグが発生してしまいました。 ます。 なものがありますか。 バグの内容は以下のとおりて、す。 Turbo PASCAL 5.5 の発売に サポートはユーザ登録された方 A ・ヒューシモデルにおいて , 工ミ ともない , スチューデントパック のみが対象となります。サポート 実行時工ラーの内容は , 以下 ュレータライプラリがリンクて、き の Turbo PASCAL 5.5 の取り扱 センダーへ連絡をいただく際は , のとおりになります。 ない場合がある。 いを開始いたしました。また , かならずューザ ID をお申し出くだ ヒューシモデルにおいて , Turbo Assembler&Debugger の さい。 FAX をお送りいただく場合 Abnormal program termination ungetch, cscanf が正しく動作し バージョンは 1.0 のままなのて、 , ス には , お名前といっしょにユーザ プログラムを起動て、きるのに , 実 際にスタックなどを確保するため チューデントパックて、これらを別々 ID を記入してください。住所は , ・カナ / 罫線文字があると , テキス に必要なメモリが足りない場合な にお申し込みいただきますと , 登録されている住所が原則となり ト出力関数 (cprintf など ) て、 1 文字 どに発生します。統合環境版から Turbo PASCAL 5.5 用の Turbo ますのて、 , 引越などて、住所変更が ずれる。 プログラムを実行している場合は , Assembler&Debugger 1 . 5 がご ありましたら , 早急に文書にてご ・ imagesize 関数が , 領域が大き コマンドラインから再度実行しな 使用になれません。 連絡をお願い致します。バージョ すぎる場合に一 1 て、なく 0 を返す。 そこて、 , 新たに Turbo PASCAL おしてください ンアップ ( メンテナンスを除く ) の このほか , 12 月号て、提供された 5.5 professional のスチューデント また , 浮動小数演算て、エラーが 際も , かならず新たにユーザ登録 差分ファイルて、は , graphics. h 発生した場合にも表示されること パック ( 24000 円 ) を発売させていた を行ってください。ユーザ登録を は , FMR 用に定義されてしまって があります。演算工ラーは , signal だきます 0Turbo PASCAL 5.5 と 行っていただかないと , その製品 関数を使ったり , matherr を定義 います ( 14 行目付近の # define Turbo Assembler&Debugger についてのサポートが行われませ FMR_ を #define pc9801 に変更 することて、対応て、きる場合もあり 1 . 5 をご希望の方は , 、、 Turbo PAS ん。 ます。 CAL 5.5 professional" をお申し ューザ登録カードを紛失された してください ) 。 プログラムの実行途中て、このメ たびたびお手数をおかけし申し 込みください 方は , マスターディスク ( シリアル ッセージが表示され終了してしま 訳ありませんが , 今月の本誌付録 ナンバーの書いてあるもの ) と再発 う場合は , プログラム中て、レジス ディスクにて再度差分ファイル ( ラ 行手数料 ( 600 円分の切手 ) を同封 イプラリのみ ) を提供させていただ タが不正な値に書き換えられたり , の上 , 弊社まて、ご送付ください 再発行の手続きをとらせていただ メモリが不正に書き換えられてい きますのて、よろしくお願いいたし MSA カスタマーサポートセンタ る可能性があります。とくに , ポ ます ( 詳細は TCUPC. DOC を参照 きます。 ーて、は , ューザ登録された方に登 してください ) 。 録確認の葉書をお送りしておりま なお , 現在出荷中のライプラリ [ 表 1 ] 浮動小数演算工ラーメッセージー覧 す。確認の葉書は , ューザ登録が ( 89 / 11 / 30 付 ) は , すて、に修正され Floating point e 「「 0 「 : 行われてから 2 週間ほどて、お送りし Domaln . ております。 2.0c を購入されて旧 ております。ューザ登録をしたは Floating point e 「「 0 「 : Denormal. ライプラリをご使用の方 ( ューザ登 ずなのに葉書が届いていないとい 録済の方 ) , メンテナンスディスク Floating point e 「「 0 「 Divide by 0. う方はサポートセンターまて、ご連 をお申し込みいただいた方には , Floating point e 「「 0 「 . Overflow. 絡ください。バーションアップな 修正されたディスクをお送りさせ Floating point er 「 0 「 : UnderflOW. どて、ユーザ登録が集中する場合は , ていただきました。 2.0c をおもち Floating point e 「「 0 「 : PartiallOSS Of precision. かなり時間がかかる場合がありま の方て、 , ライプラリ ( Cx. LIB ) の日 すのて、あらかじめご了承ください。 付が 89 / 11 / 07 以前て、あるにもかか 136 CMAGAZINE 19 2 バグレポート Q@A 一三ロ ユー録について

9. 月刊 C MAGAZINE 1990年2月号

ンジしてみるとおもしろいと思います。 また , 入出力のサイズをどのくらいにす ると , 高速にアクセスて、きるかを実験して みるのもおもしろいと思います。て、きれば , ードディスクて、はなく , フロッヒ。ーディ スクベースて、計測してください また , 高速て、アクセスする単位が , ハー ドディスクとフロッビーディスクて、は , ど のように違うのかも興味のあるところて、し 実験結果から , OS のディスクアクセスの 仕組みを推測て、きるて、しよう。 ・データファイルを削除する際に より慎 重を期す まずオ ファイル名をリネームする際に リジナルをテンボラリファイル名に変更し ておきます。次にワークファイルが正しく データファイル名に変更て、きたことを確認 してから , テンボラリファイル ( 元のデータ ファイル ) を消去します。 もし , ワークファイルのリネームが不成 功に終わった場合 , ワークファイルを消去 してテンボラリファイルをデータファイル に戻します。 もちろんこの場合には , 処理はエラーと なり , レコード数は更新しません。 まとめ これて、 , 削除レコードの扱いは終わりま した。前回と合わせて , 簡易データベース のデータの表示 , 追加 , 削除 , 復活 , 圧縮 を作成しました。 ほばデータベースのデー タの外枠を扱うための基本的な枠組みはて、 きあがっています。 いろいろ付加機能をつけて , 自分の好み に合ったスタイルにしあげると , かなりお もしろいものがて、きるはずて、す。 List 6 if(checkrec(datfiIe,recno,2) ! ニ ' N ・ ) printf(" レコード復活工ラ—Yn"); e 1 S e 0 11 0 乙っ 0 -4 0 CD 7 ・ りなワ 0 り 0 つなつなっ 0 っ 0 っ 0 fclose(datfile) : return : Fig. 5 recall 「 ec フローチャート recall rec データファイルオープン (datopen 関数 ) 復活するレコード番号を指定 (gets 関数 ) レコード数チェック 工ラー ジ セ ッ メ ラ示 工表 削除マーク解除 (checkrec 関数 ) テータファイルクローズ (fclose 関数 ) 復帰 pack_rec 関数 1 : pack_rec 3 : pack-rec ()O id) 4 : VOid long int recnol,recn02; / * 1 = データファイル 2 = ワークファイル * / 6 : stat, i, readln; i nt 7 : strC20] : 8 : char *datfile,*tmpfile; 9 : F I LE fname [ 20 ] ; 10 : Char tmpfi le=tmpopen("w") : if(tmpfi le! =NU し L) 14 : datfi le=datopen ("rt") : if(datfiIe!=NUL し ) recn02=0; for(recnol=l : recnol く =mng. reccnt;recnol 十十 ) List 7 114 CMAGAZINE 19 2

10. 月刊 C MAGAZINE 1990年2月号

ハンドラの作成・実行を中心に説明を行う。 割り込みの概念はかなり古くからあるのて、 , 操作が洗練されている。とくに C 言語から行 う場合は , そう感じるて、あろう。平たくい えば , 発生手順やプログラミングの方法は , もうすて、に固定的な方法て対応て、きるのて、 ある。 Fig. 1 を参照してもらうとわかるよう に , ①から③の動きはどの割り込みも同じ て、あるが , ROM 内のコードはどのようにも 変えられる。このことがシステムのノヾージ ョンアップに貢献しているのて、ある。割り 込みの概念は一般的なものて、あり , ほとん どのコンヒ。ュータて、は , 処理の詳細につい ては多少異なっているとしても , その基本 的な方法をサポートしている。 256 個の割り 込みべクタは , MS-DOS が使用しているも のからユーザが使うことのて、きるユーザ割 り込みまて、多種多様にある。その詳細に関 しては , Fig. 2 を参照していただきたい 0 この割り込みべクタについては , 次の List1 A0000 ② 未実装 RAM MS ーロ OS プログラミンク、 . 入 P 日 ある。もちろん 16 進数て、指定することもて、 るべクタ番号は , 10 進数て、指定する必要が 示するようになっている。ただし , 指定す 示する。またべクタ番号の指定だけて、も表 ないときは , すべてのべクタアドレスを表 する。このプログラムは , 引数を何も指定し もて、きる。実際の DOS コールは , 35H て、実行 のプログラムに示す intdosx 関数て、得ること このプログラムて、はそこまて、やっ 0 ていない きるが , Fig. 1 割り込みの概要図 物理アドレス ( 16 進数 ) FFFFF ROM 引 OS 96K バイト ( VRAM 空き 768 バイト ) E8000 E7D00 AFDOO B0000 B7D00 B 8000 BFDOO C0000 C8000 E0000 グラフィック VRAM ( 青画面 ) ( VRAM 空き 768 バイト ) 32K バイト グラフィック VRAM ( 赤画面 ) ( VRAM 空き 768 バイト ) 32K バイト グラフィック VRAM ( 録画面 ) ( VRAM 空き 768 バイト ) 32K バイト ューザ用 ROM 96k バイト 未使用領域 32K バイト グラフィック VRAM ( 灰画面 ) A0000 8K バイト テキスト VRAM A2000 A3 F F8 A4000 A8000 約 8K バイト テキスト VRAM アトリヒュート ( メモリスイッチ 8 バイト ) 1 K バイト 未使用領域 32K バイト ( VRAM 空き 763 バイト ) グラフィック VRAM ( 灰画面 ) ( 裏画面 ) ( VRAM 空き 763 バイト ) グラフィック VRAM ( 録画面 ) ( 裏画面 ) ( VRAM 空き 763 バイト ) グラフィック VRAM ( 赤画面 ) ( 裏画面 ) Ⅳ RAM 空き 763 バイト ) グラフィック VRAM ( 青画面 ) ( 裏画面 ) I/O ポートのアクセスで裏表切り替え 98 固有 COMMAND.COM 非常駐部 初期設定 1 60 バイト 環境工リア 外部コマンドはここにロードされる 外部コマンド用空き領域 RAM ディスクウインドウ 128K バイト ・一一・一 - 立 80000 ユーサ領域 IM バイト 640K バイト ( 655360 バイト ) ① COMMAND. COM 常駐部 BUFFERS ティスクバッフア領域 増設内部 FCB テパイスドライバ ( プリンタ , RC -232C , グラフィックスシステム領域 日 AM ティスク , 日本語 FEP など ) 0 ~ 100K バイト以上 ティスクバッフア領域 MSDON . SYS 9. SYN (SYSNIT 部約 25K バイトを除く ) K バイト程 一般に 200 いほど多い ) のバージョンが高 以上 (MS-DOS 70 ~ 90K バイト 00000 00400 00600 1 K バイト 割り込みべクタテープル システムワークエリア ①割り込みがかけられると , 「割り込みペクタテープル」へとんでいく ③システムハンドラが終了すると , 旧 ET で戻り割り込みを発注させた次の命令へすすむ ②「割り込みべクタテープル」の中に記述されているアドレス , つまり ROM 引 os へ移動しその内容を実行する C プログラマのための MS ー DOS プログラミング入門 87