SSブログ

用語集(月刊ASCII 1992年5月号8) [月刊アスキー廃棄(スクラップ)]

特集の「これで分かった PC-9801&MS-DOS」をスクラップする。
今回は「用語集」から残りをスクラップする。

2 16進数
 われわれが普段使う10進数では,数字の末尾に0を付け加えると10倍になる.これが16倍になるような数え方が16進数だ.コンピュータの世界では,16進数が標準的な数字の数え方になっている.
 16進数の10Hは,1H(これは10進数でも1)の16倍だから,10進数で言うと16になる。同様に100Hは,10H(=16)の16倍だから,10進数で言うと256になる.

 8bit機から使っていた者にとってはなじみの深い16進数だが、PC-9801が最初のパソコンだった人達にとっては16進数なんて使ったことがなかったのかもしれない。

4 UMB
 拡張ROM領域は通常,EMSで使うところとHDDのROMを除けば,まだ未使用のままになっている.ところが,386の機能を使うと,プロテクトメモリの一部分を未使用の領域に割り当てることができるのである。つまり,MS-DOSでアクセス可能な1Mbytesの空間内にRAMができることになる.これがUMBである(図3).
 ただ,メモリマップを見るとメインメモリとUMBの間にはテキストVRAMとグラフィックVRAMが存在しているため、この領域のことを特別に意識してプログラムしない限りせっかくのRAMも使われないままだ。ちなみに,現状ではそのようにプログラムされているソフトはほとんどない。
 そこで,ソフトを強制的にここに乗せあるプログラム(UMBローダという)が登場した。これを使って,従来メインメモリ上に居座っていたデバイスドライバや常駐プログラムをUMBに乗せるようにすれば,その分メインメモリは広くなるという寸法だ(図4)
 従来からMEMORY-PRO386など各社からUMBを利用できるソフトが発売されてきたが,DOS 5からはDOSそのものが正式にUMBをサポートするようになった.その結果,プログラム名の前に「LH」を付けるとプログラムが,またDEVICE文の代わりに「DEVICEHIGH」文を使うようにするとデバイスドライバがUMB上にロードされる.

日本電気のDOS5の場合
 できるだけ大きなプログラムをUMBに常駐させたい場合,UMBは連続した領域を確保できるほうがありがたい。しかし,メモリマップで見たように拡張ROM領域はハードディスクのBIOSなどで分断されている。
 MEMORY-PRO386やMELWAREなどのメモリマネージャではハードディスクのROMをA5000Hからの未使用領域に退避させることで,D0000~DFFFFHの64KbytesをすべてUMBと使えるようにしているが,実は日本電気のDOSに付属するEMM386.EXEにも同じ機能がある.EMSの領域をD0000~DFFFFHに強制的に割り当てると同じことをしてくれるのである。この機能は非常に有効であるが,日本電気が正式に公開しているものではないのでHDDによっては使えないものがあるかもしれない。具体的には次のようにする(画面2).
DEVICE=HIMEM.SYS
DOS=HIGH,UMB
DEVICE=EMM386.EXE /UMB /F=D
000-DFFF /P=300


ASCII1992(05)c23メモリ図3_W520.jpg
ASCII1992(05)c23メモリ図4_W520.jpg
ASCII1992(05)c24メモリ画面2_W853.jpg
 こんな面倒な目に会うのは8086がダメCPUだと思っていた。こんなCPUがパソコン界を支配することになったのはメーカーとユーザの両方だと思い嫌っていた。だが、世間と軋轢を生じさせないためにも億尾にも出さなかったけれどもPC-9801を好きだというユーザを……。

