MS-DOSについて

[記事公開日]2013/09/25
[最終更新日]2013/10/01

MS-DOSについて

マイクロソフト社が作った「isk perating ystem」ということで、その頭文字をとって、MS-DOS(エムエス・ドス)と呼ばれるOS(オペレーティング・システム)は、パソコンがこれほど普及する前の時代に使われていました。

その時代は、処理は16ビット(現在は32ビット)、アプリの起動はシングルタスクという一つのアプリケーションしか動かせないもので(今はマルチタスクで、いくつもアプリケーションが起動可能)、もちろんユーザーも一人で一台使うって感じのシングルユーザー(今は、一台のパソコンを家族みんなで使うから、マルチ(複数)ユーザー)だったので、そういう用途にあったOSだったといえます

MS-DOS の仕事  

おおまかにいうと、「データのやりとり管理」「周辺機器の制御」「ファイル管理」といったところで、うーんとおおざっぱにいうと、[ユーザーの指示を取り次ぐ]というのが大きな役目です。例えば、ファイル管理などでは、「コマンド(命令):command.com」がその任にあたっているし、MS-DOSを使いやすい環境にする(つまり、使っているパソコンの使用環境を良くする)といったことも「config.sysやautoexec.bat」などの環境設定ファイルがその任にあたっています。

環境設定ファイル 

config.sys と autoexec.bat は、MS-DOS起動時に自動的に実行され、必要な環境を整えるという重要な役目を担っています。この設定は自分で手直しする必要もないんですが、その構造と意味を知っていると、細かく自分で設定できるようになるので、パソコンの性能をフルに引き出すことが出来るのではないかと思います。

※このファイルを書き直したいときは、MS-DOSコマンドの「edit」、メモ帳やワープロソフトなど、テキストファイルの編集ができるものなら、どれでもOKです。

config.sys(コンフィグ.シス)とは

ハードウェアの構成やメモリの環境を設定するファイルで、MS-DOSの場合は、起動するドライブのルートディレクトリに必ずこのファイルがあります。というか、ルートにこのファイルがないと、必要な設定ができないので、エラーが出るかもしれません。実際に何をしているかといえば、必要なデバイスドライバを組み込んだり、どのメモリをどういうふうに使うかを指定しているわけで、まさに最重要な設定ファイルといえます。

※ここで組み込んでいるデバイスドライバは、「.SYS(シスファイル)」と呼ばれる、パソコンや周辺機器を制御するファイルです。

MS-DOS6.2(Windows3.1)での記述例

BUFFERS=10 FILES=30 SHELL=A:\COMMAND.COM /P /E:1024 LASTDRIVE=Z
DEVICE=A:\DOS\HIMEM.SYS DEVICE=A:\DOS\EMM386.EXE /P=64 /UMB /T=A:\DOS\EXTDSWAP.SYS
DEVICEHIGH=A:\DOS\PRINT.SYS /U  DOS=HIGH,UMB


BUFFERS=10  ディスクバッファ領域を設定。通常は、10~30の値を指定します。(パラメータとしては、2~63 までの範囲が指定可能)

FILES=30  同時に開くことのできるファイル数を設定。通常は 20~30 の値を設定します。(省略すると 8 が設定される。パラメータとしては、8~255 までの範囲が指定可能。ただし、Windows3.1で使用する場合は、必ず30以上を設定)

SHELL=A:\COMMAND.COM /P /E:1024  コマンドインタプリタ(SHELL)を指定。

LASTDRIVE=Z  アクセスできるドライブ数の最大値を設定。ここではZまでを指定。

DEVICE=A:\DOS\HIMEM.SYS  HIMEM.SYSを組み込んで、拡張メモリをXMSメモリとして使えるようにします。このドライバは、他のドライバより先に組み込む必要があり、このドライバが組み込んでないとWindowsは使用できません。

DEVICE=A:\DOS\EMM386.EXE /P=64 /UMB /T=A:\DOS\EXTDSWAP.SYS  プロテクトメモリをEMSメモリとして使えるようにします。ここでは、コンベンショナルメモリ節約のため、UMBメモリを使えるようにしています。

DEVICEHIGH=A:\DOS\PRINT.SYS /U  PRINT.SYSを組み込むことにより、プリンタを使えるようにします。ここでは、プリンタドライバをUMBに転送しています。

DOS=HIGH,UMB  MS-DOSのシステムをHMAメモリに転送して、UMBメモリを使えるようにします。上記のHIMEME.SYSとEMM386.EXEの設定とあわせて設定することによって、コンベンショナルメモリが広く使えるようになります。

デバイスドライバの組み込み

「DEVICE」はコンベンショナルメモリに、「DEVICEHIGH」はUMBメモリにデバイスを組み込みます。

<注意事項 >

  1. 同じ機能をもったデバイスを複数組み込まない。
    組み込むことによって、誤動作や起動しないといった深刻なエラーが生じます。

  2. 不必要なデバイスを一度に組み込まない。
    config.sys で設定したデバイスはメモリに常駐します。そのため、組み込まれたデバイスの数が多いと、メモリ不足を起こし、アプリケーションの起動ができなくなることがあります。

  3. 組み込む順に気をつける。
    config.sys の記述の通りに、デバイスを組み込みます。デバイスによっては、組み込み順によって正常に動作しないものもありますので、組み込む順にも気をつけてください。

