Windows 3.1を拡張するモジュール群

Windows 3.1を活用する上で重要だったのがコンベンショナルメモリー(MS-DOSにおける640キロバイトまで利用可能なメモリー領域)の確保です。Windows 2000以前は、最初にMS-DOSが起動し、その上でwin.comを実行してWindows OSを起動していました。厳密に述べるとこのロジックはWindows 3.1で終了し、その後のWindows 95におけるMS-DOSは16ビットレガシーデバイスドライバーを呼び出すためのレイヤー的役割を担っています。そのため、Windows 3.1を有効利用するためには、MS-DOSに関する知識が欠かせませんでした。

ちょうどこの頃のMS-DOSは、CD-ROMドライブへのアクセスに書かせない「mscdex.exe」コマンドを標準添付したバージョン6がリリースされ、Windows 3.1が持つ役割と衝突するためDOSシェルの採用を見送っています。それでも、CD-ROMドライブを稼働させるためのデバイスドライバーや、日本語を表示するための表示ドライバーやフォントドライバーをMS-DOSレベルで読み込む必要がありました。このような理由から、EMS(Expanded Memory Specification)やXMS(eXtended Memory Specification)といったメモリー拡張方式を用いて、当時少しずつ搭載量が増えていた物理メモリーを活用しつつ、コンベンショナルメモリーを拡大する必要があったのです。

冒頭で述べたようにWindows 3.1自体は1992年4月6日、同日本語版は翌年の1993年5月12日にNEC版、同月18日にMicrosoft版がリリースされました。ここまでの話をご覧になった方からすれば、リリースタイミングが逆のように感じられるでしょう。いくら1992年のコンパックショックにより、DOS/V市場が黎明期から成長期に移行しつつあったとしても、長年君臨していたPC-9801シリーズのシェアは無視できないものだったのでしょう。

NEC版とMicrosoft版のリリースは6日差ですが、その一方でIBM版Windows 3.1のリリースは一カ月ほど遅れています。Windows 3.1 SDK(Software Development Kit)がIBMの手に渡ったのはMicrosoft版の発売日だったなど、さまざまな臆測が流れましたが、OS/2を発端とする当時のMicrosoft vs IBMという劣悪な関係性を踏まえると信憑性に欠けるとは言い切れません。現実的なことを踏まえますと、Microsoft版以外は異なるIMEを採用し、一部スクリーンフォントを変更するといった独自カスタマイズを行っていたため、このような発売タイミングの差が生まれたのでしょう。なお、PC/AT互換機向けやPC-9801シリーズ向け以外にも、富士通のFMR/FM TOWNS向けや、東芝のJ-3100シリーズ向けWindows 3.1がリリースされました。

さて、Windows 3.1は16ビットOSですが、この頃はワークステーション/サーバー向けOSとしてWindows NTの開発が推し進められていました。ファーストバージョンとなるバージョン3.1は1993年7月27日にリリースされていますが、こちらは完全な32ビットOSです。この32ビット時代への移行をうながすため、Microsoftは「Win32s」というドライバー/API(Application Programming Interface:簡潔にプログラムを記述するためのインターフェース)をセットの公開を行いました。もっともWin16と共有できるAPIを抜き出したサブセット版であるため、Windows 3.1が32ビットOS化するというものではありませんが、32ビットアプリケーションの開発にわずかながらでも役だった面はあったそうです(図06~07)。

図06 Windows 3.1上で32ビットアプリケーションを実行するためのAPIをサブセット化した「Win32s」

図07 動作確認用アプリケーションとして、32ビット版の「フリーセル」が添付されていました

Windows 3.1時代はこの追加モジュール形式で数多くの機能拡張が行われました。例えば「WinG」は、MS-DOS上で動作するPCゲームのようにハードウェアをダイレクトにコントロールする描画スピードを、Windows 3.1上でも実現使用と試みた拡張モジュールです。そもそもWindows 3.1の描画機能であるGDI(Graphics Device Interface)は、当時のハードウェアで高速な2D描画を行うには役不足。あくまでも噂レベルですが、Gates氏がWindows 3.0/3.1上で動作するPCゲームのチープさに憤慨したのが開発のきっかけだったという話もありました(図08)。

図08 WinG SDKに付属していたデモンストレーションの一つ「Cube」

ある程度のパフォーマンスを引き出すことは成功しましたが、当時は海外のPCゲームに魅力を感じていた筆者は、Windows 3.1を終了させてからPCゲームを起動するという手順を何度も踏んでいたことを記憶しています。なお、WinGの成果はWindows 95に引き継がれ、そのまま32ビット化したWindows Game SDKを発表。その後はDirectXへと続きます。

Windows 3.1を支えた重要な追加モジュールを紹介するのであれば、「Video for Windows」も外せません。文字どおりWindows 3.1に動画ファイルを再生するためのコーデックやAPIを追加するものです。Video for Windowsをインストールしますと、OSに付属するメディアプレーヤーもバージョンアップし、AVI形式ファイルの再生をサポートするようになりました。ちょうど同時期はApple Computerが開発したQuickTime形式の動画ファイルを再生する「QuickTime for Windows」の配布も始まり、コンピューター上で動画を楽しむ時代が花開いた時期です。その後はWindows OSの標準コンポーネントとなり、現在に至っています(図09~10)。