6 メモリマネージャ(EMSドライバ,XMSドライバ)
 EMSやXMSなどの手順でメモリを利用しようとするプログラムに対して,実際にメモリを割り振るプログラムのことをメモリマネージャという.386以上のマシンではプロテクトメモリさえあれば,メモリマネージャだけでEMSメモリやXMSメモリを提供することができる.UMBの項で,プロテクトメモリの一部を1Mbytes空間内に割り当てると書いたがEMSも同じ方法で実現することができるからだ.
 メモリマネージャは数社から発売されているが,注意したいポイントは「EMSとXMSを完全にサポートしているか」,である.EMSがなければ一太郎のようなEMS対応ソフトをはじめ,DOS環境の改善は大きく立ち後れる.一方XMSがないと,Windows3.0を快適に動作させることができない.
 現時点でこの条件を満たすのは,(1)DOS 5に含まれる「HIMEM.SYS」と「EMM386.EXE」の組み合わせ,および(2)MELWAREVer.5に含まれる「MELEMM.386」だけである。この両者にも違いがある.(1)の方法では,プロテクトメモリのうちEMSとして使う部分とXMSで使う部分の大きさを,あらかじめ決めておく必要がある。2では,要求されただけをEMSなりXMSなりにしてプログラムに渡す.
 どちらが便利かといえば,もちろん(2)だ.たとえば,一太郎Ver.4を使うときにはできるだけたくさんのEMSメモリがほしい.Windows 3.0を使うなら,EMSはなくてもいいがXMSはできるだけ多くほしい。(2)ならどちらに対してもあるだけのメモリを提供できるが,(1)では容量配分を変えるために一度リセットする必要があるからだ(画面4).


ASCII1992(05)c24メモリ画面4_W851.jpg

8 VRAMディスク
 RAMディスクはその名のとおり,RAMでできたディスクドライブである。「RAMディスクドライバ」というソフトを使うと,EMSやXMSのメモリをディスクのように見せかけることができる.しかも、実体はメモリなので非常に高速なアクセスが可能である.ただ,メモリであるから電源を切ればRAMディスク上のファイルはすべて失われる.必要なファイルは電源を切る前にHDDやFDDにコピーする必要がある.
 RAMディスクドライバはMS-DOS Ver.5にも付いてくる。容量1MbytesのRAMディスクを作るには,CONFIG.SYSの中に,
DEVICE=RAMDISK.SYS 1024
という行を追加すればよい。もしその時と,点でA~CのドライブがあったとするとRAMディスクはDドライブとして登場する.
 AUTOEXEC.BATに次の1行を加えてみよう(RAMディスクがEドライブの場合。違う場合は適宜書き直す)。
SET TMP=E:\
 環境変数TMPにRAMディスクを指定すると,多くのソフトが作業用のファイルをRAMディスク上に作成するようになる.VZエディターやLHAなどで,動作速度の改善効果がある.
 ただし,RAMディスクを作ると,当然のことながらプロテクトメモリの容量は減る(ということは,作れるEMSメモリも減る).一太郎やWindows 3.0を使う人は,RAMディスクは作るにしても必要最小限にとどめたほうがいい.



9 ディスクキャッシュ
 ディスクキャッシュは,ディスクのアクセスを高速化するプログラムだ。具体的には,一度読み込んだデータを拡張メモリの「キャッシュ領域」に貯えておき,再び同じところを読もうとするときは,ディスクは読まずにキャッシュ領域から読む,という方法を使う。これにより同じ場所を読む場合,2度目以降の読み込みはRAMディスクと同等の速度になる.キャッシュ領域もメモリでできているから,電源を切れば内容は消えてしまうが,RAMディスクと違いディスクへの書き込みは普通に行なわれるから,ファイルを事前に保存したりする必要はない.FEPの辞書をRAMディスクに置くか、ディスクキャッシュで使うかは,好みの問題だろう.
 DOS 5には,SMARTDRV.SYSというディスクキャッシュプログラムが付いている.2Mbytesのキャッシュ領域を確保するには,CONFIG.SYSに次の1文を追加する.
DEVICE=SMARTDRV.SYS 2048 128
 “2048”がキャッシュ領域の大きさで,その次の“128"は「最小キャッシュサイズ」というものだ。最小キャッシュサイズを指定しておくと,Windows 3.0を利用中にメモリが不足した場合,キャッシュ領域を徐々に最小キャッシュ領域まで減らしてくれる.Windows利用時はできるだけメモリがたくさんあったほうがいいから,メモリに余裕がなければ0にしてもかまわないだろう.

  DOSやWin3時代はディスクキャッシュ一つとってもユーザが指定しなければならず、それもconfig.sysを書き換えるという初心者には難易度が高いものだった。

