Microsoft Windows 3.x(マイクロソフト ウィンドウズ 3.x)は、メジャーバージョン番号が3であるMicrosoft Windowsの総称。Windows 2.xの後継である。2001年12月31日(米国日時)にサポートは終了している。

主に、1990年に発売された「Windows 3.0」(日本語版は1991年)と、1992年に発売された改良版「Windows 3.1」(日本語版は1993年)を指す。その他、一部機種ではマルチメディアに対応した「Windows 3.0 with Multimedia Extensions(Windows MME)」も提供され、幾度かのマイナーバージョンアップが行われた。英語版ではネットワークをサポートする「Windows for Workgroup(Windows 3.1ベース)」も発売された。

なお、追加モジュールとしては、32ビットアプリケーションを動作させるための「Win32s」、画像表示を高速化するための「WinG」、AVI形式の動画を再生するための「Video for Windows」、LANに接続するための「LAN Manager」、インターネットや電子メールを利用するための「Internet Explorer(16ビット版)」がある。

Microsoft Windows 1.0 - 3.xは、16ビットオペレーティングシステム(OS)のMS-DOS上で動作するGUIフロントエンドであり、Windows 3.0までは「オペレーティング環境()」と呼ばれていたThe Windows 3.0 environment | Emerald Insight。Windows 3.1からは「オペレーティングシステム」という名称になったがNECパーソナルコンピュータ PC-9800シリーズ 98MATE ソフトウェアセットアップガイド、実際には3.1も独立したオペレーティングシステムではない。いずれも、MS-DOSまたは互換環境(DOS/VやDR-DOSなど)、あるいはOS/2のWindows互換環境から起動させるものであり、事前にそのようなOSをコンピュータ上で動作させておく必要がある。Windows 3.1以前は、MS-DOSの拡張製品としてそれぞれが別々に販売されたため、MS-DOSなどを持っていない場合は、別途購入する必要があった。

機能 Windows 2.x(Windows 2.11, Windows/386 2.11)の後継となるWindows 3.0は、ユーザインタフェースの大幅な改良と、Intel 80286や80386プロセッサのメモリ管理機能を有効活用する技術的な改善が行われた。

グラフィカルユーザインタフェース(GUI)機能を持ち、複数のタスクを同時実行できるマルチタスクが可能なことが利点であった。しかし、1つのWindowsプログラムがCPUを占有してしまい、他のプログラムが止まってしまうこともあった(ノンプリエンプティブ)。Windows/386では、MS-DOS用のテキストモードプログラムは全画面を占有し、ショートカットキーで画面を切り替える仕様となっていたが、Windows 3.0ではウィンドウ内で動作させることができ、旧来のプログラムも擬似マルチタスクとして利用できるようになった『MS-Windowsとは何か - ウィンドウがパソコンを変える』、第4章 ウィンドウズとメモリの戦い、108-147頁。。しかし、家庭向け市場では多くのゲームやエンターテイメントソフトがMS-DOSへの直接アクセスを必要としていたため、あまり恩恵を受けられなかった。

Windows 2.xは、メニューやウィンドウ枠で非常に限られた色しか使うことができなかったが、Windows 3.xのアイコンやグラフィックは、EGAやVGAモードで16色を完全にサポート。256色VGAモードやMCGAモードが初めてサポートされた。また、ディスプレイ出力に使用するカラーパレットはディスプレイドライバが管理し、アプリケーション毎には論理的なカラーパレットが用意されたことで、アプリケーション側はカラーパレットの状態や制限を気にする必要がなくなった。

MS-DOSウィンドウ(ファイルマネージャ・プログラムランチャー機能)は、アイコンベースの「プログラムマネージャ」と一覧ベースの「ファイルマネージャ」に置き換えられた。前バージョンではアプレットとなっていた「コントロールパネル」は、AppleのClassic Mac OSと類似のものに作り替えられた。

