Windows_2.1 マイクロソフトが1987年12月に発売したユーザーインターフェイス。 
 基本的には2.0のマイナーバージョンアップであり、あまり大きな変化はないが 
 マウスのポインティングの精度が上がってグラフィックソフトでの操作性が飛躍 
 的に改良されたり処理速度の改善がされたりしている。 
 このバージョンは80286用のWindows/286 と 80386(i386)用のWindows/386 
 にわかれている。両者は機能的にはほぼ同じであるが、80386版では初めて 
 本格的なマルチタスクが実現され、Windows2.0の標準的なプログラム作成規約 
 を遵守したアプリケーション同士であれば、両者のソフトが同時実行できる 
 ようになっていた。 
  
 当時のWindowsは一般の人にはノン・プリエンプティブなマルチタスクと 
 うけとられていた。つまりプログラムが明示的にCPUの使用権をシステムに 
 返さない限り、ひとつのプログラムがずっと独占的にCPUを使用し続けるため 
 複数のアプリケーションを同時動作させるためには、各プログラムが一定時間 
 以上CPUを占有し続けないように、プログラム側での考慮が必要で、これが 
 Windows用のソフトを開発する上での困難さのひとつになっているとされた。 
  
 しかし実際には各プログラムはCPUの使用権を明示的にシステムに返さなくても 
 たとえばファイルを読み書きしたり、画面の描画をしたりする際にCPUは使用 
 されないでアイドル状態になる。Windows/386ではそういうタイミングをとら 
 えて、強制的にCPUの使用権をそのソフトから取り上げ、他のソフトに回すよう 
 な仕組みが組み込まれていた。 
  
 当時もっともそのことが目に見えて分かったのはWindows添付のアナログ時計を 
 2個起動してみた場合である。Windows/286で実行した場合は、両者の時計の 
 秒針は互い違いに動く。「秒針を動かす」という作業が終了するまで各アプリ 
 ケーションがCPUを占有しているためである。ところがWindows/386では両者の 
 秒針は同時に動いていた。これは描画の命令を出したところでCPUの使用権が 
 もうとりあげられて、もう一方の時計ソフトの側に渡されているからである。 
  
 ただしこの制御の仕方は別の問題も引き起こしていた。つまりCPUを手放すと 
 いうことは、その際にガーベッジコレクティングによって各プログラムが 
 使用しているメモリーブロックが移動される場合があるということでもある。 
 そうなると、それまでプログラム内で使用していたメモリーのアドレスが 
 無効になっている可能性がある。特にこの時代のWindowsは各アプリケーション 
 にインテル286/386 CPUの生のアドレスを渡していたため、この8080時代からの 
 互換性を維持するために行われている複雑なアドレス指定の方式に熟知して 
 いないプログラマには、Windows/386上のソフトの動作はきわめて理解に苦しむ 
 ものであったはずである。プログラマがこの問題に苦しめられなくなるには 
 Windows95の登場を待たなければならない。 
 また80386版のDOS窓では80386の仮想86モードを使用して各々のDOS窓で動作 
 するMSDOSプログラムが各々あたかもCPUを独占して動作しているかのように 
 動かすことが可能となっていた。 
 このバージョンまでのWindowsは単なるビジュアルな操作環境を提供するひとつ 
 のアプリケーションに過ぎない。そういう意味でInterface Manager以来の 
 初期のWindowsの流れはこの2.1で終了している。 