10 ハイレゾマシンのメモリ環境
 Windowsの普及によりハイレゾマシンが脚光を浴びてきた.1120×750ドットの表示を見てしまうと、なかなか640×400ドットの世界には戻れないものだ。
 メインメモリも、ノーマルモードの640Kbytesに対して,ハイレゾモードでは768Kbytesと,128Kbytesも広い。図5にハイレゾマシンのメモリマップを示す。プログラムが使うことのできる空間は本来00000~C0000Hまでの768Kbytesだが,EMSを使うときはこのうちB0000~C0000Hの64KbytesをEMS用に使用するので,メインメモリは704Kbytesとなる.もっともそれでもノーマルモードやIBM PCよりはずっと多いメインメモリを利用できるわけである.
 拡張ROM領域はE5000~F0000Hの44Kbytesしかなく、ノーマルモードに比べるとUMBの領域は小さい。ただし,SASI HDDのためのROMはBIOS-ROMの中に最初から入っているので,SASIドライブだけしか使わないのならこの44Kbytes全部をUMBに使うことができる.SCSIのHDDを接続するとなると,拡張ROM領域は減ることになる.UMBその他のメモリの使い方については,ノーマルモードとほぼ同じである(画面6).


ASCII1992(05)c25メモリ図5_W520.jpg
ASCII1992(05)c25メモリ画面6_W520.jpg
「1120×750ドットの表示を見てしまうと、なかなか640×400ドットの世界には戻れないものだ」繰り返し書いているが、まさにその通りだ。

11 周辺機器の接続トラブル
 周辺機器の接続に関するトラブルの原因には、(1)I/Oアドレスが重なっている,(2)INT番号が重なっている,(3)DMAチャネルが重なっている,(4)ROMアドレスが重なっているの4つの可能性を順に吟味しなければならない。ただ,このうち(2)(3)(4)は,周辺機器によって利用されたりされなかったりする.利用されていないのなら,原因から除外してよい。こうしたトラブルは周辺機器どうしが喧嘩する場合のほか,98本体と周辺機器が喧嘩する場合もある。ノートパソコンでは,RAMドライブやレジュームという特殊機能が,普通の98では使わないINTやROMアドレスを要求している.ノートパソコンに拡張機器を接続することはあまりないかもしれないが,接続する場合には十分に注意する必要がある.
  周辺機器の接続の際十分注意するというのは言うは易く行うは難しの典型的な事例だった。すんなり終わったためしがなかった。少なからずトラブルを経験した。

17 コネクタ/ケーブル
 複数のSCSI機器を接続する場合,意外と見落とされがちなのがコネクタの形状だ。SCSI機器でもコネクタはメーカーによってばらつきがあり、細かく分けると8種類ほどもある.
 98用に関していえば,インターフェイスボード,SCSI機器ともに「ハーフピッチ50ピン」と呼ばれるタイプのものが主流になっているので,増設する際もこれと同じコネクタ形状のものなら,本体に付属する可能性もあるし、そうでなくても比較的容易に入手できるだろう.しかしそれ以外の形のものは,なかなかショップでも購入できない場合が多い。
 これに次いでポピュラーなのが,SASIのコネクタと同じアンフェノール50ピンの端子.Macintosh用のHDDなどに見られる.このほか,メーカー独自の形状の場合もある。知人から買う,輸入するなどという場合は,できれば事前にコネクタの手配をすませたい.
 SCSI機器を使う場合は,SCSIバスの両側の末端に「ターミネータ」と呼ばれるものを付けるべきである.通常SCSIインターフェイスボードにはターミネータが内蔵されているので,SCSIボードから一番遠いSCSI機器にもうひとつのターミネータを付けることになる.ターミネータは,SCSIのバスの両端まで正確に信号が伝わるようにするための働きを持つものなので,これがないと,機器が正常に動作しなかったり,動作しても電気的な負担をかけている場合がある.

 HDDを何台も買い足しするとターミネータが余った。記憶ではケーブルも余ったような気がする。

