[ソフト] MS-DOSシステム
やっぱDOSでしょ。
DOSって何?
DOSってのは、正式名称
「MS-DOS」って名前(MicroSoft Disk Operating Systemの略)
で、Windowsが出る前に使われていたOSです。わかんない人は「Windowsの昔バージョン」って思えばいいです。
昔はコンピュータの処理速度が、画像処理に耐えられるほど高速ではなかったため、全部文字で表示されます。
もちろんマウスなんて物も使えませんでした。キーボードでちまちまコマンドを打ち込んで、ソフトを起動させたりしてたんです。
いったいOSって何のためにあるの?
よく聞かれる質問ですね。OSというのは、以下の目的のために作られています。
コンピュータの非常にハードウェアに近い部分に密接して、ハードウェアの違いを吸収する
たとえば、Windows対応のソフトなら、Windowsが動いてさえいれば、全くハードウェア構成の違うPC98x1でもPC/AT互換機でも同じように動作しますね。外見は同じように見えるPC/AT互換機でも、中に搭載されているチップの型番が異なっていたりするので、そのような違いもきちんと認識して、適切に制御するのがOSの役割です。
もしもOSがなかったら、個々のプログラムがすべての相違点を検出して対応しないといけないので、プログラムが非常に膨大になり、開発コストもバカになりません。
最近のソフトは以前に比べて非常に安価ですが、これはOSがしっかりしているので、プログラム側で処理する情報量が少なくなり、開発コストが低くなったからです。
入出力デバイスが標準で使える状態を提供することにより、個々のプログラム操作性や生産性を向上させる
OSが入ってなかったら、キーボードに文字を打ち込んでも画面は真っ黒なままです。
マウスを動かしても、何もなりません。
我々が普段当たり前だと思っている「キーボードに文字を打ち込んだら画面に表示され、マウスを動かしたらマウスカーソルが動く」という動作は、OSがキーボードやマウスを使える状態にしてくれているからなんです。OSのない初期状態ではCD-ROMドライブはもちろん、フロッピーディスクドライブさえも動作せず、画面にも何も表示されません。
入出力デバイスドライバの標準化
入出力機器にはキーボード・マウス・フロッピーディスクドライブ・CD-ROMドライブ・ディスプレイなどがありますが、これらの製品は、とりあえず標準的な規格が決まっていて、その通りに制御していればまず普通に使えるようになっています。
しかし、入出力機器の種類によっては、特別な機能を持っているものもあります。たとえばディスプレイなどは、「画面に表示する」という標準的用途以外にも「省電力モード」や「特殊解像度表示」などの機能を備えたものがあります。
そのような、いわば「拡張的な」機能を使おうとすると、それぞれの製品の個性が問題になります。
結果から見れば同じことをしているように見えても、製品によって制御方法が全く異なる場合が少なくないんです。
それらの相違点を吸収するために考えられたのが
「デバイスドライバ」
という概念。デバイスドライバは、その製品を直接制御するためのプログラムで、基本的にその製品を作ったメーカーが作ります。
「○○というOS用のデバイスドライバ」という具合にして出荷できるため、メーカーはサポートもしやすく、ユーザーも製品購入時にとまどうことが少なくなります。
何がよくて今更DOS?
DOSは裏でよけいな処理をしていない分、非常に軽快に動作します。
DOSプログラムをサクサク動かそうと思えば、Pentium 100MHz程度で十分です。
しかもメモリは16MBもあればこれまた十分。昔のパソコンを手に入れたとか、安定性重視とか、とにかく軽く!という人にはオススメできるOSです。
それでなくても、Windows98の起動ディスクはDOSが入っています。
DOSを使わないとWindowsが損傷した時も修復すらできないんです。
DOSを使うぞ!の前に
DOSを使用する前に、とりあえずDOSってどんな物かをきちんと認識しておかないといけませんね。
そうしないと、DOSを起動後、画面を見て「なんだこりゃ!?」ってことになりかねません。
DOSはそのくらいWindowsに慣れ親しんだ人にとっては、抵抗のあるものなんです。
標準状態ではキーボードしか使えない
DOSをそのまま起動した状態では、入力にはキーボードしか使えません。
DOSが開発された当時、マウスなんて物がなかったためです。
細かい仕様を変更すると、今まで継承してきたソフトが動かなくなってしまう可能性があるので、DOSには結局最後までマウス機能は組み込まれませんでした。
というわけで、操作はすべてキーボードで行います。
キーボード慣れしてないと辛いので、昔はパソコンが普及しなかったんです。
派手なグラフィック表示もない
起動しても、「A:\>」と表示されて入力待ちになるだけです。
Windowsを使っていた人が初めてDOSの画面を見ると、「これで何ができるの?」って心境になると思います。
DOSが開発された当初、コンピュータにはグラフィック機能もなかったんです。ただ画面に文字を表示できるだけ。
そんなわけで、グラフィックはDOSのサポート外になっています。しかし、DOSのソフトの中にはカラフルなグラフィックを使用した物が多数あります。これは、そのソフトが直接グラフィックをサポートしているから可能になってるんです。つまり、DOSを通さずに直接ハードウェアをコントロールしているため、非常にハードウェアに依存したものになり、PC98のDOS用ソフトはPC/AT互換機用のDOSで動かない、というようなことがよくありました(というか、ほとんどのソフトがそうです)。
ソフトにインストーラなんか付いてないことがほとんど
DOSの市販ソフトはインストーラが付いているものがほとんどですが、一般のフリーソフトなどは、今のWindowsソフトのように親切にはできていません。ダウンロードしたファイルを解凍しても、ほとんどの場合解凍されるのはプログラムの本体ファイルとそれに付属するドキュメント、ソフトの構成ファイルのみです。インストールは、解凍後に出てくるドキュメントファイルを読んで、自分で行います。とは言ってもWindowsほど難しくないので、単に面倒なだけです。
ソフトを使いたい!という場合も、面倒
Windowsの場合、スタートメニューがあるのでソフトを簡単に起動できます。
しかし、DOSはそうはいきません。
ソフトを起動するには、ソフトのプログラムが入っているフォルダからソフトの本体プログラムを探し出して、そのファイル名をキーボードから打ち込んでやらないといけません。
ソフトを切り替えて使うことができない
Windowsは複数のソフトを同時に起動して、瞬時に切り替えて使うことができました。
Wordで文書を打ちながら、Excelでグラフを作成して貼り付けたり‥‥なんてことも平気でできます。
しかし、DOSは「シングルタスク」といって、同時に起動できるプログラムは1つだけです。
Windowsでいうと、Wordを使っている最中にExcelを使おうと思っても、Wordを終了してからではないとExcelが使えないようなものです。
しかし、タスク切り替えなどのよけいな処理を行っていない分、非常に高速で安定しています。
おそらくWindowsNTなんか比較にならないくらい動作は安定しているのではないでしょうか(もちろんUNIXには負けますが)。
環境設定はすべて自分
DOSの環境は、全部自分で作らなくてはなりません。
もちろん、それを自動化してくれるツールもあるにはあるんですが、とまとまは信用できないので使っていませんでした。
自分で環境設定をするのは面倒ですが、その分不可視な部分が少ないので、パソコンに合った最適な環境を構築できるというメリットもあります。
WindowsはOS自体の設定が複雑な上、インストールプロセスが半自動化されているため、最適と思われる環境でも、実はパソコンの性能が完全に引き出されない可能性もあります(たとえば、ACPIに対応しているパソコンなのに、機種によってはAPM対応としか認識されないなど。人間が自分で環境を構築できれば、そのような使用されないリソースを減らすことができます)。
標準状態ではメインメモリ640kBしか使えない!
後で詳しく説明しますが、DOSは640kB以上のメモリを認識できません。
なぜかというと、DOSが開発された当初、CPUは16ビットだったので、データバス幅から言ってこれ以上のメモリ領域にアクセスすることは不可能だったんです。
しかし、CPUが搭載していた隠し機能により、とりあえず1024kBまではアクセスできるということがわかったので、現在最新のDOS(とは言っても数年前に開発は終了しています)では、設定によって1024kBまでのメモリが使えるようになっています。
しかし、640kBから1024kBまでの間の領域は、ハイメモリ領域と呼ばれる特別な領域のため、普通のソフトはアクセスできません。
結局、普通のソフトで使えるのは640kBの領域のみ、ということになります。
DOSはどうやって手に入れる?
簡単です。Windows98の起動ディスクに入っています。
Windows98の起動ディスクは、[コントロールパネル]の[アプリケーションの追加と削除]から作成できます。
PC98x1シリーズでは1枚、PC/AT互換機では2枚のフロッピーディスクが必要です。
Windows98の起動ディスクが起動し終わると、
「A:\>」
という表示が出て入力待ちになります。
これはWindowsでいう、起動プロセスが一通り終了して、マウスカーソルが画面中央に表示され、ユーザーの操作待ちをしている状態です。
DOSの起動プロセス
DOSの起動に必要なファイルは、以下の通りです。
MSDOS.SYS DOSの本体(カーネル)
IO.SYS I/O関係を初期化するプログラム
COMMAND.COM DOSのシェル
ユーザーの命令を受け付け、その命令に従ってカーネル部分に指示を出す。
MSDOS.SYSとIO.SYS
は隠しファイルになっているので、普通にファイルの一覧を表示しただけでは表示されない可能性があります。
さて、DOSの起動プロセスは説明すると非常に簡単です。
BIOSによってハードディスクのブート領域にあるプログラムがメモリに読み込まれる
DOSをOSとしてインストールしている場合、この部分には
「IO.SYSを読み込んで実行しろ」
というプログラムが書かれています。
それに従って、パソコンはIO.SYSをメモリにロードして実行します。
IO.SYSがメモリに読み込まれる
IO.SYSは、DOSが対応しているすべての入出力デバイス
(ディスプレイ、キーボード、フロッピーディスクドライブ、ハードディスクドライブなど)
を初期化します。そしてMSDOS.SYSをメモリにロードします。
MSDOS.SYSがメモリに読み込まれる
MSDOS.SYSはDOSのカーネル部分です。
カーネルとは、実際に処理を行う中枢のことです。
機能の詰め合わせって感じなのですが、それらは呼び出されるまで待機しているだけで、普段は眠っているようなものです。
CONFIG.SYSの内容を読み、CONFIG.SYSに設定されている通り環境の構築を行う
CONFIG.SYSはDOSシステム自体の環境を設定するファイルです。
このファイルの設定内容によって、メモリに空き領域が増えたり、逆に設定が悪ければ減ったりもします。
各種デバイスドライバの組み込みもここで行われます。
CONFIG.SYSがない場合、何もしません。
COMMAND.COMがメモリに読み込まれる
COMMAND.COMはDOSのシェル部分です。
シェルとは、ユーザーからの要求を解釈し、その要求を満足するようカーネル部分を適切に呼び出す働きをします。
ユーザーが一番密接に関わる部分です。
AUTOEXEC.BATが読み込まれ、COMMAND.COMによって解釈されて実行される
AUTOEXEC.BATは、COMMAND.COMが解釈できる書式で書かれていなければなりません。
DOSが起動すると勝手に実行されるので、パソコンが起動したらすぐに使いたいソフトがあるときなど、ここに記述します。
AUTOEXEC.BATがない場合、何もしません。
実際に起動する
誰でも手にはいるよう、Windows98の起動ディスクを使ってDOSを立ち上げてみましょう。
パソコンの電源をONにして、起動ディスク1枚目をフロッピーディスクドライブにセットします
パソコンの電源をONにしてから、ディスクを入れるようにしてください。
パソコンの電源を入れてからあまり時間をおくと、そのままハードディスクからWindowsが立ち上がってしまうのでモタモタしないように。
起動メニューが表示されるので、「CD-ROMドライブを使用しない」という項目を選んで[Enter]を押します
PC/AT互換機では英語で表示されますが、簡単な英語なのですぐわかるはずです。
PC/AT互換機の場合、キーボード選択をしなければなりません。画面の指示に従って、キーボードの指定されたキーを押します
PC/AT互換機の場合、「ディスクを入れ替えてください」という内容のメッセージが表示されます
Windows起動ディスク2をフロッピーディスクドライブにセットして、{Enter]を押します。
画面に「A:\>」という表示が出て入力待ちになったら起動完了です。
まろん、降臨
http://www.geocities.jp/lem_web/mp/reading/msdos1.htm
http://www.geocities.jp/lem_web/mp/naak/win98_setup1.htm
http://www.geocities.jp/lem_web/mp/mptop.htm