autoexec.bat(オートエクゼグ.バッチ)とは

config.sys のあとに実行されるファイルで、環境変数の設定やコマンド検索パスの指定。起動時に実行するコマンドなどを書き込んでおくと、実行したいプログラムを自動的に読み込んでくれるという便利なファイルです。Windows だと、スタートアップ機能を使うと、同じような感覚が味わえます。

MS-DOSの場合は、起動するドライブのルートディレクトリに必ずこのファイルがあります。というか、ルートにこのファイルがないと、どのプログラムを実行していいのかわからないので、エラーが出るかもしれません。(^ ^;)

MS-DOS6.2(Windows3.1)での記述例

@ECHO OFF
A:\DOS\SMARTDRV.EXE /X
PATH B:\ABC;A:\Windows
SET TEMP=A:\TEMP
SET DOSDIR=A:\DOS


@ECHO OFF  不必要なメッセージを表示しなくなります。→ ECHOコマンド

A:\DOS\SMARTDRV.EXE /X ディスクキャッシュを設定。

PATH B:\ABC;A:\Windows  コマンド検索パスを指定。→ PATHコマンド

SET TEMP=A:\TEMP  MS-DOSの作業ドライブを指定。 → SETコマンド

SET DOSDIR=A:\DOS  MS-DOSのディレクトリを指定。(CUSTOM コマンドを使用するときに関係します) 

※Windows 3.1まではMS-DOSをベースに動いていましたが、現在ではMS-DOSは付属の機能で生き残っているだけなので、CUSTOM コマンドなど、数々のコマンドは姿を消しているので、完全に不要の知識になった感じですね、この辺りは。

コマンド検索パスについて 

プログラムやコマンドを探すときの経路を書いたものが「パス」です。ソフトを実行するときに、一度にすべてのプログラムをメモリに読み込めれば問題ないですが、大きなプログラムだとそうもいかず、実際は、必要に応じて読み込むようになっていることもあります。そんなとき、必要なものをすぐ読み込めるように、どこに必要なものがあるかを書いた経路が「パス」なんです。

なので、パスの記述が間違っていると、「必要なプログラムが読み込めない」ことになり、正しくソフトが動作できないこともあります。特に多いのが、ワープロソフト使用時の、辞書ファイルの指定などですね。「辞書ファイルが見つかりません」というメッセージが表示され、変換ができないという、おそろしい状況に陥ります。

 パス名とパス名の間を「;(セミコロン)」で区切って、必要なパスを設定してください。「PATH」コマンドのほかにも、「SET PATH」でもOK。 (ここで指定された経路にそって、実行ファイル「.COM .EXE .BAT」が検索されます)

環境変数(environment variable)について 

環境変数というのは、COMMAND.COM が確保する特別なメモリ領域(環境メモリ)におく変数のことで、「SET」コマンドなどで、MS-DOS の環境変数を表示・ 設定・削除を行います。 バッチファイルやアプリケーションは、その環境変数の内容によって、ソフトの制御なんかをしているので、けっこう重要なポイントです。

代表的な環境変数としては、作業ディレクトリを指定する「TEMP」や「TMP」、COMMAND.COMの位置を指定する「COMSPEC」などがあります。コマンド検索パス(PATH)も、環境変数の一種です。

※環境変数をたくさん設定すると、そのためにメモリ不足を招くので、そういうときは、上記のCONFIG.SYSの記述例で書いた、「SHELL=A:\COMMAND.COM /P /E:1024」のように、環境変数用のメモリ数値を変えると良いです。「/E:<環境変数用のメモリ数値>」で指定できます。省略時では256バイトになっているので、1024バイトあたりにするとメモリ不足が解消されます。

バッチファイルについて  

MS-DOSを使っていたころは、ソフトを使うときは、バッチファイルを自分で作る羽目に陥っていましたが、WindowsにOSが変わってからは、そのあたりもすべて自動化され、バッチファイルを自分で作ることもなくなりました。もし、MS-DOSを使用することになり、バッチファイルを作らなくてはいけない状態に陥ったら、慌てず、コマンドラインで打ち込んでいるコマンドをメモってください。そしてそれを順番に、書き込んでください。そうすれば、バッチファイルは完成します。

――早い話しが、「CD」コマンドでカレントディレクトリを変更して、必要な「PATH」と「SET」を打ち込んで、あとは、起動の実行ファイル(MS-DOSの場合は、拡張子が「.COM」「.EXE」「.BAT」)を指定すればOKです。

なお、MS-DOSの場合は、「.COM」→「.EXE」→「.BAT」の順で実行します。バッチファイルの名前をつけるときは、「.COM」「.EXE」とだぶらない名前にしないと、優先順位が低いので、せっかく作ったバッチファイルが実行されなくなるので、ご注意を。もちろん、これは、コマンドラインで、ファイルの名前(コマンド名)のみ入力した場合ですけどね。



Copyright © 2000-2017Makiko HOSOKAWA. All rights reserved.
Return to www.causu.com