18 CONFIG.SYSの切り替え
 日頃使い慣れた日本語入力FEPをアプリケーションごとに切り替えたり,MEMORY-PRO386のように,Windowsに対応していないデバイスドライバを使用しているユーザーにとって,CONFIG.SYSの切り替えは思った以上に手間なものである.
 CONFIG.SYSによるデバイスドライバの使い分けで,もっとも原始的,かつ確実な方法は,あらかじめ用意した2つのファイルをバッチファイルでリネームし,ソフト的にリセットさせるというものだ(図1).
 このバッチファイルで,ファイルのリネーム後に起動されるHSB(作者:Masao氏)というプログラムは,ハードディスクの高速リブート用フリーソフトウェアで,起動後,一瞬にしてPC-9801のリセット,再起動を行なうものである.CONFIG.SYSの書き換えといった作業には,まさに持ってこいのプログラムといえるだろう.
 また,こうした面倒な書き換え,リブートの手間を省くためのプログラムとして,やはりフリーソフトウェアのCINIT.SYS(作者:Falcon氏)というデバイスドライバが発表されている.
 このドライバは,CONFIG.SYSの先頭に記述されることにより,システムの起動時に9つまでのデバイスドライバの選択ができるというものであり,アプリケーションごとのデバイスドライバの使い分けに頭を悩ませているユーザーには,まさに福音ともいえる操作環境を提供してくれる.
 起動時のドライバ選択はファンクションキーで行なえるようになっており(画面1)DEVICE文の書式にちょっとした手を加えることで,常に組み込むべきドライバも指定しておけるのがうれしい。バッチファイルによるCONFIG.SYSの書き換えなんて面倒だ,というユーザーには、とにかくこちらのCINIT.SYSを使うことをお勧めしよう.


ASCII1992(05)c30ハード図1_W416.jpg
ASCII1992(05)c30ハード画面1_W520.jpg
 CINIT.SYSは使ったことがなかった。面倒でも手作業でRENAMEしてconfig.sysを切り替えていた。

19 SETVER
 鳴り物入りで登場のMS-DOS Ver.5.0.しかし,MS-DOS上で動作するソフトウェアの中には,DOSのバージョンチェックを行なっているものが多く、従来のVer.3.Xでは動作していたプログラムもDOS 5では動かないという現象に見舞われることが少なくない.
 そこで,DOS5に対応していないソフトウェアのために,ダミー用のバージョンナンバーを与える外部コマンドがSETVER.EXEだ.
 SETVERを使うには,まず,デバイスドライバとしての登録をCONFIG.SYSの中で行なう必要がある.
 そのうえで,ダミーのバージョンナンバーを与えたいプログラムの指定を行なうわけだが、ここで注意しなくてはならないのは,たとえばFDのように起動時に2つ以上のプログラムが動作するものの場合,すべてのプログラムに対して指定を行なわなくてはならないという点だ.
 以上の作業を行なった後に,一旦システムをリセットさせて初めて,SETVERに登録されたダミー情報が有効となる.
 ただし,このSETVERコマンドもすべてのプログラムに対して万能とはいかないようで,ごくまれにダミーのバージョンナンバーを認識してくれないソフトウェアも存在する.こうなると,パソコン通信などでパッチ情報を入手するか,またはソフトウェア自体のバージョンアップという形でDOS 5に対応したものを手に入れなくてはならない.

  SETVERなんと姑息な手段だったのか。当時のパソコンは継ぎはぎだらけのマシンだった。

20 削ってもいい外部コマンドとデバイスドライバ
 MS-DOSに標準で用意されている外部コマンドには,ずいぶんムダなものが多い。ハードディスクへのインストール作業は,MS-DOSのインストール用プログラムで簡単に行なえるようになったものの,あとからディスクの中を覗いてみると,中には一生使うことのないコマンドがうじゃうじゃ潜んでいることがよく分かる.
 そんなジャマ者のために,貴重なディスクスペースを占領されたのではたまらない。不要な外部コマンドは,即刻削除といきたいものだ.
 DOS 5の例で見てみよう.図2に示した外部コマンド,およびデバイスドライバのSYSファイルは,どれもごく普通のユーザーには必要のないものばかりだ図を眺めて納得したならば,さっそく削除にとりかかってほしい.
 さらに,MS-DOSで組み込まれるデバイスドライバにも,通常の使用では不要となるものが少なくない.
 日本語入力FEPにVJE-βやATOK7を使っていれば,NECAI関連のファイルはいらないし,市販の通信ソフトを使うかぎりRSDRV.SYSは必要ない.RAMディスクやEMSメモリをサードパーティ製のドライバで動かす場合にも,RAMDISK.SYSやEMM.SYSは無用の長物だ。
 もしも、自分のCONFIG.SYSに必要のないデバイスドライバが登録されていたならば、それだけでメモリのムダ使いになってしまう.いま一度,内容をチェックしてみよう.
 ハードディスクの中には、常に必要なファイルのみを置き,CONFIG.SYSには必要なデバイスドライバしか書き込んでおかない。これこそが,エレガントなパソコンライフを送るための第一歩なのだ.


