マイクロソフト40周年(4) - Xenix

公開:2015-04-11 19:56
更新:2017-11-15 21:58
カテゴリ:マイクロソフト,マイクロソフト40周年,コンピュータの歴史

XenixというUNIX互換OSをマイクロソフトがかつて開発・販売していたことをご存じだろうか。英語版ウィキペディアに歴史が比較的詳細に記載してあるので引用・翻訳してみる。

UNIXデベロッパーであるベル研究所は、ベルシステムの部分的制約によりUNIXを販売することができなかった。代わりにソフトウェアを外部にライセンスしていた。マイクロソフトはパソコンの能力が十分に強力になるとUNIXが将来のOSになると予測し、1978年にAT&TからUNIX Version 7のライセンスを購入した。そして1980年の8月25日16ビットPC市場で利用できるようにするとアナウンスした。マイクロソフトはUNIXの名前の使用を許諾されていなかったため、オリジナルの名前を与えた。

マイクロソフトは同様にエンドユーザーには直接Xenixを販売せず代わりにIBM・インテル・タンディ・Altos・SCO・シーメンスのようなOEMにライセンスした。それから彼らのプロプライエタリなコンピュータ・アーキテクチャにXenixを移植した。

Microsoft XenixははじめPDP-11で動作した。最初の移植はザイログ Z8001 16bitプロセッサ用であった。最初の顧客は1981年1月にイリノイのセントラル・データ・コーポレーションに出荷され、1981年3月にパラディン・コーポレーションのZ8001製品が続いて出荷された。最初の8086プロセッサへの移植はアルトス・コンピュータ・システムの(IBM PC非互換の) 8600シリーズ用(最初の顧客への出荷は1982年の第一四半期)であった。インテルはインテル システム86ブランド(86/330や86/380Xのような特定のモデル)の下でXenixを付けた完全なコンピュータを販売した。またインテルはiSBCブランド下でコンピュータ作成用の独立した基板も提供した。これらはiSBC86/12のようなプロセッサ基板やiSBC 309ようなMMU基板も含まれていた。最初のインテル用Xenixシステムは1982年6月に出荷された。タンディは1983年初期にTRS-80モデル16 68000ベース コンピュータの既定のOSをTRS-XenixとしたときXenixのインストール・ベースは2倍となり、1984年に最大手のUNIXベンダとなった。シアトル・コンピュータ・プロダクツは1983年後期もしくは1984年の初期にGazelle IIに似たS-100バスを使用しXenixをバンドルした(IBM PC非互換の)8086コンピュータを作成した。IBM System 9000への移植もあった。

SCO最初にDynxというUNIX Version7をPDP-11に移植したものを動かしていたが、1982年にXenixの上で共同開発と技術交換のための協定をマイクロソフトと締結した。1984年に68000ベースのApple Lisaへの移植製品がSCOとマイクロソフトと共同で開発され、最初のシュリンクラップ・バイナリー製品としてSCOによって販売された。

マイクロソフトはOEMに対し、8086およびZ8000ベースのマシンへの移植の困難さは標準的なメモリ管理機構と保護機能の欠如であると発言した。ハードウェア・メーカーは自身のハードウェア設計によって補償したが、複雑さは”ゼロからXenixのようなシステムをサポートすることができるコンピュータを開発する非常に小規模のメーカーにとって不可能ではなくとも困難に”し、”Xenixカーネルは、各々の新しいハードウェア環境に個別に作成しなければならなかった”。一般的に利用可能なインテル 8086/8088アーキテクチャへの移植は1983年あたりにサンタ・クルズ・オペレーションによって行われた。PC XT用のXenixは1984年に出荷され、4.2BSDのを若干強化し、Micnetローカル・エリア・ネットワークをサポートしたものが収められていた。後の286バージョンのXenixは286プロテクトモードで動作させるため、チップ上に統合されたMMUを使用するように強化された。286用のXenixはXenixのOEMからの新しいハードウェアによって追従された。たとえばSperry PC/ITというIBM PC ATクローンはこのバージョンで同時に8人のダム・ターミナルユーザーをサポートする能力があると宣伝された。