図09 Video for Windowsのインストール画面。記憶が確かなら、海外で行われた発表会のプレス資料としてサンプル動画も提供されました

図10 Video for Windowsインストール後のメディアプレーヤーはバージョンアップし、AVI形式のファイルをサポートします

この他にもDOSレベルでLAN Manager Clientをインストールすることで、LAN機能をサポートし、ダイヤルアップ可能なインターネット接続アプリケーションを追加することで、Internet ExplorerおよびOutlook ExpressによるWebブラウジングや電子メールの送受信も可能でした(図11)。

図11 Windows 3.1上で動作するInternet ExplorerおよびOutlook Express

さらに安定化を増したWindows 3.11 for Workgroups

このようにあらゆる面で充実したOSに成長しつつあったWindows 3.1ですが、一部のユーザーが愛用したのは、その後登場したWindows for Workgroups 3.11ではないでしょうか。そもそもWindows 3.1以降は、現在のService Pack 1に相当するWindows 3.11や、SMBプロトコル上でNetBIOSを利用可能にしたWindows for Workgroups 3.1および3.11がリリースされました。

Windows 3.11や同for Workgroups 3.1は触れていないため、ほとんど記憶にありませんが、Windows for Workgroups 3.11はネットワーク機能もさることながら、32ビットファイルアクセスをサポートしたのは最大の特徴と言えるでしょう。そもそもWindows 3.1では、MS-DOS(正しくはBIOSのファンクション)ベースでファイル管理を行っていたため、パフォーマンスに影響を及ぼす問題が残されていました。

そこでファイルアクセス方法をプロテクトモードで実行することで、大幅なパフォーマンスの向上につながります。その後のWindows 95でも、32ビットファイルアクセス機能を実装していますが、Windows 3.11 for Workgroupsは、安定したWindows 3.x環境として一部のユーザーに人気を博しました(図12)。

図12 安定動作や新機能の実装が魅力的だったWindows 3.11 for Workgroups。日本語版はリリースされていません

残念ながら日本語版はリリースされていませんが、「DDD」「DOS/Vスーパードライバーズ」をリリースしたC・F・Computingの「Win/V」をインストールすることで、日本語アプリケーションやIME、日本語TrueType/WIFEフォントが利用可能になり、日本語版とほぼ遜色なく使うことができました。当時開発に携わる方が別の編集部に在籍しており、週に一回はベータ版の更新モジュールをもらって日々の雑務をこなしていたことを覚えています。

残念ながらWin/Vは手元に残っていないらしく、その画面をご覧に入れることができませんので、本当の最終版となるWindows 3.2を画面で本稿を閉じることにしましょう。1993年11月22日には中国市場向けにWindows 3.11を簡体字中国語へローカライズした「Windows 3.2」をリリースしています。筆者も実際に使ったことはない、というよりも簡体字中国語を読めませんので、今回のインストールも少々面倒でした(図13)。

図13 中国市場向けとして簡体字中国語化したWindows 3.11。バージョン表記は「Windows 3.2」となり、中国語に関する問題のみ修正されています

このとき既にMicrosoftは、Chicago(シカゴ:Windows 95の開発コード名)の開発をスタートしており、社会現象となるWindows 95の登場までは、もうしばらく待つ必要がありました。

「Windows 3.1」の紹介は以上です。ナビゲーターは阿久津良和でした。次回もお楽しみに。

阿久津良和(Cactus

本稿は拙著「Windowsの時代は終わったのか?」を基に大幅な加筆修正を加え、公開しています。

参考文献

・A behind-the-scenes look at the development of Apple's Lisa(BYTE)
・Apple II(柴田文彦/毎日コミュニケーションズ)
・DIGITAL RETRO(ゴードン・ライング/トランスワールドジャパン)
History of OpenVMS
・History of Windows
・MS-DOSエンサイクロペディア Volume1(マイクロソフトプレス/アスキー)
・OS/2の歩みを振り返る(元麻布春男の週刊PCホットライン)
・Red Hat Linux 7.0 入門ガイド(Red Hat)
Windows Vista開発史(Paul Thurrott/日経BPITpro/)
Windowsの歴史(横山哲也)
・PC WAVE 1998年7月号臨時増刊 さらば愛しのDOS/V(電波実験社)
・Windowsプログラミングの極意(Raymond Chen/アスキー)
・Windows入門(脇英世/岩波新書)
・エニアック―世界最初のコンピュータ開発秘話(スコット・マッカートニー/パーソナルメディア)
・コンピュータ帝国の興亡(ローバート・X・クリンジリー/アスキー出版局)
・パーソナルコンピュータを創ってきた人々(脇英世/SOFTBANK BOOKS)
・パソコン創世記(富田倫生/青空文庫)
・ビルゲイツの野望(脇英世/講談社)
・月刊アスキー別冊 蘇るPC-9801伝説(アスキー)
・新・電子立国 第05回 「ソフトウェア帝国の誕生/NHK」
・闘うプログラマー 上下巻(G・パスカル・ザカリー/日経BP出版センター)
・僕らのパソコン30年史(SE編集部/翔泳社)
・遊撃手(日本マイコン教育センター)