
「Windows温故知新」第10回 Windows NT 3.1~サーバーOSへの本格参入~
マイクロソフトが本格的にサーバーOSに参入したのがWindows NT 3.1です。商業的にはそれほど成功しなかったものの、大きな注目を集めました。Windows NT 3.1は、現在のWindows Serverの直接の先祖であり、内部構造もそれほど大きくは変わっていません。
目次
マイクロソフトのサーバーOS
連載第8回「Windows 3.0 ~GUI時代の到来~」で紹介したように、マイクロソフトはWindows 3.1でビジネス分野にGUIを持ち込むことに成功しました。しかし、企業システムとしては大きな欠点がありました。それは、競争力のあるサーバーOSを持っていなかったということです。
もちろんWindows 3.1にも多くの問題があったのですが、それでも「今、動くものがある」ということで、ビジネス的には好調でした。しかしサーバーOSはそもそも存在しないので、競争以前の問題です。
正確には、Windows 3.1までにマイクロソフトはサーバーとしても利用可能なOSを2つ提供していました。
1つはUNIXベースのOSであるXENIX(ゼニックス)で、1980年に発表されています(対象CPUはインテル8086)。ただし、こちらは1984年に権利を手放しているので、Windows 1.0(1985年)の時点で既に存在しませんでした。UNIXは高機能であるものの、当時のマイクロソフトの主力OSであるMS-DOSとは構造が大きく異なり、アプリケーションの互換性もなかったことで、開発を継続する価値はないと判断したのでしょう。
もう1つはIBMと共同開発していたOS/2で、1987年に発売されています。前述のXENIXの権利を手放したのは、機能の問題だけでなく、OS/2の開発に注力するためという面もあります。OS/2は、MS-DOSとの互換性を保ちつつ、プリエンプティブなマルチタスクを実装するなど、優れたOSでした。サーバーとしてもクライアントとしても利用可能で、一時はMS-DOSの後継OSとも言われていたのですが、商業的にはそれほど成功しませんでした。
結局、マイクロソフトは独自にサーバーOSを提供することを決め、Windows NTの開発に着手します。開発コード名は「OS/2 3.0」で、これが後の「Windows NT」です。IBMとマイクロソフトはビジネス上の衝突もあったようで、1993年にWindows NTの最初のバージョンを公開し、ある程度成功したことを確認してから1994年にOS/2プロジェクトから撤退します。
マイクロソフトが撤退したあともIBMは単独でOS/2のバージョンアップを重ね、1995年の「OS/2 Warp 3」では、Windows 95対抗製品として、山口智子を使ったテレビCMも登場しています。その後も「OS/2 Warp 4」(1996年)を発表し、継続的なアップデートが行なわれましたが、2002年に開発終了、2006年にサポートも終了しています。
Windows NT 3.1の名前の由来
OS/2に代わってマイクロソフトが独自開発したOSがWindows NT 3.1(1993年)です。Windows NTは、もともとUNIXと同様のコマンド中心のOSとして計画されたのですが、途中からWindows 3.xとの互換性を考慮したGUIベースとすることになりました。Windows 3.xのGUIについては以下も参照してください。
連載第4回「Windows操作時の音やアニメは本当に必要だったのか?」
Windows NTのNTは「New Technology」の略だったのですが、その後「現在では単にハイエンドWindowsの意味でしかない」ということになっています。少し前のWindowsの起動画面には「Built on NT Technology」という文字があって、多くの人が「NTのTはTechnologyの略だからおかしいだろう」と突っ込んでいましたが、公式には問題なくなりました。
3.1は互換性を意識した「Windows 3.1」に由来します。Windows NTの開発責任者はDEC(Digital Equipment社)出身のデビッド・カトラーで、過去にDEC PDP-11用のOS「RSX-11M」の開発に携わったほか、PDP-11後継機種であるVAX-11用のOS「VAX/VMS(後のOpenVMS)」の開発リーダーを務めていました。
PDP-11の11はPDP-1から始まる通し番号ですが、VAXシリーズはVAX-11が最初です。PDP-11との互換性を想起させるために11という数字を付けたそうです。Windows NT 3.1の3.1も同様にWindows 3.1を想起させるためだそうです。
写真1:VAX-11およびPDP-11とVAX-11の系統図
絶滅メディア博物館併設の消えたカタログ図書館にあったVAX-11のカタログより
デビッド・カトラーはDEC社内でも有名なエンジニアだったのですが、担当していたプロジェクトがキャンセルされ、実質的に「干された」状態になっていたようです。そこでマイクロソフト共同創業者で当時のCEOだったビル・ゲイツ氏がマイクロソフトに引き抜くことに成功しました。人を落とすには弱っているときが一番です。ちなみにVMSのアルファベットを1文字ずつ後ろにずらすとWNT、つまり「Windows NT」になるという説があります。デビッド・カトラー自身は肯定も否定もしていないのですが、おそらくそういうことなのでしょう。
Windows NT 3.1の過酷な開発プロジェクトは、書籍「闘うプログラマー」で詳しく紹介されています。非常に面白い本なので、Windows NT開発の経緯に興味のある方はぜひ読んでください。
Windows NT 3.1の時代は、トレノケートの前身である「グローバルナレッジネットワーク」のさらに前身となった「日本DEC教育部」がマイクロソフト製品のトレーニングを本格的に開始した時期でもあります。最初はWindows 3.0/3.1で、少し遅れてWindows NT研修が始まったと記憶しています。
写真2:マイクロソフト認定トレーナーのピンバッジ
LAN Manager
話は少し戻ります。連載第1回では、MS-DOS 3.0(1984年)でネットワーク機能が追加された話をしました。当初はMS-DOS上で動作するMS-NETWORKS(1985年)をサーバーとして使う構成だったらしいのですが、すぐにサーバーOSが登場します。このときに採用されたのがOS/2上で動作するLAN Manager(1987年)でした。
LAN ManagerはUNIX版も存在し、これをベースにさまざまなOSに移植されました。私自身はDECのOpenVMSオペレーティングシステム上で動作するPATHWORKSを使ったことがあります。
LAN Managerが使っていた認証方式は「LM認証」または「LAN Man認証」と呼ばれるものです。LM認証はセキュリティ上のリスクがあるためWindows 2000の頃には非推奨となり、現在ではほぼ使われていませんし、使うべきではありません。
Windows NT 3.1はOS/2 LAN Managerの後継としての役目もありました。そのためWindows NTのインストールメディアにはMS-DOSで動作するLAN Managerクライアントが、以下の3つのプロトコルとともにバンドルされていました。複数設定することもできたと思うのですが、メモリ不足になるので通常はどれか1つを選択しました。
-
NetBEUI…NetBIOS Extended User Interface: LAN内でのみ利用可能な(ルーティング不可の)軽量プロトコル
-
IPX/SPX…NetWareが利用していたプロトコル
- TCP/IP…インターネットの他、現在もっとも広く使われているプロトコル
1枚のネットワークインターフェースカード(NIC)で複数のプロトコルを同時に動作させるための仕様をNDIS(Network Driver Interface Specification)と呼びます。当初のNDISはMS-DOS用でしたが、バージョンアップを重ね現在のWindowsでも使われています。
MS-DOS LAN Managerクライアントはアプリケーションごとに使用するプロトコルが決まっていましたが、Windows NTからはアプリケーションとプロトコルが分離されました。この仕組みを「TDI(Transport Driver Interface)」と呼びます。TDIを使うことで、どのアプリケーションも、すべてのネットワークプロトコルを使えるようになりました。なお、TDIはWindows Server 2008/Windows Vistaで非推奨となり、現在では使っていません。TDIの役割は「WFP(Windows Filtering Platform)」に移行しました。
図1:NDIS(Network Driver Interface Specification)
NetWare
OS/2 LAN Managerの後継としての役割も持ったWindows NTでしたが、そもそもOS/2 LAN Manager自体がそれほど人気のあるサービスではありませんでした。当時、PCのネットワークシステムの代名詞となっていたのがノベルNetWareです。
NetWareは、ユーザー認証やファイルサーバーなどサーバー機能のみを提供するOSなので、「NOS(Network OS)」とも呼ばれます。Windows NTに比べると機能は制限されますが、軽量なこともあってファイルサーバーを中心に広く使われていました。特に、NetWare 3.11J(1992年)や3.12J(1994年)は多くの企業で広く使われていたので、懐かしく思う方もいらっしゃるでしょう。弊社でもNetWareの公式教育コースを提供していました。
写真3:Novell NetWareトレーナーのピンバッジ
NetWareの特長は、とにかくファイルサーバー機能が高速なことで、「ハードディスクより速い」と有名でした。1990年頃のハードディスクはアクセスタイム20ミリ秒、転送速度は2Mバイト/秒程度でした。一方、当時のLANの速度は10Mbps(ざっと1Mバイト/秒)と、転送速度は遅いのですが、ディスクアクセス順序の最適化やキャッシュ機能を駆使してアクセスタイムを短縮し、トータルでハードディスク以上の性能を出したようです。このときのディスクアクセス順序の最適化手法を「エレベーターシーキング」と呼びます。興味のある方は調べてみてください。
NetWareが使っていたネットワークプロトコルがIPX/SPXで、大規模ネットワークにも対応するため社内標準プロトコルとして使う企業も多かったようです。ネットワーク番号は16進数で表記する習慣でしたが、27階フロアは27F、カフェテリアはCAFEなどと語呂合わせをする会社もありました。
1996年発売のMicrosoft Proxy Serverには、社内のIPX/SPXをTCP/IPに変換してインターネットと通信する機能がありました。社内でそれだけ普及していたということでしょう。
なお、Windows NT 3.1に付属していた「NWLink IPX/SPX」はIPX/SPXのプロトコルは提供するものの、NetWareクライアントの機能は提供しませんでした。これが利用可能になるのはWindows NT 3.5の「CSNW(Client Service for NetWare)」からです。CSNWはWindows Server 2003まで提供されました。
図2: NWLink IPX/SPXとNetWare
日経BP「Windows NT 4.0完全技術解説」より引用(赤文字筆者)
図3:Client Service for NetWare
日経BP「Windows NT 4.0完全技術解説」より引用(赤文字筆者)
TCP/IP
1993年当時、TCP/IPは社内ネットワーク用としてそれほど有力なプロトコルとはみなされていませんでした。TCP/IPを使ったインターネットは研究者用のネットワークであり、企業システムに必要な信頼性を備えていないとも言われていました。
TCP/IPの開発コンセプトは「Rough Consensus and Running Code」、つまり細かな意見の相違にはこだわらず、大まかな合意(Rough Consensus)が得られれば前に進み、厳密な仕様書よりも実際に動くコード(Running Code)つまり実装を優先するという思想にあります。また、TCP/IPの規格は「Internet Draft」として誰でも提案でき、議論にも自由に参加できます。こうした公開された議論のプロセスはTCP/IPの大きな魅力です。
しかし、実装を急ぐあまりセキュリティが後回しになったり、特定の実装だけに含まれた拡張が事実上の標準として扱われるようになったりした例も少なくありません。一方で、こうした「いい加減」に見えるプロセスが、「柔軟性」という大きなメリットを生み、短期間での急速な進化を可能にしたことも事実です。
TCP/IPの対極にあったのが、当時実装が進みつつあった「OSI(Open Systems Interconnection)参照モデル」に基づくネットワークです。こちらは「国際標準化機構(ISO)」という国家標準団体で構成された組織で定義されていました。国家を代表する組織の集まりですから、厳密さが重要です。そのため、仕様策定に時間がかかり、その実装も大幅に遅れていました。
「いい加減さもあるものの、今すぐ使えるプログラムがあるTCP/IP」と、「厳密だが、実現が遅いOSI参照モデル」があったとき、アプリケーション開発者としては動くものを優先したいでしょう。こうしてTCP/IPが広まっていきました。
これを後押ししたのが、1995年あたりから本格化するインターネット商用化の流れです。そして、どうせTCP/IPを使うのなら、社内ネットワークもTCP/IPにしようというのは自然な流れです。こうして「イントラネット(Intranet)」が登場しました。「TCP/IPによる社内ネットワーク」のことですが、名前を付けることで目新しさが生まれ、TCP/IPの普及に貢献しました。「inter」が「~の間」を意味するのに対して、「intra」は「~の内部」の意味を持っています。語呂が良かったもの注目された要因です。
Windows NT 3.1のTCP/IP
このように、Windows NT 3.1が登場した1993年当時のTCP/IPは今ほど重視されていませんでした。そのためかWindows NT 3.1のTCP/IP性能には課題がありました。主な理由はTCP/IPの実装に「STREAMS」という汎用通信サービスを使ったためです(STREAMSはUNIX System Vで使われていた技術ですが、マイクロソフトの実装に問題があったようです)。
TCP/IPを本格的に実装したのはWindows NT 3.5(1994年)からです。WebブラウザーとしてNetscape Navigatorが登場し、インターネットの私的利用が活性化する時期と重なりました。Netscape Navigatorは既に開発とサポートを終了していますが、実質的な後継ソフトウェアとしてMozilla Firefoxがあります。
インターネットの私的利用
もともとインターネットは研究者のためのネットワークであり、商用利用には制限がありました。商用利用が解禁されたのは、米国では1991年、日本は1993年ですから、Windows NT 3.1が登場した1993年の時点で、インターネット利用者の大半は大学と企業の研究機関でした。
研究者向けではあるものの、用途は研究に限定したものではないため、私的なやりとりも多く見られました。アニメやアイドルなどを扱うメーリングリストや電子掲示板もあり、今のSNSのような雰囲気もありました。ただし、趣味の掲示板であっても、発言するときは研究者らしく所属と氏名を名乗るのが基本でした。最近は「インターネットは匿名が基本」と言っている人もいるようで、世代間ギャップを感じます。
もっとも、実名だからといって必ずしもマナーが良いわけではなく、罵倒合戦もしばしば起きていました。この状態は当時から「炎上(Flaming)」と呼ばれています。しばしばフレームを起こす人の中には、有名大学の著名な研究者も混じっていましたが、実は「斉藤由貴メーリングリスト」に登録しているという噂を聞いて、なんとなく許せそうな気がしてきました。個人的な趣味がわかると親近感を覚え、少々乱暴な対応をされても気にならなくなりませんか? ちなみに、特に興味はないと思いますが、私が今推しているアイドルは皆本しいね(君のメインヒロイン)です。
Windows NTとWindows NT Advanced Server
当初、Windows NTの位置付けは不明瞭な部分もありました。製品ラインアップは以下の2つです。
-
Windows NT 3.1
-
Windows NT 3.1 Advanced Server
Windows NT 3.1は、一般サーバー用途に提供され、クライアントとして使うこともできる製品でした。しかし、高価なこともあって、実際にクライアントとして使っていた人は少ないと思います。
一方の、Windows NT Advanced Server 3.1はLAN Managerを拡張したネットワーク管理サーバー「ドメインコントローラー」専用の製品です。ファイルサーバーなど、一般のサーバーとしても使えるのですが推奨されません。Windows NT 3.5以降とは位置付けが違います。
表1: Windowsのサーバーとクライアントの対応
対応CPUは、インテルi386、DEC Alpha、MIPS Rシリーズの3種類です。もちろんi386版が最も売れたのですが、DEC Alpha版もそこそこ売れたのではないかと思います。1990年代、インテルのCPUは性能が伸び悩んでおり、次世代CPUとしてRISCプロセッサが期待されていました。こうして制定されたのが「ARC(Advanced RISC Computing)」で、DEC Alpha、MIPS R、IBM PowerPCなどが参入していました。PowerPC版のWindows NTは 3.51と4.0でサポートされています。
ちなみに、RISC版(つまりi386以外)のWindows NTの起動メカニズムは現在のUEFIベースのシステムとよく似ています。ある程度は参考にしたのではないかと思います。
Windows NTの研修
Windows NTが登場して、本格的な教育市場がスタートしました。そこで、同僚はマイクロソフト本社まで受講に行くことになりましたが、彼女は運転免許を持っていません。マイクロソフトの本社はシアトル近郊のレドモンド、研修はその隣のベルビューだったそうです。空港からシアトル市街までは高速バスがあり、ベルビューにはそこから乗り合いバスで行けるのですが、たいへん面倒です。現在は空港からベルビューやレドモンドまでLink Light Railという電車があるようですが、当時はありませんでした。
運のいいことに、勤務先の日本DECからはDEC Alphaプロセッサ用Windows NT開発チームに出向している人が何人かいたので、つてをたどってシアトルに常駐している社員にコンタクトし、空港まで迎えに来てもらうことになりました。このときに車を出してくれたのが、のちにマイクロソフト界隈では名の知れた存在になる偉い人です。業界の大物に迎えに来させた同僚は「○○を運転手代わりに使った女」として知られるようになりました(そう呼んでいるのは私だけですけど)。
最近は、人数の多い研修だとホテルからマイクロソフトキャンパス(社内エリアを「キャンパス」と呼びます)まで無料バスを運航してくれることもあるのですが、当時はそういう気遣いは全くなく、レンタカーを借りるのが常識でした。
一方、私はWindows NT 3.1のビデオ教材を制作していました。まったく新しいOSということで,アーキテクチャから説明しています。残念なことにこの教材は手元に残っていません。A4のレポート用紙(ページ)を使った仮想記憶の説明などは自信作だったのに、お見せできないのが残念です。
写真4:シアトルといえばスターバックス創業の地
シアトルのPike Placeにある1号店では、オーダーすると名前を聞かれ、カップに記入してバリスタに投げます。
終わりに
今回はマイクロソフトの事実上初のサーバーOS「Windows NT 3.1」について取り上げました。次回はWindows NT 3.5から4.0に至るまでの話をしたいと思います。
参考文献
「Windows NT 4.0完全技術解説」日経BP
及川卓也(著)・横山哲也他(共著)
主な出来事
1980年 XENIX
1983年 NetWare 1.0
1984年 マイクロソフトXENIXを手放す
1984年 MS-DOS 3.0ネットワーク機能追加
1985年 MS NETWORKS
1985年 Windows 1.0
1987年 OS/2およびLAN Manager
1991年 インターネット商用化解禁(米国)
1992年 NetWare 3.11J
1992年 Windows 3.1 (日本語版は1993年)
1993年 インターネット商用化解禁(日本)
1993年 トレノケートの母体となった「日本DEC教育部」マイクロソフト認定教育コース提供開始
1993年 Windows NT 3.1
1994年 Windows NT 3.5
1994年 NetWare 3.12J
1995年 Windows NT 3.51、IBM OS/2 Warp 3
1996年 Windows NT 4.0、IBM OS/2 Warp 4
1996年 Microsoft Proxy Server 1.0
1994年 マイクロソフトOS/2から撤退
2002年 OS/2開発終了(IBM)
2006年 OS/2サポート終了(IBM)
Microsoft認定トレーニングならトレノケート
横山 哲也(よこやま てつや)
1994年から現在まで、Windows Serverの全てのバージョンで教育コースを担当。2005年からはサーバー仮想化、2014年からMicrosoft Azure関連コースを担当。 現在は、AzureとWindows Serverを中心に教育コースを実施しているほか、新規コースの企画・開発も担当している。 2003年から2018年まで16年連続でMicrosoft MVPを受賞した。
主な著書には、「ストーリーで学ぶWindows Server」、「ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築 第4版(日経BP)」、「グループポリシー逆引きリファレンス厳選98(日経BP)」、「徹底攻略 Microsoft Azure Fundamentals教科書 [AZ-900] 対応 第2版」がある。
趣味は写真、好きなサービスは「Active Directoryドメインサービス」、推しているアイドルは「皆本しいね(君のメインヒロイン)」。
【資格・認定】
Microsoft Certified Trainer (MCT)
Microsoft Certified: Azure Solutions Architect Expert
Microsoft Certified: Azure Administrator Associate
Microsoft Certified: Azure Fundamentals
Microsoft Certified Solutions Expert: Cloud Platform and Infrastructure
Microsoft MVP (2003年~2018年)
EXIN Cloud Computing Foundation
AWS 認定クラウドプラクティショナー
※詳細な講師紹介は こちら




