SSブログ

HDD拡張フォーマット訂正ビートルズとApple訴訟他(月刊ASCII 1989年4月号7) [月刊アスキー廃棄(スクラップ)]

1989年2月号の記事に誤りがあったことに対する訂正記事が「TBNの相談室」https://cooecc2.blog.ss-blog.jp/2022-11-11にあった。元記事をここに載せる。
 MS-DOSのVer.3.1からは、FATエントリのビット数を16ビットに増やしてFATで管理できるクラスタの最大数を216-11=16373に増やし、より大容量のハードディスクに対応できるようになりました.この16ビットFATエントリを使ったフォーマットを「拡張フォーマット」と呼んでいます.
 拡張フォーマットーを使えば,40Mバイトのハードディスクも1つのディスクとして扱うことができます.さらにPC-9801のMS-DOS,Ver.3.3からは、SCSIインターフェイスを通して接続するハードディスクならば130Mバイトまでのハードディスクを扱うことができるようになっています.


訂正記事がこれ
ごめんなさい!
E:2月号の本コーナー「HDDの拡張フォーマット」で,「拡張フォーマットとは16ビットFATのことである」とお答えしましたが,これは間違いであると読者の皆さんからの御指摘をいただきました.当方の勉強不足から,このようなミスが発生してしまったことを深<お詫びいたします。
 記事中間違っていた点を,以下のように訂正させていただきます。
(1) 拡張フォーマットとは16ビットFATを使ったクラスタの管理の方法ではなく,ハードディスクを論理的にいくつかの領域(パーティション)に分け,それぞれの領域をあたかも独立した1台ずつのドライブであるかのように管理する方法である.
(2) PC-9801用のMS-DOSVer.3.1では,16ビットFATを使ったクラスタの管理はできない.
(3) PC-9801用のMS-DOSVer.3.3では,SCSIインターフェイスタイプのドライブだけが16ビットFATをサポートしている.
 それではあらためて拡張フォーマットと16ビットFATについて,簡単ですが解説したいと思います。
 まず,MS-DOSVer.3.1から使えるようになった16ビットFATですが,FATエントリを12ビットから16ビットに増やすことの効用は,2月号の記事の通りです.管理することのできるクラスタの数を増やすことで一つのクラスタの大きさを小さくして,ディスクの利用効率をよくします。
 ただし,PC-9801用に市販されているMS-DOSVer.3.1では,16ビットFATを使うことができません.これは,MS-DOSの中でディスク装置を直接コントロールして入出力を行うルーチン(デバイスドライバ)が,16ビットFATをサポートしていないからです.
 MS-DOSの本体である"msdos.sys"は機種によらず共通です.したがってデバイスドライバを書き換えてやれば,PC-9801でも16ビットFATを使うことができるようになります。実際に別のデバイスドライバを用意して,ハードディスクで16ビットFATを使えるようにするソフトもあります。
 一方PC-9801用のMS-DOSVer.3.3は,SCSIインターフェイスタイプのハードディスクに限って16ビットFATが標準で使えるようになっています.
 さて拡張フォーマットですが,これはFATのビット数とは直接関係ありません.しかし,クラスタの大きさを小さくして,ディスクの使用効率を上げるという発想は同じです.拡張フォーマットの場合は,1台のハードディスクドライブをいくつかの「論理ドライブ」に分割します.さらに,クラスタサイズも標準フォーマットでは8Kバイトで固定なのに対し,拡張フォーマットでは(論理)ドライブの総容量に応じてクラスタサイズが適宜変わるようになっています。このため,見かけ上のドライブの容量を小さくすることで,クラスタの総数を変えずにクラスタサイズを小さくすることができ,ドライブ全体としてディスクの利用効率が上がるわけです。
 論理ドライブは,ソフトウェアの側からは普通のドライブと同じくそれぞれのドライブ名(A,Bなど)で管理されます.つまり,実際は1台しかないハードディスクが何台もあるかのように見えるのです.FATエリアは各「論理ドライブ」にそれぞれ専用のものを持っています.したがって,各FATは一つの論理ドライブの範囲だけを管理するので,FATエントリのビット数が少なくてもよいのです.
 もちろん,拡張フォーマットで40Mバイトのドライブ全体を1台のドライブとして扱うことはできますが,その場合はやはりディスクの利用効率は悪くなります.せっかくの大容量ディスクをいくつもの小さなドライブに分けてしまうのはもったいない話ですが,現状の(16ビットFATを使えない)PC-9801でディスクの利用効率を少しでも上げるための一つの方法なのです.
 それでは,どのようにして一つのドライブ、を複数の論理ドライブに分けているのでしょ うか.
 2月号の本記事でも解説した通り,ソフトウェア(MS-DOS)ではディスクの領域をクラスタ単位で管理していますが,ハードウエアでは「セクタ」という最小単位で管理しています。各セクタには,RAMなどのメモリと同様にアドレス(トラック・サーフェイス・セクタの各番号に分けて考える場合もあります)がつけられています。
 あるクラスタにアクセスする場合,ディスク装置をコントロールするデバイスドライバは、そのクラスタ番号から(論理的な)セクタアドレスを算出し,ディスクドライブ(正確にはインターフェイス)にそのアドレスを知らせます.
 アドレスを受け取ったドライブは,標準フオーマットの場合にはそのままアドレスのセクタにアクセスしますが,拡張フォーマットされている場合にはそのセクタアドレスに論理ドライブの番号に応じた値を加算して,その結果の(物理的な)アドレスにアクセスすることになります.つまり,図2のように,セクタのアドレス空間を分割し、アクセスする場合に各区画の先頭アドレスを加えることで,実際のアドレスを得ているわけです.これは,8086CPUなどの“セグメント”に似た考え方です。
 ハードディスクやインターフェイスの製品によっては,このようなセクタアドレスを変換する機能を備えていないものもあります。その場合は,拡張フォーマットを使うことはできません.
 PC-9801以外の機種のMS-DOSでは「標準」「拡張」の区別はなく,PC-9801で言う拡張フォーマットと同様な方法を使っているものが多いようです.ちなみに,PC-9801用(PC-286も含む)以外のMS-DOSVer.3.1は、最初から16ビットFATを使えるようになっているものがほとんどです.
