初めて Windows 95 をインストールしようとすると、PC ユーザーにはグラフィックのない退屈なテキスト インターフェイスが表示されます。 DOS が文字を使って「グラフィックをシミュレート」できるのは事実ですが、Windows チームは、以前に利用できたコードを活用することで、より賢明なアプローチを取ることにしました。
30 年以上 Windows の開発に参加している Microsoft 社員の Raymond Chen が、彼の有名なブログ「OldNewThing」に新しい記事を公開しました。このソフトウェア プログラマーは最近、Windows 95 のインストールとセットアップのエクスペリエンスについて再び話し合いました。これは、顧客の PC でのさまざまな使用シナリオに対応するために 3 つの異なるオペレーティング システム環境を使用する非常に複雑なプロジェクトです。
Chen 氏は、MS-DOS がグラフィックスを適切に管理しているため、Microsoft のエンジニアは理論的にはグラフィックス設定アプリケーションを開発できると述べました。しかし、DOS のグラフィック処理方法は非常に原始的で、時間がかかりました。プロンプトベースのオペレーティング システムでは、画像が画面に表示されるのを積極的に妨げることはありませんが、プログラマはすべてのグラフィックス機能を手動で実装する必要があります。
Chen 氏は、MS-DOS は個々のピクセルを描画するために BIOS を呼び出すこと以外にグラフィックス プリミティブを提供していないと説明しました。いずれの場合でも、BIOS ベースのアプローチは理想的ではありません。フレーム バッファ (グラフィックス カード メモリ) への直接アクセスのみがグラフィックス操作のパフォーマンス向上を最小限に抑えるためです。要約すると、Windows95 インストール チームは理論的には独自のグラフィックス ライブラリを最初から作成する必要がありました。
そしてこれはほんの始まりにすぎません。 Windows 95 の最小要件には VGA グラフィックス カードが含まれているため、チームは CGA や EGA などの前世代のグラフィックス カードを考慮する必要がありませんでした。セットアップ プログラムはいくつかのダイアログ ボックスを表示する必要があるため、プログラマーは、ウィンドウ間のキーボードの「タブ」とクイック ショートカットとしてのホットキーをサポートする新しいウィンドウ マネージャーを作成する必要がありました。
セットアップでは、簡単なアニメーションも管理しながら、日本語や中国語などの表意文字ベースのアルファベットもサポートする必要があります。 Chen氏は、こうした余分な作業はすべて、Windows 95環境の起動に必要な「基本的な」インフラストラクチャに組み込む必要があり、独自のプロテクトモードマネージャによるメモリの拡張/拡張を完全にサポートする必要があると述べた。
このため、開発者は Windows 95 セットアップで起動するための新しいオペレーティング システムを作成する必要がありますが、Microsoft はすでにその用途に最適な製品を販売しているため、これは時間の無駄です。チェン氏は、Windows 95セットアップの最終バージョンで使用されたWindows 3.1ランタイムには、MS-DOS下で「グラフィックスをシミュレート」するために必要なものがすべて含まれており、独自のビデオドライバ、グラフィックスライブラリ、ダイアログマネージャなどを使用して完全にデバッグも行われていると説明した。
Microsoft は今日に至るまで同じコード ループを使用しています。 Windows の最新バージョンでは、セットアップ プロセスを開始するために「小さな」オペレーティング システムをインストールする必要があります。この最小限のオペレーティング システム環境は現在 Windows プレインストール環境 (Windows PE) であり、オペレーティング システム自体に問題がある場合に Windows を修復するためにも使用されます。