Posts Tagged ‘MS-DOS’

MS-DOS とメモリの関係

2013-09-25

MS-DOS とメモリの関係

パソコンは、「メモリ」にプログラムやデータを読み込んで(展開して)仕事をします。だからこそ、メモリをどう使うかが重要になり、その割り振りなどを「config.sys」や「autoexec.bat」などで、起動のたびに整える必要があったわけです。

具体的に、MS-DOSが活用するメモリには、大別すると、「コンベンショナルメモリ(メインメモリ)」と「拡張メモリ」の二種類があり、それぞれ役割を担っています。

※システムで使用されているメモリについて、利用可能なメモリ領域や現在の利用状況などを確認したい場合は、「mem」コマンドを使用してください。(Windows 95 以降だと、MS-DOSがベースじゃないから、MEM コマンドで表示される情報に、一部、MS-DOS 時代とは異なる表記がありますが、大まかな点では同じなので、見方はわかると思います。Windows XPだと、「MS-DOSプロンプト」じゃないと使えませんが……一応、何とか使えます。制限あるけど。

コンベンショナルメモリ(メインメモリ)

コンベンショナルメモリは、デバイスドライバを組み込まなくても使用できるメモリで、容量はノーマルモードで最大640KB、ハイレゾリューションモードでは最大768KBなんですが……MS-DOSのシステムがここのメモリを一部使用しているので、実際使用できるのは、もうちょっと少ない容量になってしまいます。

MS-DOSで動作するプログラムは、通常このメモリを使っています。

※こういう「メインとなるべきメモリ」なので、コンベンショナルメモリの節約に、config.sys に「DOS=HIGH,UMB」などの一文を入れたりして、なるべくこのメモリを広く使おうと設定していました(この一文を入れると、MS-DOSのシステムが、XMSメモリのHMA領域に移動してくれる)。

拡張メモリ(XMS・EMS)

Windows をはじめ、大きなプログラムを実行するためには、コンベンショナルメモリだけでは少なすぎて、メモリを増設する必要がありました(ソフトがどんどん進化したので、そういう要請もありましたし)。この増設したメモリが「拡張メモリ」と呼ばれるもので、メモリを増設したら同時に「対応したドライバの組み込み」を必要とする、ちょっとややこしいメモリです。

どこがややこしいかというと、メモリの拡張方法にもいくつか種類があり、それぞれの方法に応じて「XMSドライバ」「EMSドライバ」というような、デバイスドライバを用意して、組み込まないと動かないからです。

ちなみに Windows 3.1では……というか、Windows では「拡張メモリ」は必須で、これがないと動きません。それこそ十年くらい前の、かわいらしい機能しかもっていなかったソフトじゃない以外、機能強化のためにアプリケーション・ソフト側が要請するメモリも大きくなっているので、拡張メモリの大きさが、ソフトの使い勝手のよさを、ある程度規定しているといってもいいんじゃないでしょうか。

XMSメモリ(eXtended Memory Specification) 

このメモリは、拡張メモリをEMSメモリやコンベンショナルメモリの一部のように扱うことができます。このメモリには、三つの種類があります。

※MS-DOS6.2から追加された「MemMaker」機能は、UMBを効率的に利用するように設定してくれるという優れもの。でも、Windows95以降は、MS-DOSがベースじゃなくなったので、この便利な機能は姿を消しました。そういえば、コンピュータのシステム状況を詳しく調べる「MSD」コマンドも、今では使えないんですよね。(T_T)

XMSメモリドライバ:HIMEM.SYS

 ※SMARTDRV.EXE や EMM386.EXE などの他のメモリドライバを組み込む場合は、XMSメモリを確保してから、各種ドライバを組み込む必要があります。ということで、この HIMEM.SYS の組み込みは、config.sys の DEVICE 行の最初に記述する必要があるわけです。これを忘れるとひどい目にあうので、お忘れなく。

EMSメモリ(Expanded Memory Specification) 

 拡張メモリを使用するための規格の一つで、システム領域の上位メモリにページフレームという領域を作って、これを通じてXMSメモリの一部を1ページ16KB単位で使用することができます。要はEMSを使用することにより、システム領域のページフレームを経由して、XMSメモリのEMBを使う……みたいな感じですね。イメージわきますか?

 もともと、EMS ドライバは、一度コンピュータ起動時に設定した EMS のサイズは変更出来ないので、ソフトが使う最大容量を確保しなくちゃいけない運命を背負っていました。これじゃ大変なので(MS-Windows登場の際には足枷になった)、UMB + EMS という形で使うことになり、XMSってことで完全に統合された……らしいと聞きました。(^ ^;)

 MS-DOS対応のソフトだと、ちょっと使えるソフトはみんなEMS対応のソフトで、インストール時に config.sys に、EMSドライバを入れた覚えがあります。一太郎だとVer5とか6の頃ですね。Windows の時代に入ると、EMSメモリより、XMSメモリしか聞かなくなりました。

EMSメモリドライバ:EMM386.EXE

 みたいに、必要に応じてEMM386.EXEを組み込んでもらえればOK。その際、まず最初に「XMSメモリ:HIMEM.SYS」を組み込まないと意味がないのでご注意を。なにはともあれ、config.sys にDEVICEで組み込めばいいわけです。

 ちなみに、「EMM386.EXE」は仮想8086モード用のEMSドライバで、「EMM.SYS」は汎用のEMSドライバ。同時に使用することはできません。

仮想86メモリドライバ(VMM386.EXE)

 ……というのもあった気がする。64MB以上だとこっちを使ったような気もする。んで、対応メモリはプロテクトメモリ……ということしか覚えていません。忘れました、前のことなんで。(^ ^;)

SMARTDrive

 MS-DOSで標準サポートされている、メモリの有効利用のための「ディスキャッシュ」機能で、これは、XMSメモリを一時的にディスクキャッシュ用メモリとして使用し、処理効率をぐう-ん高めるという優れものです。

 ディスクキャッシュというのは、ディスクから読み込んだデータをメモリに蓄えることにより、次に同じデータが必要になったとき、ディスクからじゃなくメモリから直接読み込むため、データの読み書きがものすごく早くなるというもの。

 SMARTDRV.EXEを組み込むことにより、この機能を使うことができます。ただ、Windows の時代になり、MS-DOSをベースに動く時代じゃなくなったので、今ではこの機能もなくなってしまいました。

[`evernote` not found]

MS-DOSについて

2013-09-25

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」とだぶらない名前にしないと、優先順位が低いので、せっかく作ったバッチファイルが実行されなくなるので、ご注意を。もちろん、これは、コマンドラインで、ファイルの名前(コマンド名)のみ入力した場合ですけどね。

[`evernote` not found]

ユーザーインターフェース(UI)について

2013-09-25

ユーザーインターフェース(UI)について

MS-DOSとWindowsは、操作方法が決定的に違います。MS-DOSは「CUI」、Windowsは「GUI」を使っているので、見た目の操作性が正反対といっていいです。

操作方法=人間とパソコンをつなぐ方法(ユーザーインターフェイス or ヒューマンインターフェイス)のことです。

CUI(クイ or シーユーアイ)

テキスト操作 正式名称:Character User Interface
操作特徴:キーボードから文字による命令
使用対象:コンピュータ操作に熟練した中上級者

対象OS・その他: MS-DOS や Windows の 「MS-DOSプロンプト」・「コマンドラインプロンプト」の操作画面で利用している操作方法。

Windowsの場合、「スタート」→「ファイル名を指定して実行」で指定したファイルによっては、cui操作画面を見ることもあります。  

 

※基本的にキーボード操作になるのでマウスなどは使えません。が、Windows XPのプロンプト操作は、かなりゆるやかになっていて、マウスでドラッグ&ドロップ操作も使るようです。

GUI(グイ or ジーユーアイ)

図解された操作 正式名称:Graphical User Interface
操作特徴:図解された操作(マウスやアイコンといった――絵をみながらも直感的な操作)
使用対象:コンピュータ操作に不慣れな初心者でもOK
対象OS・その他:Windows の基本操作はGUIになります。 GUIの部品として「アイコン」「テキストボックス」「リストボックス」チェックボックス「ラジオボタン」「ポップアップメニュー」「プルダウンメニュー」「コマンドボタン」「スクロールバー」など、Windowsでおなじみの部品があります。

 

※MACパソコンのユーザーインターフェイスだったんですが、今ではWindowsにも採用され、初心者でもパソコンが操作しやすくなった大きな要因といえるでしょう。

[`evernote` not found]

WindowsとMS-DOSの関係

2013-09-25

WindowsとMS-DOSの関係

MS-DOSに関する知識は、今となっては不要の知識になりつつあります。が、コマンドラインからの活用はまだまだ重要です。パソコンがエラーを起こしたときやちょっと便利に使いたいときなど、「いざ」というときに威力を発揮しますので、覚えておいて損はないです。(=^^=)v 

スクリプトの作成など、活用方法はいろいろあるんですが、ここで最低限知ってほしい「トラブル対処に役立つこと(用語とかコマンド操作とか)」を説明します。

NT系(NT→2000→XP)OSの場合 

NT系も、32ビット化されたMS-DOS を Windows 内部に取り込んでいるそうです。WIN XPでは、コマンドラインの強化をしたそうで、多くのコマンドが追加/拡張されています。ただこれはあくまで、「Win32コマンドコンソール」で、従来のDOSとはちょっと違うので、そこのところだけご注意ください。

と、プログラム名を見れば、コマンドコンソールが、MS-DOSアプリケーションじゃないのは一目瞭然です。でも気分的には、「MS-DOSプロンプト」のかわりに、表立って使うのは「コマンドプロンプト」になりますし、スクロールバーが使えるので、コマンドラインで使うなら、こっちのほうが便利です。

参考記事>

95系(95→98→ME)OSの場合 

もともとMS-DOSから出発したOSなので、MS-DOS との関係も深いんですが……やはり進化するにしたがって、関係は浅くなっていきました。Windows 95 より、Windows 98 のほうが MS-DOS との関わりは浅くなり、Windows ME にいたってはDOSとは決裂した、といっても過言ではありません。

その証拠に、WIN 95・98 では、「MS-DOSで再起動(従来の16ビットMS-DOS)」ができました。(「スタート」→「Windowsの終了」→「MS-DOSで再起動」)。しかし、WIN ME ではこのモードがありません。一応、MS-DOS はフォローしてるんですが、処理の高速化のために32ビット化されたMS-DOSなんです。生DOSが必要なときは、起動ディスクを使うしか手がありません。(^ ^;)

参考記事>

DOSアプリケーションについて

Windows で MS-DOS のソフトを起動させたい場合は、「PIFファイル」が必要になります。これは、Windows から MS-DOS のソフトを実行するときに必要な設定情報(プロパティ)が記述されたファイルです。

MS-DOS時代、実行可能なファイルといえば、拡張子が「 .COM」「.EXE」「.BAT」 でしたが、Windowsでは、更に「.PIF」 が追加されます。 ……とはいえ、昔もっていた MS-DOS アプリケーションを実行させようと思ったら、「.pif」設定をしっかりやれば WIN 95 なら動くと思いますが(もし動かなくても、一度「MS-DOSで再起動」させればだいたい動く)、どんどんDOSと決裂しているので、OSのバージョンがあがると正しく動かなくなると思われます。なので、一昔前のMS-DOSアプリを動かしたいときは、エミュレータを使うのがいいかも。

PIF(Program Information File)

Windows 3.1は、「PIFエディタ」で編集可能。Windows 95以降は、そのPIFファイルを選んで右クリック→「プロパティ」で編集可能です。具体的に、「必要な設定の情報」というと、起動時のパス・表示状況・利用するメモリ(メインメモリ・EMSメモリ・XMSメモリ)なんかが必須です。

PIFファイルで起動の環境を参照し、指定されたMS-DOSソフトが適切に実行できる環境を整える――そうしないと、Windows の状態で、MS-DOS のソフトを起動させることはできないというわけです。Windows が動く環境と、MS-DOS が動く環境が、ちょっとちがうので。ま、なかには、一度 MS-DOS の状態で再起動しないと正常に動作しないという、MS-DOS ソフトもあるので、そのソフトによりけりですが。

ただこれは、けっこう MS-DOS の知識を必要とします。コマンドパラメータやらメモリの配分をしないといけないので。でも、デフォルトで「_DEFAULT.PIF」「DOSPRMPT.PIF」というのが標準装備されているので、これらを適当にいじってれば、起動させることくらいはできるでしょうから、うだうだ考えるなら、使って覚えたほうが上達は早いでしょう。(^ ^;) ――といっても、Windows 3.1 なら、ですが。

[`evernote` not found]

MS-DOSとコマンドプロンプト 基礎知識

2013-09-20

MS-DOSとコマンドプロンプト 基礎知識

MS-DOSプロンプト及びコマンドプロンプトに関しての基礎知識です。MS-DOSからコマンドプロンプトに、ほぼ移行が終わった Windows XP のころの状況で説明しています。

MS-DOSとコマンドプロンプト 基礎知識

MS-DOSとコマンドプロンプトについて
 

MS-DOSについて
 

OSについて
 

[`evernote` not found]

Copyright © 2000-2018 Makiko HOSOKAWA. All rights reserved.