(竹田)


ASCII1989(04)g04ごめんHDDフォーマット図2_W520.jpg
拡張フォーマットについてはHDDを分割して使うということしか覚えていなかったし、分割するのがデフォルトだと思っていた。

編集室からの記事に面白いものがあった。
先日聞いた話では,ビートルズ関係の印税管理会社である英国アップル・コープスが,米国のアップルコンピュータ社に対して訴訟を起こしたという。それによると,両社の間では'81年に「米国アップル・コンピュータは『アップル』という商標とマークを楽器には使わない」という著作権契約が結ばれていたが,Macintoshなどはシンセサイザ機能を持っており,音楽用の鍵盤に接続する装置も売っている.英アップル・コープスでは,これは明らかに楽器だと主張しているそうだ。米国アップル社の英国子会社では,「契約違反とは思っていない」とコメントしており結論は今後の動向を待つしかない。とはいえ、「かじられたりんご」のマークが日本のパソコンに付けられていたら,このような訴訟はまだ起きていなかったのではないだろうか.
かじられたリンゴ。Apple社のパクリ。Apple社はよくもまあ、ここまできたものだ。リンゴのパクリを知っている人はほとんどいないだろう。

メインフレームの語源は?
Q:メインフレーム・コンピュータとは,どのようなコンピュータを指すのでしょうか.
A:私達が普段メインフレームあるいはメインフレーム・コンピュータと言う場合は,大型の汎用コンピュータシステムを思い浮かべることが多いようです.また,メインフレーマと言う場合は,大型の汎用コンピュータを作るメーカーを指します。どうやら,ミニコンやワークステーションと大型の汎用コンピユータを区別するために,メインフレームという呼び名が一般に使われているようです。しかしメインフレーム(mainframe)という言葉の本来の意味は“CPU”とほぼ同じで,特に大型のコンピュータを指しているわけではないようです.
 ENCYCLOPEDIA OF COMPUTER SCIENCE AND ENGINEERING(VAN NOSTRAND REINHOLD刊)をひもとくと,メインフレームとは中央処理装置と主記憶装置を収めるキャビネットのことと解説されています。マイクロコンピュータが発明される以前のコンピュータはすべて,CPUもレジスタ部,実行部などというようにいくつかの部品で構成されていました.これらの部品を納めるキャビネットがメインフレームというわけです。
 ですから,一つのICのなかにレジスタや実行部などを収めたマイクロコンピュータが発明されると、当然のことながら事情が異なってきます。マイクロコンピュータならば,CPUと主記憶装置を収めるのにキャビネットと言われるほど大きな入れ物は必要ありませんから.こうしたわけでメインフレームという言葉がCPUを指すものではなくなり,そうしたキャビネットを持ったコンピュータ→大型の汎用コンピュータを意味する習慣となっていったと考えられます。
 ちなみにJISではメインフレームとCPUは同義のものとし,紛らわしいのでメインフレームという言葉は使わない方が望ましいとされています。(樋田)


