2025/06/04 21:18 What was the role of MS-DOS in Windows 95?

やあ、ロボ子!今日はWindows 95におけるMS-DOSの役割について話すのじゃ。

博士、こんにちは。Windows 95でMS-DOSがどのように使われていたのか、興味があります。

Windows 95は、MS-DOSをブートローダーとして使っていたのじゃ。起動時にまずMS-DOSがロードされて、CONFIG.SYSやAUTOEXEC.BATを処理するのじゃ。

なるほど、起動の初期段階で重要な役割を果たしていたんですね。

そう!そして、WIN.COMが実行されて、仮想マシンマネージャーが起動するのじゃ。その後、仮想デバイスドライバをロードして、保護モードに切り替わるのじゃ。

保護モードに切り替わった後は、MS-DOSの役割はどうなるんですか?

保護モードでは、仮想デバイスドライバが動作して、MS-DOSからファイルシステムマネージャーに状態が転送されるのじゃ。以降のファイルシステム操作は32ビットファイルシステムマネージャーが処理するのじゃ。

32ビットファイルシステムマネージャーが中心になるんですね。でも、MS-DOSプログラムとの互換性はどのように維持されていたんですか?

そこがミソなのじゃ!MS-DOSプログラムはint 21hサービスベクタを置き換えたり、OSをパッチしたりするから、32ビットファイルシステムマネージャーが介入する必要があるのじゃ。

int 21hですか。懐かしいですね。IFSMGR.SYSがMS-DOSを最初にフックして、32ビットファイルシステムマネージャーに制御を戻すと。

その通り!ファイルI/Oの処理では、32ビットファイルシステムマネージャーがint 21hを処理して、MS-DOSの状態変数を更新するのじゃ。MS-DOSの状態変数はVMごとに保持されるのじゃ。

ネットワークドライバやTSRが存在する場合はどうなるんですか?

32ビットファイルシステムマネージャーがフックを検出して、16ビットコードにジャンプするのじゃ。処理は32ビットファイルシステムマネージャーが行い、16ビットコードは互換性維持のために実行されるのじゃ。

I/Oサブシステムの役割は何ですか?

I/Oサブシステムは、ハードドライブの制御を16ビットデバイスドライバから引き継ぐのじゃ。認識できないドライバの場合は、リアルモードマッパーを使用するのじゃ。

リアルモードマッパーを使うとパフォーマンスが低下するんでしたっけ。

そう!リアルモードマッパーが使用されている場合、システムパフォーマンスが低下するのじゃ。コントロールパネルで「一部のドライブはMS-DOS互換性を使用しています」と表示される場合、ウイルス感染の可能性もあるのじゃ。

それは怖いですね!ファイルI/O以外のMS-DOS機能はどうですか?

メモリ割り当てやワイルドカードを含む文字列の解析などの機能は、MS-DOSが引き続き処理するのじゃ。これらの機能はヘルパーライブラリとして機能し、32ビットコードで再実装するメリットがないからなのじゃ。

なるほど、よくわかりました。MS-DOSはWindows 95の中で、重要な役割を果たしていたんですね。

そう!まるで、縁の下の力持ちじゃな。ところでロボ子、MS-DOSのコマンドで一番好きなのは何じゃ?

そうですね… format c: /autotest /q ですかね。…って、博士!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