幾つかの簡単なアプリケーションも同梱された。テキストエディタのメモ帳、文書作成ソフトのライト(後のワードパッド)、一連のキー操作やマウス操作をマクロとして記録して後で実行できる「レコーダー」、ペイント、電卓など。ゲームは、Windows 3.0ではリバーシに加えてソリティアが搭載され、Windows 3.1ではソリティア・マインスイーパが付属された。

Windows 3.0に搭載されたプロテクトモードやエンハンスドモードは、DOSアプリケーションで行われていた方法より簡単に、より多くのメモリをWindowsアプリケーションで使えるようになった。Windows 3.0では、リアルモード(8086相当CPUの機能を利用)、スタンダードモード(80286相当CPUの機能を利用)、386エンハンスドモード(i386相当CPUの機能を利用)があり、通常は自動で適切なモードを選択するが、/r(リアルモード)、/s(「スタンダード」286プロテクトモード)、/3(386エンハンスドプロテクトモード)といったスイッチを使って、特定のモードで起動することもできた。386エンハンスドモードではやや動作が重くなり、実用的には486以上のマシンパワーを必要とした「特集 Windows 3.0とは何か - ついに日本語版が発売となるWin3を解剖する」、Windows 3の動作モードは選べるの?、 245頁。。

プロテクトモードの恩恵 Windowsは、Windows 3.0のスタンダードモードおよびエンハンスドモードからプロテクトモードが本格的にサポートされた。

厳密には、WindowsはWindows/386からプロテクトモードを利用しているが、このバージョンでは内部的に80386で導入された機能をプロテクトモードで使用し、アプリケーションには仮想86モードを提供するというものであり、EMS対応MS-DOSアプリケーションと同様に実行プログラムを数百KBという限られたスペースに収まるよう作る必要があった。また、EMSはバンク切り替えがあるため、その切り替え作業にかかる時間だけ低速になる。特に、大規模なアプリケーションは、ほぼ常時バンク切り替えを繰り返すために低速だった。これが、Windows 3.xのスタンダードモードとエンハンスドモードは、Windowsの大半のモジュールがプロテクトモードで動作する16ビットのコードで構成され、アプリケーション(WIN16アプリケーション)もプロテクトモードで動作する16ビットのコードで構成されるように変更された。さらに、エンハンスドモードでは、80386で導入されたメモリ管理機能をプロテクトモードで動作するシステムのコードに実装し、IA-32のページングを利用した仮想記憶もサポートし、実メモリ以上のメモリをアプリケーションが確保できるようになった。また、Windows 用のデバイスドライバとして、80386で導入された機能をプロテクトモードで活用した VxD デバイスドライバもサポートされた。従来のWindowsは常にメモリが不足気味だったが、3.0からのプロテクトモードをサポートした結果、Windows自身とそのアプリケーションは、(コンベンショナルメモリ)+(EMS)よりも高速で大量のメモリを使用可能なプロテクトメモリを利用可能になった「特集 Windows 3.0とは何か - ついに日本語版が発売となるWin3を解剖する」、Part3 どんなアプリが使えるのか : 米国ソフトでアプリケーション環境を見る、 pp.248-250。そのため、MS-DOSではメモリ不足から実現不可能だった大型アプリケーションも、Windows用に開発されるようになった。

