3. MS-DOS、Windows 9x 、NT と Linux との比較

3.1. Linux 対 MS-DOS

DOS は私が学んだ初めてのオペレーティングシステムです。その時、先生がテ ストした内容をいまも覚えています。そのひとつはディレクトリの階層を作る ことでした。こんなことはグラフィカルユーザインターフェースに慣れた人に は誰でも簡単なことでしょうが、当時はそうではありませんでした。DOS は現 代の標準に照らすと遠い昔のシステムようにさえ見えます。当時 Windows 95 はまだ登場しておらず、Linux はインドではまだ知られていませんでした。私 は Window 3.1 より DOS の方が好きでした。Window 3.1 はメモリ食いだとい う点には別にしても、貧弱で不安定な感じでした。DOS は多くの点で Linux とは全く違っています。

DOS はグラフィカルユーザインターフェースがまったくなく、ディレクトリ間 でファイルをコピーや移動するというようないくつかの基本的な仕事をするの に、たくさんのオプションを持っているコマンドを少なくとも10以上も覚え なければいけません。ちょっとしたスペルミスをしても"ファイルまた はコマンドが見つかりません(Bad command or file name)" という エラーになってしまいます。

DOS はマルチユーザの概念をサポートしていません;それぞれの、そしてすべ てのユーザは、自分がそこで仕事を始めるたびに、いつも必要に応じてシステ ムを設定しなければいけません。マルチタスクシステムでもありません。手紙 を書いてる最中でちょっと計算するにも、そのアプリケーションを終了させな いとできないということです。

DOS はまたセキュリティ仕様も備えていません。システムをネットワークに繋 がなかった時代にはそれでも大丈夫でした。MS-DOS には、IBM の PC-DOS な どの互換品があり、足りない仕様を加えようとしてきました。不完全な部分は サードパーティのユーティリティを使って解決してきましたが、640kb-メモリ の限界のような基本的な限界やシングルタスクであることは多方面で受け入れ られませんでした。

現在、どんな人たちが DOS を使っているのかと不思議に思うでしょう。いく つかの利点を指摘しておきます。基本的には DOS は Linux とは違った目的を 持ってきました。とても安価なシステム(コストが問題になる場合には)です し、使うために必要な機能も最小のものです。また、単純なシステムです。 DOS の上で何かを開発しようと思わないなら複雑すぎると悩むことはありませ ん。DOS は恐らく世界で一番人気のあったオペレーティングシステム で、ごく普通の仕事をするためのアプリケーションがまずまずの数そろってい ました。

3.1.1. ファイルとディレクトリ

Linux のファイルは Windows のように 255文字までの長い名前になっていて、 いつも拡張子を持っているわけではありません。実行ファイルは拡張子よりも むしろ属性で認識されます。通常 Linux ではファイルのタイプによって決ま るマジックナンバーと呼ばれる特別の認定コードでファイルの種類が認識され ますから、ファイルの拡張子は DOS や Windows に比べると Linux の世界で はあまり重要ではありません。

ディレクトリは DOS ととてもよく似ており、階層構造を取っています。パス 名は、DOS や Windows ではバックスラッシュ(\)を使っていますが、Linux で はスラッシュ(/)で切ります。たとえば次のようにします:

% cd /mnt/cdrom

/ は root を示し、.. は DOS と同じように、親ディレクトリを示します。

bash シェルでは、 ~ の記号は一発でホームディレクトリにジャンプしたいときに 使われます。

% cd ~ 

3.1.2. Linux シェル

DOS コマンドのいくつかは Linux と同等です。Linux シェルは DOS のコマ ンドラインと似たようなものですが、もっと強力で、使用する特定のシェルに よって、色でハイライトを付けるとか、動作をわかりやすく示すといった機能 も使えます。

ほとんどの Linux ディストリビューションはデフォルトで Bash(Bourne Again SHell)になっています。その他、Korn shell、 C shell のようなもの もあります。通常はよく似ています。あれこれ試してみる前にひとつのシェル でちゃんと動かすことを学ばないといけません。 DOS のもとでのバッチファ イル( .bat という拡張子のついたファイル類)に似たシェルスクリプトを走 らせたくなると、物事は難しくなります。

3.1.3. Linux 環境で DOS のプログラムを走らせる(DOS エミュレーション)

