
Microsoftの成り立ち
日中と比して、冷え込みが強くなる夜間の方が何故かはわかりませんが、書き物をする気になる事も多く、そこまで前向きでないにせよ、今日も入浴までの時間潰しを兼ねて一つ書きます。最近、特にX(Twitter)上で触れることが多かった米Microsoft社の成り立ちについて、知っている範囲で簡潔に書きたいと思います。
場所はアメリカ、汎用機、タイムシェアリングシステムを経て、コンピューターはいよいよ個人の手元に届く時代が迫っていました。インテルにより8080といった8ビットのプロセッサが開発され、それを利用することで1970年代の中頃に世界初のパーソナルコンピューターと言われるAltair 8800が開発・販売されます。これは、VT100といった初期の端末を接続することも可能な物でしたが、基本的にはスイッチの組み合わせで駆動するといった極めて原始的なパーソナルコンピューターでした。しかし、大型のホストコンピューターに比して当然安価であった為、全米でヒットする商品となりました。
同じ頃、米ハーバード大学に在学していたビル・ゲイツは、幼馴染みであったポール・アレンと共に、このAltair 8800用にプログラミング言語である「BASIC」を開発する事を考えました。BASICは、米ダートマス大学で考案された、割と初期の高水準言語で、比較的入門者でもプログラムを書きやすい仕様の物でした。実際に、アレンとゲイツは、汎用機であるPDP-10の上でBASICの開発を始めます。但し、この時彼らの手元にはAltair 8800の実機はなく、それを擬似的に再現する「エミュレーター」を開発し、その上で動作するBASICの開発を行いました(アレンがエミュレーターを開発し、ゲイツがBASICを開発したと思いますが正確かどうかわかりません)。
彼らは、その完成したBASICを持って、Altair 8800の開発者の元を訪れます。そこでデモンストレーションを行い、その直後は動作しなかったとされますが、短期間で不具合の修正を行って彼らのBASICはAltair 8800用の最初の高水準言語としてリリースされました。これは、Altair 8800ユーザーの間で爆発的に普及し、諸説あるようですがこの時「Microsoft」が誕生したと言われています。ちなみに、このBASICは購入よりもコピーで広がり、そのことがその後のMicrosoftのソフトウェアビジネスの進め方にかなりの影響を与えたようです。
時は進み、IBMが主にビジネス用のパーソナルコンピューターとして、今に続くPC/AT互換機のルーツであるIBM PCの開発を行います。IBMは、このコンピューター用のOS開発は自社では行わない、として他に開発された物から採用することとしました。その時のIBMの交渉先には、当時OSの分野で最も有名だった、ゲイリー・キルドールのデジタルリサーチ社がありましたが、キルドールはその自社OSである「CP/M」をIBM PCに搭載する事には同意しませんでした。
ゲイツとアレンのMicrosoftは、このIBM PC用のOSへの参入を目指しましたが、当時の彼らの元にはパーソナルコンピューターに適したOSがなく、新規開発することも容易ではなかった為、CP/Mの互換OSである「86-DOS」という物に目を付け、その権利を買い取ることを考えました。この過程で、86-DOSの開発者であるティム・パターソンと交渉したのがゲイツで、彼は、その納入先がIBMであることを伏せたまま86-DOSの多くの権利を買い取ることに成功しました。その後、Microsoftはこの86-DOSを改良し、IBM PC用にリリースします。これが、後世で言ういわゆる「MS-DOS」の走りとなります。
MS-DOSはIBM PCの普及と共にその利用が拡大しました。ファイルシステム等も順次改良され、より実用的なシステムへと進化していきましたが、その一方でAppleに採用されているようなグラフィカルユーザインターフェースは搭載しておらず、その点ではAppleの製品には見劣りがする物でした。そこで、MicrosoftはMS-DOSの「シェル」として動作するグラフィカルユーザインターフェースを開発しリリースします。これが今日のWindowsに続くルーツとなります。初期のWindowsは「タイルウィンドウ」という仕組みを採用する物で、AppleのOSには大きく劣りましたが、次第にバージョンアップしより実用的な物へと進化していきます。普及に大きく貢献したバージョンが、よく知られたWindows 3.1となります。
その後、パソコンの普及と共にネットワークの利用も拡大しますが、当時のMS-DOSおよびWindows 3.1には通信の機能がありませんでした。そこで、MicrosoftはWindows 3.1に通信の機能を付加し、これは日本ではリリースされませんでしたが、米国ではWindows For Workgroupとしてリリースされ、Windowsのビジネス利用に一役貢献しました。
時代は流れ、時はインターネットとTCP/IPの時代に差し掛かります。その時点でもTCP/IPのプロトコル・スタックを標準で搭載していなかったWindows 3.1は、当時、その点でもUnixやAppleには見劣りする物でした。そこで、この時に開発販売されたのが、それらを内包して利用できるようにした、よりGUIが洗練され通信機能の充実したOSであるWindows 95となります(但し、初期版のWindows 95では、TCP/IPは標準ではなかったようです)。これは世界的に爆発的にヒットし、今日の個人コンピューティングのあり方を定義付けた物と言えるかも知れません。TCP/IPは後継のWindows 95 OSR2で標準となり、それがWindows 98以降にも継承され、この系列はWindows MEまで続くこととなります。
一方、MS-DOSをベースにするWindows 95は、主記憶の利用にまだ制限のある物であったため、32ビットプロセッサのメモリー空間を有効に利用することが出来ない物でした。この為、そういったメモリーの最大利用が可能なより堅牢なOSとして、Windows NTが開発されました。ここに至り、Windowsは漸く32ビットのメモリー空間をフルに利用できるようになりました。Windows NTは3.51でより実用的になり、その後、DECから招聘したデビッド・カトラーらによって、より洗練され堅牢なOSであるWindows NT 4.0が開発されます。このOSはビジネスシーンで広く利用され、その後Windows 95系列とWindows NT 4.0系列はAPIを共有して統合され、Windows 2000、Windows XPとして普及して行くこととなります。今日のWindows 11等は、このWindows XPの後継と言うことが出来ると思います。
気付けば3000字近くとなり、Microsoft社の歴史というよりパソコンOSの歴史みたいになったのでこの辺にします。MS-DOSからWindows 3.1に至る過程で、オフィススイートであるMicrosoft Officeも開発リリースされ、それもWindows 95の普及と共に主にビジネスシーンで広く利用され、OSと共にコンピューティングの事実上の標準(ディファクトスタンダード)となっていきます。これが、今日のMicrosoftを築いた礎と言って過言でないかと思います。今回はここまでです。以上です。