ASCII1989(04)g01メインフレーム写真_W520.jpg
メインフレームとCPUは道義のものとは知らなかった。33年前いかに読み込みが浅かったということがわかる。

クロックの切り換えは
Q:パソコンの中には,CPUのクロックを切り換えるスイッチがついているものがあります。一つのCPUなのにどうしてクロックの切り換えができるのでしょうか.
A:デジタルコンピュータの基本的な動作は,
(1) 一つの命令をメモリから読み込む
(2) それを解釈・実行する
(3) 次の命令を読み込む
というように,一つ一つ順序だてて行われています。また一つの命令を読み込むときも,読み込む命令の場所(アドレス)をメモリに知らせ,メモリが応答するのを待ち,メモリから送られてきたデータ(命令コード)を読み込む,といったように、やはりいくつかの段階(ステップ)を踏んでいます.この一つ一つのステップを混乱なく進ませるための基準となっているのが,コンピュータ内部で使われているクロック信号です.
 クロック信号は,その名(clock:時計)の通り決まった周波数で正確に振動(ON/OFFの繰り返し)する電気信号で,クオーツ時計などと同様の水晶発振回路を使って発生させています.CPUやその周辺のLSIは,このクロック信号のON/OFFを見ながら信号を送ったり受け取ったりするタイミングを合わせています.CPUのハードウェアマニユアルなどに載っている,「タイミングチャート」(図1)は,CPUとメモリなどの周辺ICが,クロックを基準としてどのように動作しているかを表しているものです.クロック信号がなかったり不正確だったりすると,CPUは受け取るべき信号がないのに信号を読みに行ってしまったり、信号を送るタイミングが早かったり遅かったりして正確な処理を行うことができなくなります。
 同じ構成のCPUならば,クロック信号の周波数が高いほど実行速度が上がります.ところがCPUもその内部は微細な電気回路の集まりであり,その動作には微小ながらも時間がかかります。ですから,無制限に周波数を上げても,各回路の動作がついて行けなくなってしまいます。そこで各CPUには,設計段階で決められたクロック周波数の限界があります。普通「4MHzのZ80」とか「8MHzの68000」などという場合,このクロック周波数の上限を指しています。上があれば当然下もあるわけで,たいていのCPUにはこれ以下では動作しないという下限のクロック周波数もあります.たとえば,8MHzの80286では,2MHz以下(実際にCPUに入力するクロックの周波数は,システムクロックの倍なので4MHz)のクロックでは動作しないことになっています。
 原理的には,クロック周波数が上限と下限の間にあればそのCPUを動作させることができます。実際にはメモリや周辺LSIとの関係で,動作可能なクロック周波数の範囲はもう少し狭くなります。当然,動作速度は速いほうが有利なので,パソコンを設計するときには,CPUの上限にできるだけ近くなるよに最適のクロック周波数を設定しています。パソコンのカタログに載っている「クロック周波数」は,このようにして決められたシステム中のクロックの周波数なのです.同じ形式のCPUでも,VLSIの製造技術の進歩に伴って,より高いクロック周波数で動作する製品が次々に登場しています.したがって,そのようなCPUを使ったパソコンも当然バージョンアップされてくるわけです.実際,最近のパソコンの新製品には,「クロック××MHz」をうたい文句に旧機種より高いクロック周波数のCPUを搭載しているものをよく見かけます.そして,それらの多くには「クロック切り換えスイッチ」がついていて,CPUクロックを何段階かに切り換えて使用できるようになっています。
 クロック周波数を切り換えることのできるパソコンでは,クロック信号を発生させる水晶発振子やその周辺の回路をいくつか用意し,システムを起動するときなどにそれらを切り換えています。なかには,システムが稼働している最中にも随時切り換えることができる製品もあります。
 では,同じCPUならば実行速度が速いほうがよいのにもかかわらず,わざわざクロック切り換えのスイッチがついているのはなぜでしょう.
 結論から言えば,これはクロック周波数が低い旧機種との互換性をとるために用意されているのです.拡張ボードなど一部のハードウェアには,CPUのクロックが変わると動作しないものがあります.また,単純なループやnop命令などでI/Oのタイミングをとっているソフトウェアは,CPUの動作速度が変わると正常に動作しなくなる場合があります.このようなハードウェアやソフトウェアを使用する場合には,クロック周波数を低いほうに切り換えて使用しなければいけません.また,少々本筋からはそれますが,パソコンゲーム(特にアクションゲーム)などでは,クロックを切り換えて難易度を変えるといった使い方もあるようです.
(竹田)


ASCII1989(04)g02クロック切換図1_W520.jpg
16bit機がゲーム機のような使われ方をしていたのでクロックを下げて遅くする機能は必須だった。

nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。