ASCII1992(05)c31ハード図2_W520.jpg
 「エレガントなパソコンライフ」とは片腹痛いわ。糞面倒な作業を強いられていた。パソコンを趣味にしている人はマゾだった。「パソコンを趣味にしているというか何をしているのか?」と聞かれ「トラブルシューティングが趣味です」と答えていた。

24 ディレクトリ/FAT
 ハードディスクやフロッピーディスクにデータを保存するとき,関連したファイルごとにディレクトリを切っていると思うが,そのディレクトリごとに,その中のファイルの情報を記録したエリアが設置されている.
 ディレクトリ情報といわれるそのエリアには,ファイル名,拡張子,ファイル属性(可視ファイルか不可視ファイルかなど),時刻,日付,そのファイルの一番頭のデータが記憶されているクラスタ番号が記憶されている.
 MS-DOSは,ファイルの読み出しを行なうときなど,そのディレクトリ情報から該当ファイルが記憶されているクラスタの位置を知る.
 ただ、問題は,ひとつのファイルが連続したクラスタ上に記憶されているとは限らないということだ。ファイルの更新,削除,作成を繰り返すうちに、ひとつのファイルが連続したクラスタを確保できなくなり,ファイルはクラスタ単位に分断されて記憶されるようになる.
 この分断されたデータをひとつのファイルにまとめるためのデータをもっているのがFAT(File Allocation Table)だ。ディレクトリ情報でデータの開始クラスタの位置は知ることができるが,続くクラスタがどこにあるかという情報はFATに格納されている.つまり,FATはディスクの総索引,あるいは住民台帳みたいなものなのだ(図3).
FATは,ディスクの外周に近いトラック上のクラスタに置かれ,また,不慮の事故に備えるために,必ず同じ内容のものが2つディスク上に記録されている.


ASCII1992(05)c32ハード図3_W520.jpg

コラム記事をスクラップする。
不意の暴走に備えるには
 たとえ月に1度程度でも、繰り返し暴走するようなソフトは使わないにこしたことはないが,それが気に入ったソフトである場合は,なかなかきっぱりやめられるものではない.
 最近は「自動保存機能」を持つソフトもあるから,利用できるならぜひ設定しておきたい。個人的にはVJE-Penの自動保存機能には何度かお世話になった。
 そういう機能がない場合には,安田幸弘氏によるフリーソフトウェア「CORE」を使うという最終手段が残されている.PC-9801シリーズでは,STOPキーを押しながらリセットをかけると,メモリ内容を初期化せずに再スタートするようになっている.そこで,プログラムが暴走してしまったら、まずはSTOPキーを押したままリセットをかけ,ハードディスクの起動メニューが現われる(ないし起動する)まで押し続ける.メモリチェックを行なわないのが分かるはずだ.
 DOSが起動したらCOREと入力すれば,COREプログラム以降のメモリ領域をCOREという名前のファイルにしてくれる.編集中の文書がよほど大きなものでなければ,文章そのものは暴走当時メモリ上に置かれているのが普通なので,COREファイルをこまめに眺めれば,編集中の文書やプログラムを復活させられる可能性は決して低くはない(画面A).


ASCII1992(05)c24メモリコラム記事画面A_W729.jpg
 暴走は良く経験した。Win95になってもブルースクリーンを良く見た。原因は無理な拡張メモリ管理だと思う。本当に8086には苦労させられた。金を返せという思いだった。

コラム記事をスクラップする。
256色マシンのメリットは?
 98アーキテクチャで256色の表示が可能なマシンには,(1)PC-98GS,(2)PC-H98にグラフィックRAMを増設,(3)PC-386M/Pを挙げることができる.このうち,(1),(2)は,Windows 3.0を利用すれば,256色の表示を楽しんだり,対応ソフトを使って画像ファイルの作成,編集が可能だ。
 問題は(3)である.この2機種が備えている256色モードは,今のところ自分でプログラムする以外に利用方法がない.発売元エプソンのWindows 3.0Aでも,この2機種の256色モードへの対応は見送られた.
 ただし,フリーソフトウェアにはこれらを使ったものも少なくない.NIFTY-ServeのFGALAVには,すでにJPEG,MAG,TIFF,PIC,Q0など,主要な画像ファイルの表示プログラムがいくつもアップロードされている.パソコン通信をしていれば,少なくとも256色表示を楽しむことはできそうだ。


ASCII1992(05)c31ハードコラム記事画面A_W479.jpg
 256色モードはゲームに適していると思う。

nice!(0)  コメント(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。