ユーザインタフェース GUIは、マイクロソフトがIBMと共同開発していたOS/2 1.2のプレゼンテーション・マネージャと類似の外観をしている。ウィンドウのメニューバーとパネル本体という構成や、ダイアログボックスなど、IBMが提唱したSystems Application ArchitectureのCommon User Access (CUA) におおむね準拠している。しかし、シフトキーとマウスを組み合わせた操作はCUAでの規定に反しており、完全準拠ではない『MS-Windowsとは何か - ウィンドウがパソコンを変える』、96頁。。このデザインは、アップルより同社が開発したClassic Mac OSのルック・アンド・フィールを盗用したとして、Windows 2.xとともに著作権侵害が指摘されたが、裁判ではアップルの訴えは退けられ、後に両者は和解した(詳細はWindows 2.0#アップルとの法的抗争を参照)。

ウィンドウ 一番右上(タイトルバーの右端)のボタン[▲]は最大化(全画面表示)のボタンで、既に最大化している場合は、ウィンドウ表示に戻すボタン(上下に▲と▼が並んだ[◆]状のボタン)が表示される。その隣のボタン[▼]は最小化(タスクアイコン化)のボタンである。Windows 95以降でのウインドウを閉じる[×]に相当するボタンは存在しない。終了は、タイトルバー左上の[-]ボタン(コントロールメニューボックス)やメニューバーからのプルダウンメニューから行えるが、左上の[-]そのものをダブルクリックすることでも終了する「特集 Windows 3.0とは何か - ついに日本語版が発売となるWin3を解剖する」、Part1 どんな環境になるのか、 230-241頁。。MS-DOSボックスの場合は、メニューバーやタイトルバーから終了させることはできず、コマンドプロンプトでEXITと入力する必要がある「第6章 MS-DOSアプリケーション」『Microsoft Windows Operating System Version 3.1 機能ガイド』、318-356頁。。また、エンハンストモードであれば、Control-Alt-Deleteでアクティブなウィンドウの強制終了が行える。 ポインティング 当時はまだ、マウスは推奨であって必須ではなかった「1章 : はじめに」『Microsoft Windows Operating System Version 3.1 お使いになる前に』、2-4頁。。セットアップ時にマウス無し(使用しない)を選択することもでき、Windowsの主要システム自体は、キーボードだけでも操作できるようになっていた。ただし、実際にはGUIである以上はマウス前提で作られたアプリケーションが少なくなく、Windows 95以降はマウスが必須になっている。 なお、右クリックによる操作はアプリケーション側で対応している場合にのみ有効であり、Windowsを操作する上では特別な意味合いを持っていなかった。Windows標準付属のアプリケーションとしては、ペイントブラシやマインスイーパが右クリックを活用できる。 シェル Windows 3.xで標準のシェルは、後述のプログラムマネージャというメニューソフトに相当する機能を持つプログラムランチャーだった。また、設定を変更することにより、ファイルマネージャやそれ以外(コマンドプロンプトやNorton Desktopなどのサードパーティー製シェルソフトなど)の特定のアプリケーションをシェルに指定することも可能である。 なお、プログラムマネージャ・ファイルマネージャともに、親画面の中で子画面を複数開くことができた(MDI)。 プログラムマネージャ プログラムの起動は、原則としてプログラムマネージャから行う。プログラムマネージャはプログラムを表す「アイコン」およびアイコンを分類する「グループ」を画面に表示するためのプログラムであり、アイコンをダブルクリックすることでプログラムを起動することができた。ただし、プログラムマネージャ上のアイコン(およびグループ)とディスク上のファイル(およびディレクトリ)との間には対応関係が無く、後のエクスプローラーのように、ファイルを操作する機能は統合されていない。 ファイルマネージャ ファイル操作は、Windows 2.x以前のシェルだった「MS-DOSウィンドウ」に似たファイルマネージャというプログラムで行う。ファイルのダブルクリックでプログラムを直接実行することもでき、拡張子によるアプリケーションの関連付けもファイルマネージャ上で行うことができる。Windows 2.xでMS-DOSアプリケーションを実行するには、PIFファイル(情報ファイル)にあらかじめ実行環境を設定する必要があったが、Windows 3.0ではPIFファイルがなくても標準設定で実行するようになった「特集 Windows 3.0とは何か - ついに日本語版が発売となるWin3を解剖する」 p.235。MS-DOSウィンドウはファイル名が羅列されるだけであったが、ファイルマネージャでは画面左に現在開いているディレクトリの位置を示すディレクトリツリーが表示され、画面右には項目名とその種類を示す小さなアイコンが一覧表示されるようになった。プログラムマネージャやデスクトップのタスク(後述)と違って、「大きなアイコン」を表示する機能は無い。また、ファイルの種類毎にアイコンが用意されたWindows 95以降と異なり、ファイルマネージャでは自身の持つ数種類のアイコンしか表示できなかった。 ファイルマネージャには2000年以上の年表示が文字化けするという不具合があったが、後に2000年問題対応版がマイクロソフトから配布された。 デスクトップ デスクトップの領域には、実行中のプログラムを最小化したときのアイコンが表示される。ファイルなどのオブジェクトを置くことのできるデスクトップ・メタファーではなく、Windows 95以降でのタスクバーに相当する場所であった。Windows 2.xからの変更点として、画像や模様を背景として飾ることができるようになった。デスクトップをダブルクリックすると、タスクマネージャに似た画面を呼び出すことができた。

マルチメディア アップルは、1991年6月にQuickTimeを発表、12月には出荷しており、パソコン市場拡大の陰りから、新しい分野としてマルチメディアが担がれていた時期であった「第五章 ウィンドウズでマルチメディア」『WINDOWSの時代 - マイクロソフトはパソコンをどう変えるか』 pp.141-162。

Windows 3.0は、当初動画や音声を扱うことができなかった。それらのマルチメディア機能は、1991年10月に「Windows 3.0 with Multimedia Extensions」というWindows 3.0の拡張版およびアップグレードキットとしてリリースされた。その後、Windows 3.1では標準でマルチメディア機能が搭載された。

同時に、マイクロソフトや複数のパソコンメーカーにより、マルチメディア対応パソコンを認定するため (MPC)規格が策定されたが、最初のバージョンにおける最小構成のパソコンでは、多くのアプリケーションで力不足であった。日本でも、当時標準でマルチメディア機能を使えるWindowsの存在したPCはFM TOWNS程度だった。

それでも、Windows 3.1でマルチメディア機能が標準搭載された利点はあり、FM音源程度しか持たないMPC以前の機種であっても、簡単なMIDIファイル程度のマルチメディアであれば、OS標準で利用できるようになった「98は本当にMacに追いついたか?」、月刊ソフマップワールド1994年4月号(Vol.56)、p11。。

1992年11月には、動画再生をサポートするVideo for Windowsも発表された。当初サポートしていた解像度やフレームレートは320x240ピクセル/30fpsと低かったものの、AVIが再生できるようになり、マルチメディアCD-ROMソフトがWindows 3.1向けに発売されるようになった。マイクロソフトからはVideo for Windowsの発表と同時に、エンカルタとの2本のCD-ROMソフトが発表された。1995年に入るとGPUの性能競争が一時的に停滞し、代わりに動画の拡大表示を綺麗に行う補間機能といった動画再生支援機能が注目されるようになった。

MPC規格のバージョンアップは、PC/AT互換機ではWindowsの環境改善よりもDOSの環境改善としての効果が大きく、結果としてゲームプレイには最低の環境だったPC/AT互換機を、一気にPCゲーム標準機まで押し上げることになった。ただし、このことがゲーム環境のWindowsへの移行を遅らせる原因になり、マイクロソフトがWinGやDirectXを開発する強い動機となった。

ネットワーク / インターネット Windows 3.0、3.1では、標準でネットワーク(LAN)機能自体が搭載されておらず、LAN Manager ClientなどDOSベースのネットワーク機能に頼っていた。LAN Manager ClientはWindows NT ServerのCD-ROMなどに収録され、TCP/IPやNetBEUI、NetWare互換プロトコルなどのプロトコルが使えた。また、Windows for Workgroups(WfW)3.1はWindows 3.1にWindowsベースでのネットワーク機能を付加するアドオンとして発表、販売された。ただし、この段階ではネットワークプロトコルとして、NetBEUIかNetWare互換プロトコルしか選択できなかった。その後、WfW 3.11が完全なWindows製品として発売され、このWfW 3.11向けにTCP/IPプロトコル用ドライバも提供された。

WfWの日本語版は発売されなかったため、日本のユーザーが手軽にネットワークを組むには、Windows 3.1との互換性に乏しく高性能パソコンを要求するWindows NTを購入するか、Windows 95の登場を待つしかなかった。

日本では、1994年時点で個人ユーザーにインターネット接続サービスを提供するISPがIIJと富士通(InfoWeb、1999年にニフティへ統合)の2社しか存在せず、まだ黎明期にあった。1995年に入るとISPは10社以上になり、インターネットを取り扱った参考書も急増した。しかし、Windows 3.1標準ではネットワーク機能は搭載されていないため、市販のInternet CHAMELEON(ネットマネージジャパン、19800円)といったダイヤルアップ接続ツール(ダイヤラー、メーラー、FTPクライアントなどをまとめたパッケージ)を購入するか、パソコン通信を通じてTrumpet Winsockといったツールを揃えていく必要があった。ウェブブラウザにはNCSA Mosaicやその後に登場してすぐに標準となったNetscape Navigatorが使われた。

Windows 95と同時発売のMicrosoft Plus!に同梱されたウェブブラウザ「Internet Explorer」は、1996年4月にWindows 3.1対応の16ビット版が公開され、これにはメーラーのOutlook Express(16ビット版)やダイヤラーなどが添付されていた。インターネットの閲覧や、メールの送受信はInternet Explorer添付のダイヤラーを使ったダイヤルアップの他、LAN Manager Clientをインストールしてある場合やWfWではLAN経由でも可能である。ただし、Internet Explorer標準添付のダイヤラーはPC/AT互換機用のため、PC-9800シリーズでダイヤルアップ接続する場合は市販ソフトなどを別途用意する必要があった。

設定ファイル 各プログラムの設定は、それぞれのプログラムが持つiniという拡張子が付けられたファイル、もしくはwin.iniやsystem.iniなどのWindowsのシステムファイルで行っていた。Windowsそのものの設定もwin.iniとsystem.iniで行っていた。これらはテキストファイルであり、標準で付属するシステムエディタ(sysedit)などのテキストエディタで編集を行うことができた。また、設定変更ミスや諸々のトラブルから、Windowsが起動しなくなっても、MS-DOS環境からテキストエディタを使ってwin.iniやsystem.iniの中身を修正して復旧することができた。これらの設定内容は、マイクロソフトが監修した解説書『Windows 3.1 リソースキット』で公開された「第4章 初期化ファイルの設定内容」『Windows 3.1 リソースキット』、 pp.243-331。Windows 3.1の登録情報データベース(後のレジストリ)は、ファイルマネージャで開くファイルのフォーマットとアプリケーションとの関連付けやOLE情報に使用されるのみであった「第11章 OLEの設定と利用方法」『Windows 3.1 リソースキット』、 pp.488-503。

メモリ容量の最大値 Windows 3.0やWindows 3.1では、32ビット386プロテクトモードではなく16ビット286プロテクトモードで動作していたため、標準構成では64KBセグメント・メモリモデルを使用するようになっていた。しかし、32ビットCPUではプログラマーはより大きなメモリポインタにアクセスして、プログラム・セグメントをどんな大きさにも拡張することができた(セグメント・ディスクリプタが24ビットであるため最大サイズは16MBに制限されている)。当時のWindows APIファンクションは16ビットであったため、それらは32ビットポインタを使用できず、コードに32ビット命令を含んでいてもDOSと同様に、64KBセグメントでOS呼び出しを行うプログラムコードの一部を配置する必要があった。このため、理論上は4GBのメモリ空間を使用できる386以上のCPUであっても、Windows 3.0は合計16MBのメモリにしかアクセスできない。

Windows 3.1では16MBの制限はなくなり、理論的には最大4GBのメモリを使用できる(現実的な上限は256MB)。ただし、先述のとおり1つのプログラムが使用できるメモリは最大16MBである。

32ビットへの限定的な対応 Windows NTの登場による32ビットOSへの移行を促す意味もあり、Win32sというドライバ/APIがマイクロソフトから供給された。これは、Windows 3.1の386エンハンスドモード上で動作する32bitプログラムのためのドライバ/APIであり(WinNTのAPIであるWin32のサブセットなのでWin32s)、これによりアプリケーションをWindows 95やWindows NTと共通の32ビットコードでWindows 3.1に供給することが可能になり、初期の32ビットアプリケーションの開発を多少容易にした。

また、ファイルシステムにおいてはBIOSを介した16ビットディスクアクセスが基本的に用いられていたものの、Windows 3.1の386エンハンスドモードでは常設スワップファイルに対してのみ、32ビットでのアクセスが可能となった。さらに、Windows for Workgroups 3.11では完全な32ビットディスクアクセスが実現され、ディスクアクセスを高速化させることを可能にした。

システム要件 Windows 3.0(英語版)の公式なシステム要件は、以下のようになっている。 + Windows 3.0(英語版) システム要件 プロセッサ 8086/8088プロセッサ 物理メモリ 384KBの空きコンベンショナルメモリ(リアルモード)、1MB(スタンダードモード)、2MB(エンハンスドモード) ハードディスク 6-7MBの空き容量 MS-DOS バージョン 3.1以上 ディスプレイ CGA、EGA、MCGA、VGA、Hercules、8514/AまたはXGAグラフィック、および互換モニターその他マイクロソフト互換マウス推奨 Windows 3.1では、リアルモードが廃止されたため、8086/8088プロセッサ搭載機種は動作対象外になった。

Windows 3.1へのアップグレード Windows 3.1には、Windows 3.0からアップグレードすることができる。また、インストール先ディレクトリを変更すれば、旧バージョンと共存することもできる。Windows 2.11以前の場合は新規セットアップを行うことになる。「2章 : セットアップを始めよう」『Microsoft Windows Operating System Version 3.1 お使いになる前に』、6-57頁。

Windows 3.1から新しいバージョンへのアップグレード Windows 3.1からは、Windows 95かWindows 98(Second Editionも含む)にのみアップグレードできる。その後継であるWindows MeやWindows 2000にできない。また、Windows 95かWindows 98のどちらにアップグレードしても、後にそのバージョンをアンインストールしてWindows 3.1に戻せる。

開発とリリース Windows 3.0 Windows 3.0は、25人で構成された開発グループ「Win3チーム」によって2年半の期間で開発された。画面デザインはWindows 2.1のユーザーの意見を取り入れ、旧バージョンの赤と青の組み合わせからビジネス環境に適した落ち着きのある色彩に変更された。

1990年5月22日、Windows 3.0はで正式に発表された。この模様は、米国7都市の会場とロンドンやアムステルダムといった世界各地の12都市の会場にテレビの生中継で報道された。これには、300万ドルという多額の宣伝費が投入され、さらに広告や25万枚の体験版ディスク配布、デモンストレーション、セミナーに700万ドルの予算が組まれていた。

日本では、1991年1月23日(日本時間)に日本電気よりPC-9800シリーズ用が発売され「日電、次世代主流OS発売―高級パソコン向け、初の日本語化、追随も。」『日本経済新聞』 1991年1月24日朝刊、13面。、それに追随して約20社のパソコンメーカーからも発売された。PC/AT互換機で動作するDOS/V対応版は、日本IBMより1991年3月13日に発売された「日本IBM、パソコン拡張の基本ソフトも発売。」『日経産業新聞』 1991年3月14日、6面。。

Windows 3.1 Windows 3.1(コードネーム:Janus)は、1992年4月6日にシカゴで開催されたWindows Worldで正式に発表された「Part.1 パソコンの標準OSとなったウィンドウズ」『マイクロソフト・ウィンドウズ戦略のすべて - 新情報ネットワーク時代への挑戦』 pp.34-65。マイクロソフトはWindows 3.1の出荷にあたって125万本を用意した。世界中の9カ所のマイクロソフト製造工場が一日三交替でディスクを生産し、最初の1か月で800万枚以上のディスクが生産され、英語版と同時に6言語がリリースされた。

後に、アップデートがリリースされ、雑誌の付録CDやニフティサーブなどのパソコン通信で修正ファイルが配布された、また、マイクロソフトからディスクを送付するサービスも存在した。