プロセッサーに合わせた3つのモード
まずはWindows 3.0のシステム要件を確認しましょう。驚くことに現在でもMicrosoftのサポート技術情報「KB58317」として、Web上から確認できますが、ここではリアル/スタンダードモードの差異についての説明にとどまっています。そこで筆者が作成した表をご覧ください。現代のコンピューターと比べますと、驚くほど低スペックですが、この時期のコンピューターはIntel 80286に移行しつつありました。メモリ管理モードもIntel 8086相当のプロセッサーを使用するリアルモード、Intel 80286(Windows/286)向けとなるスタンダードモード、Intel 80386(Windows/386)以上はエンハンスドモードを用意。Windows/286および同386など、OSごとに異なるメモリ管理を一つのOSにまとめたのです(図04~05)。
そもそもリアルモードは、Windows 2.xとの互換を維持するために用意されましたが、続くWindows 3.1では廃止されています。スタンダードモードは、その名のとおり標準的な640キロバイトのコンベンショナルメモリに加えて、拡張メモリが使用可能。エンハンスドモードは、仮想8086モードを備えることで完全なマルチタスクを実現しています。各モードの違いを端的に述べると対応するプロセッサーが異なるだけながらも、前バージョンであるWindows 2.xでは別OSとしてリリースされていたことを踏まえると大きな進歩でした。
ちなみに、この当時からMicrosoftはシステム要件を低めに見積もる傾向があり、実用レベルで運用するには、少なくとも倍以上のハードウェアスペックが必要でした。Windows 3.0時代の筆者は趣味としてのコンピューターから離れていたため、当時触れたことはありませんが、当時の日本は80286が現役だったため、並行輸入品でWindows 3.0をインストールした方によると、エンハンスドモードの効果を実感することは少なかったそうです。
Windows 3.0はネイティブなWin16アプリケーションをマルチタスク機能で実行可能になりました。実装形式はノンプリエンプティブマルチタスク(タスク側がOSに処理を返すことで実現するマルチタスクの一種。疑似マルチタスクとも呼ばれます)を採用。なお、現在のWindows OSに至るWindows NT系では、ハードウェアタイマー割り込みを用いてOS側がマルチタスクを管理するプリエンプティブマルチタスクを採用していますが、コンシューマー向けWindows OSがプリエンプティブマルチタスクに切り替わるのはWindows 95以降です。
そのため、導入するアプリケーション側のマルチタスク処理能力が重要視され、「A社の○○はよい」「B社の△△はイマイチ」といったアプリケーションの評価が与えられ、コンピューター雑誌のレビューチェックや、パソコン通信上のコミュニティによる情報交換は欠かせないものでした。また、これまでのWindows 1.x、Windows 2.xはMS-DOSの拡張版に位置していたため、MS-DOSとWindows OSを別々に購入する必要がありましたが、Windows 3.0以降はMS-DOSが同梱(どうこん)されるようになりました。
さて、Windows 3.0の外観を目にして最初に気付くのは、OS/2に大きく類似している点です。これは前回の記事でも述べたように、MicrosoftはIBMのOS/2開発に大きく携わっており、PM(Presentation Manager:プレゼンテーションマネージャー)の開発チームへの参加が功を奏し、IBM Systems Application Architectureに含まれるCUA(Common User Access)に準拠したからです。図03と図06を見比べるとわかるように、CUAで定められたメニュー項目の下線から始まり、アイコンデザインまで同じでした(図06)。