Windows_3.x Windows 3.0, Windows 3.1, Windows 3.11の総称。
Windows_3.0 マイクロソフトが1990年5月に発売した同社で初めての32bit版OS。  元々マイクロソフトはWindowsシリーズは2.1で終わらせる予定で、その後は  IBMと共同開発したOS/2をメインにしていく予定であった。しかしOS/2の  共同開発はIBMとマイクロソフトとのソフトウェアの開発思想の違いのため  難航を極めていた。Windows3.0の開発はその重苦しい空気の中で、Microsoft  のたったひとりの技術者の小さな試みからスタートした。  1988年の7月頃、OS/2のプロジェクトでの人間関係の摩擦などで極端な精神的  疲労に沈んでいたDave Weiss (のちのStorage Technology社長)が休養を申し  入れてIBMとの共同開発施設からMicrosoftに戻ってきた。彼はOS/2のあまりの  重たさに失望しており、いっそのことWindowsをもっと改良できないかと考えた。  Windows/386 はインテルの32bit CPU i386の上で動作しているが、元々i8086  という16bit CPU のために作られたMSDOSのアプリケーションとして動作して  いるため、本来の i386の機能を生かしきれていない。i386にはUNIXなどと同じ  純粋な 32bit のメモリ・アドレス機能が搭載されているのであるが、実際には  Windows/386は 16bitCPUの8086/80286との互換モードで動作しているため20bit  のメモリアドレスを使用していた。Weissはせっかく会社からもらった自由な  時間を使って、デバッガの上でWindows/386を動作させ、このソフトが16bit  CPU互換の機能を使用しているところをしらみつぶしに調べ上げて、そこを全部  独自に本来のi386の機能を利用するように書き替えてみた。    この試みは約1ヶ月続けられ、1988年8月ほぼ完全に32bit化されたWindowsが  完成するに至った。その試みに注目したのがマイクロソフトNo.2のSteve Balmer  であった。彼はこの試みが「行ける」と判断。Bill Gatesの承認もとって、この  新しいOSの開発に多くの人員を投入した。  そのようにして生まれた珠玉のOSがWindows 3.0 である。同じ"Windows"の名前  を使用し、アプリケーションが動いているところを見ただけでは、2.x とそれ  ほど変わった感じはしないし、また形式的にはまだMSDOSの上で動作するアプリ  ケーションの形は取っていたが、それは従来とは全く違ったソフトウェアであり、  Windowsは3.0に至ってはじめて「OS」となったのである。  (但し従来ソフトとの互換性のため16bit用のモジュールも持っている。これが  ほぼ完全に外れるのはWindows98)  Windows3.0の外見上の最大の変化はプログラム・マネージャーの搭載である。  それまでのWindowsではファイル・マネージャーが前面に出ており、Windows  に初期搭載されている以外のアプリケーションを起動するには、ファイルの  一覧からそのプログラムあるいは文書を選んでダブルクリックにより起動する  しかなかったが、プログラムマネージャーはよく使うアプリケーションの  ラウンチャーとなっていて、ここからソフトを起動することができるように  なっていた。プログラムマネージャーには実際のアプリケーションのファイル  名とは違う分かりやすい名前を8.3形式にとらわれずに長い名前で記述すること  ができたので、一見するとMacintoshのように長いファイル名が使用できるよう  になったかのように見えていた。またマイクロソフトはこのプログラムマネー  ジャーの仕組みを誰でも利用できるように、プログラムマネージャーにアイコン  を加えられるインストーラーの作成が簡単にできる仕組みを完全公開した。  またWindows3.0は内部的にも2.xとは比べ物にならないほど機能が強化されて  おり、APIも数倍に膨れあがり、プログラムから見た時のメモリの使い方も  2.xに比べるとかなり楽になっていた。また2.xのプログラミングではWindows  でどうしてもできない操作がかなりあり、わざわざMSDOSのプログラムを書いて  それを呼び出してやらねばならないようなケースが多々あったが3.0ではその  ようなことをする必要はほとんどなくなった。このため3.0以降にWindowsの  プログラム開発を始めた人たちは2.xのソフト開発者が体験したような発狂し  そうなほどの開発困難性にはぶつからずに済んだのである。    このためWindows3.0はその上で動作するアプリケーションがひじょうに多数の  ソフトメーカー、ソフトハウスから発売され、またWindows3.0自体が1000万本を  越える大きな売り上げを記録し、マイクロソフトを代表するソフトに成長する  のである。    →Windows95