====================================================== 1999.12.20 ======
メエルマガヂン Windows 95/98 管理人のための MS-DOS 基礎講座
------------------------------------------------------------------------
第 0 回 なぜ、いまどき MS-DOS?
========================================================================
はじめてのかたも、そうでないかたも、こんにちは。
Emacs 外道(http://user.ecc.u-tokyo.ac.jp/~l94102/emacs/)で
毎度おなじみの、でるもんた・いいじまです。
本日までに、すでに 4000 名様以上のご購読申し込みをいただき、
ありがとうございます。
☆本日のお題☆
読者の中には、「MS-DOS ってなに?」という方や、「なぜ、いまどき
MS-DOS?」という方もいらっしゃると思います。
今回は、そういった方のために、
○そもそも、MS-DOS とは何か?
○なぜ、Windows 2000 の発売(日本語版は 2 月 18 日の
予定だそうです)も近い今の時期になって、もはや化石と
化した MS-DOS を問題にするのか?
という点について説明しておきたいと思います。
【余談】Windows 2000 は、名前からすると Windows 95/98 の後継版
の様に思えますが、実は、Windows NT の後継版です。Win-
dows 98 の後継版は Windows Millenium という名前で 2001
年ごろ発売だそうで、その次のバージョンで、NT 由来の
系列に統合されるそうです。……と書きましたが、わたしは
あんまりその辺のことには詳しくないので、詳しい方から
解説をいただけるとうれしいです。
なお、堅苦しいことは今回だけですし、今回はかなり抽象的な内容が
含まれてしまっていますので、内容がわからなくてもそれほど重要では
ありません。
次回からは実践を中心に、
○MS-DOS の基本操作
○リダイレクト・パイプ・環境変数などの重要概念
○デバイスドライバの設定の仕方
などについて、基本的なところからお話ししていきたいと思います。
=-=-=-=-=-=-=-==-=-=-=-=-=-=-=--=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-
☆MS-DOS って、何?☆
まずは、MS-DOS とは何か、について説明したいと思います。
MS-DOS(Microsoft Disk Operating System)というのは、Windows が
広く使われるようになる前に、パソコン(当時は NEC PC-9801 が主流
でしたが、PC/AT 互換機も徐々に入ってきていましたし、今は亡き
富士通の FMR なども健在でした)上で広く使われていた OS です。
日本では 1994 年の Windows 3.1 の登場から(米国ではもう少し前の
Windows 3.0 から)は、MS-DOS 単体で使うことは少なくなり、Windows
と併用して使われることが多くなりました。そして、Windows 95 の登場
によって、MS-DOS は不要になりました。
…というのが、通り一遍の解説になります。
☆そもそも、OS って?☆
さて、ここで、OS(Operating System)という単語が出てきました。
MS-DOS の話に入る前に、OS とはいったい何をするものなのか、
すこし再確認しておきたいと思います。
OS の重要な機能の中に、次の 2 つがあります。
(1)資源の管理
(2)デバイスドライバの提供
(1) は、たとえば、マルチタスク(複数のアプリを同時に起動して
実行できる)環境では、あるアプリがプリンタポートにデータを送ろ
うとしている時に、別のアプリが勝手にプリンタポートと通信して
しまっていては困ります。ふたつのアプリからのデータがごちゃ混ぜ
になってプリンタに送られてしまいます。そこで、OS という別のソフ
トが間に入って、まず先着のアプリのデータをプリンタに送り、それが
一段落してから別のアプリのものを送るという、いわば交通整理が必要
になります。
この点は、マルチタスク環境ならば、どんなデバイス(画面、ディスク
装置類、プリンタ、etc.)でも当てはまることです。
MS-DOS はシングルタスク(同時には一つのアプリしか実行できない)
の OS ですが、あるソフトが動いている状態で、そのアプリが動作を
一時停止して別のアプリを起動するということができます。このとき、
元のアプリ(の全部または一部)はメモリ上に残っていますので、
新しく起動されたアプリがこのメモリを勝手に使い込まないために、
「どこを使ってよいのか、どこは使ってはいけないのか」に関する
ルールが必要です。
また、フロッピーやハードディスクは複数のアプリで共用するものです
から、それぞれのアプリが思い思いの形式で利用するのではなく、
共通の書式(フォーマット)にのっとって使う必要があります。
【補足】昔のゲームなどでは、それぞれのソフトが別々の
フォーマットでフロッピーディスクなど使っている
ということがありました。たしかにゲームならば
それでもいいのですが、ワープロなどでそれを
やってしまうと、「あるソフトでつくったデータを
別のソフトで再利用できない」という不便が生じます。
これらのルールを決め、アプリ間の仲裁をするのが、ここで言っている
「資源の管理」です。
(2) については、デバイスドライバということば自体は、Windows など
でもよく聞くものでしょう。これは、「ハードウェアの差を吸収する」と
言い換えることができます。
たとえば、NEC PC-9801/9821 と PC/AT 互換機では、システムの
基本的な部分、たとえばキーボードや画面の仕様が異なります。
そこで、各アプリで、PC-9801 用と PC/AT 用に別々のプログラムを
用意するということもできます(実際、そのようにしているアプリも
たくさんあります)が、そういったことをするのは面倒なので、
OS に仕事を委託する、ということを行います。
よく使われる模式図が次のようになります。
+--------------+ +--------------+
| 共通のアプリ | | 共通のアプリ |
+--+--------------+--+ +--+--------------+--+
| PC-9801 用の OS | | PC/AT 互換機用の OS|
+--+--------------------+--+ +--+--------------------+--+
| PC-9801 のハードウェア | |PC/AT 互換機のハードウェア|
+--------------------------+ +--------------------------+
アプリは、OS との間で、「画面に "hello" という文字列を表示して
ください」「いま、キーボードから何という文字列が入力されていま
すか」といった形で情報交換をします。OS はそれをうけて、それぞれの
ハードウェア(厳密に言えば BIOS も含みます)にわかる形で、つまり、
PC-9801 用の OS なら PC-9801 のハードウェアにわかる(PC/AT の
ハードウェアにはたぶんわからない)形で、PC/AT 用の OS なら PC/AT の
ハードウェアにわかる(PC-9801 のハードウェアにはたぶんわからない)
形で、ハードウェアと通信し、結果をアプリに返します。
あるいは、ディスクを取りあげてみると、フロッピーディスクとハード
ディスクとでは、たとえ同じ PC-9801 につながっているものであっても
構造が異なります。それぞれに応じて処理をすることもできないわけで
はありませんが、ディスク装置にはいろいろなものが考えられるので、
すべてに対処するのはたいへんです。そこでアプリは、「A ドライブの
先頭から 13kB の位置のデータを読みたい」「c:\autoexec.bat という
ファイルに書き込みたい」という要求を OS に出し、それぞれのディスク
装置に応じた処理は OS の仕事となります。
このように、すべての処理を OS 経由にすることによって、その下にある
ハードウェアが入れ替わっても、それに応じて OS(の一部であるデバ
イスドライバ)を入れ替えることによって、アプリではそれを全く気に
することなく、ハードウェアを利用することができるのです。
☆MS-DOS の特徴☆
ここで、MS-DOS の話に戻りたいと思います。
MS-DOS は、基本的にシングルタスクの OS です。たとえば、ワープロを
実行している最中に画面を切り替えて表計算ソフトを使うことはできま
せん。
また、GUI(Graphical User Interface)も、MS-DOS 単体では持ち合わ
せていません。したがって、何かの操作をするときは、基本的には
一つ一つ、キーボードからコマンドを打ち込むことになります。
【補足】ただし、いろいろなファイル管理ツールがありますので、
それらを使えば GUI 的な操作もできます。コマンド操作に
慣れていない人の使うマシンでは、アプリの起動などの操作が
こういった形で簡単にできるようにしてあることがよくあり
ました。
最大の問題点は、デバイスドライバがサポートしている範囲が少ない
ということです。たとえば、上で挙げた画面についても、文字の表示は
一応サポートしていますが、画像の表示は一切サポートしていません
でした。従って、たとえば画面に図表を表示したいというときには、
アプリがハードウェアを直接制御する必要がありました。図にすると
次のような感じになります。
+-----------------+ +-----------------+
| 98 専用のアプリ | | AT 専用のアプリ |
+--+------------+ | +--+------------+ |
| 98 用の OS | | | AT 用の OS | |
+--+---------------+----+--+ +--+---------------+----+--+
| PC-9801 のハードウェア | |PC/AT 互換機のハードウェア|
+--------------------------+ +--------------------------+
【余談】じつはこのほかにもう一つ、「メモリ 1MB の壁(640KB の壁と
言われることが多いのですが)」というものがあります。
これについてはまた後日お話ししようと思います。
=-=-=-=-=-=-=-==-=-=-=-=-=-=-=--=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-
☆それでも MS-DOS を使う理由☆
このように見てきた通り、MS-DOS は非常に機能が少なく、使いにくい
もののように思われます。ではなぜ、いまどきになってそんな MS-DOS
の話をするのでしょうか。
◇Windows 単体にはない重要概念
一つには、MS-DOS で使われている概念の中には、Windows 時代に
なっても非常に重要なものがたくさんあるということです。
「階層化ディレクトリ」といったものは当然ですが、それ以外にも、
「PATH」「環境変数」といった概念や、「リダイレクト」のような、
非常に便利・強力でありながら GUI では使われない概念があります。
また、コマンドライン型のメリットとして、「定型処理が簡単にできる」
ということがあります。これは第 2 回でご紹介したいと思います。
◇UNIX とのかかわり
特に最近では、かつては高嶺の花であった UNIX 系 OS と Windows
との垣根が低くなってきています(すでに Windows が UNIX 系を追い
越してしまっている点も少なくありません)から、UNIX で開発された
ソフトが Windows に移植されるということがよくあります。たとえば、
WWW の CGI によく使われる Perl 言語も、今ではほぼ完全な Windows
版が存在します。
しかも、UNIX は元々コマンドライン指向の OS ですから、Perl の実行
は基本的には MS-DOS 的なコマンドライン(Windows 95/98 の場合、
スタートメニューの中に「MS-DOS プロンプト」というものがあります
よね? それです。)から行います。そうすると、やはり MS-DOS 的な
ことをあるていど知っているほうが有用です。
◇実は、Windows は MS-DOS の上で動いている
Windows 3.1 まででは、コンピュータが起動するとまず MS-DOS が
起動し、その MS-DOS の上で Windows が動いていました。そして、
OS が果たすべき機能のうち、MS-DOS がカバーしきれない部分を、
Windows がカバーするという形になっていました。
図にすると次のようになります。
+----------+
| アプリ |
| +-------+-+
| | Windows |
+--+--+----+ |
| MS-DOS | |
+--+----------+----+---+
| ハードウェア |
+----------------------+
Windows 95 では、「MS-DOS は不要」と言われました。しかし実は、
Windows 95 でも、この図式は基本的には変わっていないのです。
ここで言っている「MS-DOS が不要」という言葉の意味は、
○今までは、MS-DOS と Windows を別々に購入する必要が
あったが、Windows 95 では、一つのパッケージの中に、
MS-DOS から Windows まですべて入っているので、Windows
95 と書いてあるパッケージだけを買ってくればよい。
○いったん Windows が起動した後は、いままで MS-DOS が
行っていた作業のほとんどを Windows が代行する。つまり、
Windows が動いている状態では MS-DOS は開店休業状態に
なっている。
というだけに過ぎないのです。
従って、Windows がうまく動かなくなった場合や、再インストールの
場合には、MS-DOS レベルでの操作が必要になり、したがって、MS-DOS
を知らないと何もできないということにもなってしまうのです。
【補足】Windows NT 系(2000 を含む)では、本当に MS-DOS
は要らなくなっているそうです。ただし、私自身は
NT 系は使っていない(大学の計算機センターで
使ってはいますが、管理人ではない)ので、このへん
のところはよくわかりません。
特に、再インストールのために CD-ROM のデバイスドライバを組み込む
という作業で、みな苦労しているようです。
=-=-=-=-=-=-=-==-=-=-=-=-=-=-=--=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-
☆次回予告☆
次回は、「第 1 回 まずは簡単なコマンドから」と題して、
MS-DOS の基本的なコマンド、たとえば dir、type、copy といった
コマンドの使い方から説明します。
今後の予定としては、まず最初の数回で、
○コマンドの使い方
○リダイレクト・パイプの使い方
○バッチファイル
といったことをなるべく年内に説明してから、
○デバイスドライバの話
○非常時起動用フロッピーの作り方
といった重要な話に入りたいと思います。とりあえずの目標は
「CD-ROM にアクセスできる非常用フロッピーを作ること」
です。
それではまた。
========================================================================
メエルマガヂン Windows 95/98 管理人のための MS-DOS 基礎講座
☆発行人☆
でるもんた・いいじま <L94102@mail.ecc.u-tokyo.ac.jp>
http://user.ecc.u-tokyo.ac.jp/~l94102/dos/
※このメールマガジンで取り上げてほしいテーマ、ご意見など
ありましたら、上のメールアドレスまでお気軽にどうぞ。
☆配信☆
このメールマガジンは、「インターネットの本屋さん・まぐまぐ」を
利用して配信しています。
http://www.mag2.com (マガジン ID=0000022456)
☆バックナンバー・登録解除・メールアドレス変更は☆
上記のホームページまでどうぞ。
なお、手動での登録解除は行っておりませんのでご了承下さい。
=========================================================================
Copyright © IIJIMA Hiromitsu aka Delmonta,
2016/03/10 15:09 JST
これは「古文書」です。
古くなった情報も原則未修正で保存していますのでご注意ください。