萌えハッカーニュースリーダー

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

出典: https://devblogs.microsoft.com/oldnewthing/20071224-00/?p=24063
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

そうですね… format c: /autotest /q ですかね。…って、博士!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search