Xenixバージョン2.0まではUNIXバージョンベースであったが、バージョン3.0はUNIXシステムⅢコードベースにアップグレードされた。1984年のインテルXENIX286マニュアルにはXenixカーネルはこの時約10000行であると記載していた。XENIX5.0中のシステムV.2コードベースが後に続いた。

マイクロソフトはXenixが持っていたのでMS-DOSオペレーション・システムではマルチユーザー・サポートを省略した。マイクロソフトは68000,Z8000,LSI-11で動作し、シングルユーザーXenixもしくはXEDOSと見分けがつかないくらいにMS-DOSを改良する計画であった。それらはXenixと上位互換性があり、1983年のBYTE誌は”未来のマルチユーザーMS-DOS”と記述していた。マイクロソフトはDOSとXenixをそれぞれの特徴である"シングルユーザーオペレーティング・システム”と"マルチユーザー,マルチタスキング,UNIX継承のオペレーティングシステム”と一緒に一覧で表示し、またそれらの間で容易な移植性を約束すると宣伝していた。

ベルシステム解体の後AT&TはUNIXを販売し始めた。マイクロソフトはUNIXデベロッパーとは競争できないと考え、Xenixをやめることを決定した。この決定はすぐには公にされなかった。そしてXenixはベイパーウェア(実体のないソフトウェア)という用語を生み出した。IBMとOS/2を開発することに合意し、そしてXenixチームは(最高のMS-DOS開発者とともに)そのプロジェクトに割り当てられた。1987年にマイクロソフトは所有権の25%を残す契約でSCOへXenixの所有権を譲渡した。やがてマイクロソフトが同様にOS/2への興味を失った時、それはWindowsNTのハイエンド戦略の基礎となった。

1987年にSCOは32ビットチップである386にXenixを移植した。この後マイクロソフトはこれ以上Xenixを開発しないというマイクロソフト内部からの秘密情報があった。Xenix System V release 2.3.1ではi386・SCSI・TCO/IPをサポートすると説明された。SCOのXenix System V/386はx86CPUアーキテクチャ向け市場で最初に利用可能となった32ビットオペレーティングシステムであった。

マイクロソフトは内部ではXenixを使用し続けた。そして1987年にXenixとSCO UNIXのコードベースから発生する、UNIXの機能をサポートするパッチをAT&Tに送信した。マイクロソフトは1992年なってもまだサン・ワークステーションとVAX ミニコンピュータ上でXenixを使用していたといっている。すべてのマイクロソフトの内部メール転送は1995-96年までXenixベースの68000システムが使用されその後Exchange Serverに移行した。

SCOはハイエンドの製品としてSCO UNIXをリリースし、System V.3をベースにしXenixよりも先進技術を提供した。Xenixは製品ラインにとどまった。一方でAT&TとSun MicrosystemsはSystem V Release 4でXenix・BSD・SunOS・SystemV.3の統合を完成した。SCO Xenixの最後のバージョンは1991年にリリースしたSystem V.2.3.4であった。

怪しげな翻訳部分もあるがおおよそはあっていると思う。

このようにマイクロソフトはMS-DOSの上位OSとしての位置づけでXenixを開発していたのである。OS/2に始まるシングルユーザー・マルチタスクOSの開発に注力するため、激しい競合が予想されるXenixをマイクロソフトは切り捨てたのだ。OS/2は失敗したがそれをベースにしたWindows NTは結果的に成功した。今のWindowsはNTカーネルがベースだからね。WindowsNTもXenixの技術が生かされているようだね。

もしXenixを切り捨てなかったらおそらくWindows NTはなかっただろうし、WindowsもひょっとするとUNIXベースになっていたかもしれない。そうであれば世の中はもっとすっきりしていたかもしれないね。