Linux オペレーティングシステムのもとで DOS プログラムを稼働可能にする dosemu www.dosemu.org とい う DOS エミュレータがあります。このソフトウェアはまだ開発途中です;試 してみたいと思うかもしれませんが。少なくとも一部のアプリケーションでは だいたい使えるものだとされています。もしも DOS プログラムを使うために フリーのものを探すなら、FreeDOS www.freedos.orgを試してください。 Linux 上の dosemu よりも使いやすいはずです。

3.2. Linux 対 Windows 9x と NT

先に述べたように、Windows は多かれ少なかれ Linux と似ています。普通、 Linux を紹介されると、まずはじめにシステムに驚いてしまいます。違った 種類のグラフィカルインターフェースを持っており、ものごとはいつも期待 したようには動くとは限りません。ユーザが戸惑ったような顔で私を見ると、 私はデスクトップの壁紙を変更するとか、音を鳴らすとかいったありふれた 作業がいかに Windows と似ているかを実演してみせます。このようなアプロー チをした時の問題は、Linux は Widows ほどたくさんのものが提供されてい ないとすぐに不平が出ることです。:-).

私はこのようなことについてある程度は彼らと同じ意見です。オペレーティン グシステムに期待できることには限界もあります。 3D シューティングゲームの ようなものを動かすのを Linux に期待することはできません。もちろん、シェ ルやユーザインターフェースの選択、オペレーティングシステムの方針や目的 には多くの相違があります。Linux はオープンなシステムとして発展してきたも ので、核になる Linux システム(カーネル)のソースコードはフリーで誰で も利用できますが、このことが末端のユーザにどのような影響を及ぼすかは、 最初のうちは説明が難しいものです。

ユーザインターフェースは、Linux システムを使いはじめると、最初に関心が 向くものです。Windows はすべてのバージョンでほぼ同じように使えるただひ とつの完全に統制のとれたユーザインターフェースを提供しています。それに 比べて、Linux は KDE(www.kde.org)と、Gnome (www.gnome.org)の2種類のデスクトッ プ環境があります。KDE は組み込みのウインドウマネジャーを使っていますが、 Gnome は Sawfish や Enlightenment など多くのものをサポートしています。

デスクトップ環境とウインドウマネジャーについてどれかひとつを選択しましょ う。あるものは少しのメモリで動きますが、あるものはゲームコンソールのよ うに似せてデザインされています。KDE はもっとも Windows に似ており、私 は、Enlightenment を使った Gnome が気に入っています。どれかに決める前 に一般的なもので試してみましょう。

詳細に画面をよく見てください。そうすれば明らかな違いを見つけ出せるでしょう。

3.2.1. Windows のバージョン

Windows はデスクトップタイプに由来するもの(Windows 9x)のものと、ネット ワーク指向(Windows NT)の2系統あります。組み込みシステムとして Windows CE のようなものもあります。

訳注:Windows CE については、次のページを参考にしてください。 http://www.microsoft.com/japan/windows/embedded/

Windows 9x シリーズ

Windows 95 がリリースされる以前、バージョン3.1 までの Windows のすべて のバージョンは DOS 上で動くグラフィカルインターフェースでした。これで はマルチタスクには限界があり、プログラムマネジャーインターフェースがはっ きりした階層構造を持たないので混乱が生じます。Windows 95 は 32-bit の オペレーティングシステムで、"デスクトップ" という概念を持 つユーザインターフェース面がおもに改良されていますが、この概念は Macintosh から適用されたものです。Windows と DOS の古いバージョンでは 互換性にも限界がありました。 Windows 98 と Windows ME では安定性も改良 され、多くの新機能が加えられましたが、それらは比較的小さな変更にとどま ります。もっとも最新の Windows XP と言われる版は、Windows 2000 カーネ ルを取り込んだためにかなり安定になっており、魅力的なインターフェースを 使っているために使いやすくより易しいものとなっています。

訳注: the Windows 2000 kernel については次の記事を参考にしてください。 http://www.atmarkit.co.jp/fwin2k/special/win9xorwin2k/win2kknlover.html

Windows NT シリーズ

Windows NT はずっと安定していますが、リソースを多く使います。Intel 社 製品をサポートしており、ひところは Digital alpha と MIPS のプロセッサ をサポートしていましたが、現在はサポート対象から外されてしまったのだと 私は思っています。Windows NT は、広く使われている Windows 95 とよく似 たインターフェースを持っているので、小さな単位のネットワークで UNIX に 代って用いられました。この系列の最新版は Windows 2000 で、管理ユーティ リティや各種サービスをもう少し多く備えています。

3.3. 追加事項